前段时间在使用DirectX进行texture-blending操作时,发现D3DTOP_DOTPRODUCT3操作描述的比较粗略,在使用的时候与预计的结果相差十分大。于是把自己试验的结果记录一下。

当时在使用D3DTOP_DOTPRODUCT3操作时,在DirectX文档查询了它的计算公式:

SRGBA = (Arg1R  ×Arg2R + Arg1G ×Arg2G + Arg1B ×Arg2B )

但是发现如果按照公式去计算,根本达不到想要的效果。在文档的第一句说明“Modulate the components of each argument as signed components”也不知道DX是怎么调整的。相关的资料也没有怎么查询到。后来在一个偶然的机会给我看到一段代码:

D3DXVECTOR3 vNormal;

D3DXVec3Cross( &vNormal, &v10, &v01 );

D3DXVec3Normalize( &vNormal, &vNormal );

DWORD rR = (DWORD)(127.0f * vNormal.x + 128);

DWORD rG = (DWORD)(127.0f * vNormal.y + 128);

DWORD rB = (DWORD)(127.0f * vNormal.z + 128);

于是猜想“Modulate the components of each argument as signed components”应该是减去128然后再除以127,但是怎样才能证实自己的想法呢?其实,在使用D3DTOP_DOTPRODUCT3的COLOROP操作时,我们可以自己把这个计算放在一个纹理里,然后再使用D3DTOP_SELECTARG1,D3DTSS_COLORARG1指向D3DTA_TEXTURE,如果两次计算出来的结果是一样的,那么就说明了这个公式基本上是一致的。

最后得出的结果是:

SRGBA = ((Arg1R - 128)/127.0f ×(Arg2R - 128)/127.0f +

(Arg1G - 128)/127.0f ×(Arg2G - 128)/127.0f +

(Arg1B - 128)/127.0f ×(Arg2B - 128)/127.0f)

D3DTOP_DOTPRODUCT3的计算公式相关推荐

  1. unity剩余高度自适应实现办法

    image.png 先创建一个父容器,我这里是父pannel, 然后第一个子容器也为pannel, 这时候发现宽度和高度是没有的,按shift+alt然后选中 top+center image.png ...

  2. 卷积后feature map尺寸计算公式

    像素宽度:W(Width) 填充大小:P(Padding) 卷积核大小:K(Kernel-size) 步长大小:S(stride) 卷积后所得feature map尺寸大小计算公式如下: 补充: 1. ...

  3. 周长相等的正方形面积一定相等_必考单元:三年级下册面积计算公式+知识点+测试卷(附答案),重点内容,收藏练习!...

    <面积>公式 知识点 面积和面积单位: 1.常用的面积单位有:(平方厘米).(平方分米).(平方米). 2.理解面积的意义和面积单位的意义. 面积:物体表面或封闭图形的大小,叫做它们的面积 ...

  4. 平均符号熵的计算公式_交叉熵(Cross Entropy)从原理到代码解读

    交叉熵(Cross Entropy)是Shannon(香浓)信息论中的一个概念,在深度学习领域中解决分类问题时常用它作为损失函数. 原理部分:要想搞懂交叉熵需要先清楚一些概念,顺序如下:==1.自信息 ...

  5. 太阳直射点纬度计算公式_高中地理——每日讲1题(二十四节气、正午太阳高度、日出时间)...

    知识点 (1)二十四节气 地球绕太阳公转,公转一周接近360°,将它分为24份,即为24节气.因此从立春开始,地球每绕太阳公转15°,即度过一个节气. 地球公转一周的周期为365日5时48分46秒,分 ...

  6. 分类模型的ROC曲线、AUC值、GINI系数、Lift、Gain、KS指标分别是什么?计算公式是什么?有什么意义?

    分类模型的ROC曲线.AUC值.GINI系数.Lift.Gain.KS指标分别是什么?计算公式是什么?有什么意义? 目录

  7. 总分的公式计算机,装机模拟器各配件跑分及计算公式分享 3DMark分数怎么算 3DMark分数计算公式_游侠网...

    装机模拟器3DMark分数怎么算?游戏中有些玩家不知道怎么计算3DMark分数,这里给大家带来了"阿三日山姆"提供的装机模拟器各配件跑分及计算公式分享,一起来了解下吧. 推荐阅读: ...

  8. 固定资产拆分比例怎么计算_财税知识:固定资产处置增值税是怎么计算的?涉及哪些计算公式?...

    固定资产处置增值税是怎么计算的,会涉及到哪些公式呢?企业固定资产的处置,是需要缴纳相应的增值税的.那么到底如何计算呢? 固定资产处置增值税是怎么计算的?涉及哪些公式? 自2009年1月1日开始,纳税人 ...

  9. 2d的公式_钢筋下料计算公式分享,助你提高施工效率!

    在钢筋混凝土结构工程中,有许多形状各异.功能不同的钢筋,比如纵筋.分布筋.拉结筋.箍筋.弯起钢筋.架立筋.马凳筋等等,这些钢筋共同组成了结构构件的钢筋骨架,共同发挥各自的作用. 但是从钢筋厂家运进施工 ...

最新文章

  1. 通过shell将*.txt文本内容批量录入mysql
  2. R语言使用ggplot2包的快速可视化函数qplot绘制分组直方图(分组颜色设置)实战
  3. 皮一皮:男女的不同...
  4. [RHEL5企业级Linux服务攻略]--第6季 Vsftpd服务全攻略之常规配置
  5. 19道小米运维面试题
  6. vue(el-button的五种类型,三种css格式)
  7. java电子通讯录毕业设计_(C)JAVA001电子通讯录(带系统托盘)
  8. java中主函数_(基础)java中的主函数
  9. java wait() notify_Java的wait(), notify()和notifyAll()使用小结
  10. matConvNet学习-使用GPU
  11. 什么叫大数据人物画像_【说大数据】人物画像 :大数据时代的心灵捕手
  12. 最新kali之bulk_extractor
  13. 关于瑞星杀毒软件无法完全卸载、自动重装的无奈,与相应的解决办法
  14. OllyDebug破解第一个 CM 程序 《Acid burn.exe》
  15. 互联网医疗十大公司排名
  16. Android_Message里面彩信图片的压缩方法
  17. vuejs2.0 vsCode router前后端分离权限 vueAdmin后台基础模板
  18. 6.824 Spring 2021 -- Lab 2A
  19. 【Codeforces 785D】范德蒙恒等式
  20. 面向对象设计思想-基本概念

热门文章

  1. vb安装过程中 ntvdm.exe[9696]中发生未处理的win32异常 vb代写
  2. pdf翻译器哪个好?这几个pdf翻译软件能支持一键翻译
  3. 软件架构模式 mark Richards - 读后总结 5 - 基于空间的架构
  4. 微软bing搜索好强大
  5. zoho邮箱收费和免费区别_使用Zoho Reports和XML在云中探索分析
  6. python画气泡图_用Python把图做的好看点:用Matplotlib做个比较气泡图
  7. PreTranslateMessage(MSG* pMsg)专题
  8. 会议OA之我的会议(排座送审)
  9. 对Android开发者有益的40条优化建议
  10. PS改变图片颜色的方法