Modulate是颜色操作中的一个术语,可以理解为颜色乘法。两个颜色相乘,或者一个颜色与一个标量相乘。叫做modulation(调制?)。一个渲染中的三角形,其上某个像素的颜色由多个颜色源组合而成。通常来说,其中一个颜色来自纹理,另一个来自三角形顶点的插值,这两者的乘积就是最终的颜色,在这种情况下,我们称纹理的颜色被顶点插值的颜色modulate。

在纹理混合的时候,有一种混合方式就叫做modulate,也就是将纹理的颜色与顶点的diffuse color相乘。具体代码如下。

第一行选择color1的来源,这里是纹理。

第二行选择color2的来源,这里是顶点的diffuse color。

第三行指定两个颜色的操作,这里是modulate,也就是相乘。

// Set color source and operation
g_pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
g_pd3dDevice->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);
g_pd3dDevice->SetTextureStageState(0, D3DTSS_COLOROP,   D3DTOP_MODULATE);

效果图

一张木质纹理,一个蓝颜色,modulate之后效果如下

在DirectX中有多种纹理混合的方式,Modulate是其中一种,其他常见的还有:

  • add = one one
  • modulate or filter = zero src_color or dst_color zero
  • modulate2x = dst_color src_color
  • blend = src_alpha one_minus_src_alpha
  • opaque = one zero

等号右边的两个参数分别对应下面这个混合公式的srcFactor和destFactor。

Final color = srcColor * srcFactor + destColor * destFact

DirectX所支持的所有混合类型列表在这里。

From Mathnmatics for 3D Game Programming and Computer Graphics-Third Edition(p158)

本文转自zdd博客园博客,原文链接:http://www.cnblogs.com/graphics/archive/2012/09/10/2679376.html,如需转载请自行联系原作者

什么是Modulate?相关推荐

  1. ssbdemod在matlab中的意义,matlab中modulate函数

    (7)利用 MATLAB 中的 demodulate 和 modem.qamdemod 函数生成解调器对 16QAM 信号的解调,并将十六进制信号转化成二进制比特流信息. (8)用得到比特流信息除以. ...

  2. R语言使用magick包的image_modulate函数、image_fill函数改变图像的亮度、饱和度、色调、渲染指定位置为特定颜色(Modulate and paint an image)

    R语言使用magick包的image_modulate函数.image_fill函数改变图像的亮度.饱和度.色调.渲染指定位置为特定颜色(Modulate and paint an image) 目录

  3. 相分离文章专刊 mTOR 信号调控相分离 mTOR Regulates Phase Separation of PGL Granules to Modulate Their Autophagic

    mTOR 信号调控PGL的相分离来调控其自噬过程 mTOR Regulates Phase Separation of PGL Granules to Modulate Their Autophagi ...

  4. Paper reading (八十):Persistent microbiome alterations modulate the rate of post-dieting weight regain

    论文题目:Persistent microbiome alterations modulate the rate of post-dieting weight regain scholar 引用:16 ...

  5. modulate与modem

    以4-QAM 调制为例,调制解调的基本过程为: h = modem.qammod(4); % 建立调制对象 y = modulate(h,x); %调制输入数据x hDemod = modem.qam ...

  6. UE4 Additive和Modulate模式

    效果 说明 这两种比较简单 Additive 最终颜色 = 背景颜色 + 材质颜色 x opacity Modulate 最终颜色 = 背景颜色 x 材质颜色

  7. Matlab 中modulate(X,Fc,Fs,METHOD,OPT)函数每一个参数的具体含义

    参数x为调制信号序列,fc为载波频率,fs为采样频率,'method'参数用来决定进行何种调制,opt为调制灵敏度,也就是线性调频信号的步进系数.

  8. log4j 压缩日志_Spring Boot 日志各种使用姿势,是时候捋清楚了!

    来自公众号:江南一点雨 1. Java 日志概览 1.1 总体概览 1.2 日志级别 1.3 综合对比 1.4 最佳实践 2. Spring Boot 日志实现 2.1 Spring Boot 日志配 ...

  9. log4j2配置实例[按小时记录日志文件]

    log4j2.xml文件配置实例:<?xml version="1.0" encoding="UTF-8"?> <configuration ...

最新文章

  1. iOS架构-静态库.framework(引用第三方SDK、开源库、资源包)(9)
  2. DualCircleList
  3. Hive Cilent数据操作
  4. 岩板铺地好吗_别人都说岩板好,我笑他人乐太早
  5. stlink 升级固件以后失败_ST-Link不能下载程序的几种解决办法
  6. 1.8 编程基础之多维数组 22 神奇的幻方 python
  7. 服务器新硬盘如何挂在,Ubuntu服务器挂载新硬盘的步骤
  8. 【Java】浅显理解 hashcode 和 hash 算法
  9. 必学:入行电商产品经理必备知识,原来这么简单
  10. VS2015社区版、企业版、专业版下载官网地址
  11. linux bond服务是什么,linux 查看bond
  12. 程序员如何缓解自己内心的焦虑与烦躁
  13. 2-3-4 Tree
  14. 高精度红外测温仪单片机开发
  15. 【华人学者风采】王祥科 华北电力大学
  16. 台积电:3纳米芯片工厂地址首选台湾 美国次之
  17. 【mysql】获取指定日期是当年第几周,指定日期所在周的开始和结束日期
  18. 迪赛智慧数——其他图表(平行坐标图):世界杯历史个人进球排名TOP10
  19. mongodb系列02-------深入理解索引原理
  20. android编辑框禁用emoji表情和颜文字

热门文章

  1. ll命令不可用,ll:未找到命令 问题解决
  2. 最新精品商业端剑侠情缘网络版Ⅱ第八版降龙端+VM单机一键端+视频教程+GM命令代码
  3. Python中的幸存者实体提取和网络图
  4. 2021年金属非金属矿山(地下矿山)安全管理人员考试总结及金属非金属矿山(地下矿山)安全管理人员作业模拟考试
  5. vue自定义组件的点击事件失效
  6. Unity 代码混淆Obfuscation
  7. Vscode python调试
  8. java 本地图片压缩 转base64并限制文件大小
  9. Pandas数据分析-Task2
  10. 甘南佛教圣地----拉卜楞寺参访 2018年5月21日