D3DCOLOR 是一个DWORD 型。第一个byte表示Alpha值,后面三个byte依次是r(红)g(绿)b(蓝)值。32位。

下面是一些关于D3DCOLOR 的宏:

  • D3DCOLOR_ARGB(a,r,g,b) - 第一个byte表示Alpha值,后面三个byte本别表示红,绿,蓝。
  • D3DCOLOR_RGBA(r,g,b,a) - 前三个byte分别表示红,绿,蓝,最后一个byte是Alpha值
  • D3DCOLOR_XRGB(r,g,b) - Alpha值为1,三个byte分别表示红,绿,蓝
typedef struct _D3DCOLORVALUE {    float r;    float g;    float b;    float a;} D3DCOLORVALUE;

可以使用结构体D3DCOLORVALUE来定义Direct3D中的颜色,这种颜色类型多用于指定灯光和材质的颜色。

D3DXCOLOR是一个C++ 的类,实现了到上述两种类型强转,所以可以上述两种类型可以用的地方,都可以用它代替。

下面是它的定义:

typedef struct D3DXCOLOR
{
#ifdef __cplusplus
public:D3DXCOLOR() {}D3DXCOLOR( DWORD argb );D3DXCOLOR( CONST FLOAT * );D3DXCOLOR( CONST D3DXFLOAT16 * );D3DXCOLOR( CONST D3DCOLORVALUE& );D3DXCOLOR( FLOAT r, FLOAT g, FLOAT b, FLOAT a );// castingoperator DWORD () const;operator FLOAT* ();operator CONST FLOAT* () const;operator D3DCOLORVALUE* ();operator CONST D3DCOLORVALUE* () const;operator D3DCOLORVALUE& ();operator CONST D3DCOLORVALUE& () const;// assignment operatorsD3DXCOLOR& operator += ( CONST D3DXCOLOR& );D3DXCOLOR& operator -= ( CONST D3DXCOLOR& );D3DXCOLOR& operator *= ( FLOAT );D3DXCOLOR& operator /= ( FLOAT );// unary operatorsD3DXCOLOR operator + () const;D3DXCOLOR operator - () const;// binary operatorsD3DXCOLOR operator + ( CONST D3DXCOLOR& ) const;D3DXCOLOR operator - ( CONST D3DXCOLOR& ) const;D3DXCOLOR operator * ( FLOAT ) const;D3DXCOLOR operator / ( FLOAT ) const;friend D3DXCOLOR operator * ( FLOAT, CONST D3DXCOLOR& );BOOL operator == ( CONST D3DXCOLOR& ) const;BOOL operator != ( CONST D3DXCOLOR& ) const;#endif //__cplusplusFLOAT r, g, b, a;
} D3DXCOLOR, *LPD3DXCOLOR;

转载于:https://www.cnblogs.com/lc-cnblong/p/3313212.html

D3DXCOLOR 和 D3DCOLOR 和 D3DCOLORVALUE相关推荐

  1. D3DCOLOR与D3DXCOLOR

    D3DCOLOR D3DCOLOR实际上是一个DWORD,看一下它的定义(位于d3d9types.h中) // D3DCOLOR is equivalent to D3DFMT_A8R8G8B8#if ...

  2. 2017南开秋奥鹏作业计算机,南开17秋学期《DirectX程序设计》在线作业(资料)...

    试卷总分:100    得分:0 一. 单选题 (共 22 道试题,共 44 分) 1.  在3DMAX等3D建模工具中创建好模型,模型转换为扩展名为.x的文件,称() A. .X文件 B. 3d文件 ...

  3. DirectX903D 颜色

    颜色  颜色表示 颜色用RGB三元组表示.为红色(red)绿色(Green)蓝色(Blue). RGB数据可用两种不同的结构来保存. 1  D3DCOLOR结构 与DWORD类型完全相同.共有32位. ...

  4. DirectX 9.0 3D 笔记

    1.3.0 预备 1.HAL,硬件抽象层,由D3DDEVTYPE_HAL指定 2.REF,参考光栅设备 3.COM,组件对象模型,使之向下兼容,视为C++类. 1.3.1 表面 4.IDirect3D ...

  5. 【Visual C++】游戏开发笔记四十一 浅墨DirectX教程之九 为三维世界添彩:纹理映射技术(一)...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 文章链接: http://blog.csdn.net/zhmxy555/article/details/8523341 作者:毛星云(浅墨 ...

  6. 【Visual C++】游戏开发笔记四十 浅墨DirectX教程之八 绘制真实质感的三维世界:光照与材质专场...

    本系列文章由zhmxy555(毛星云)编写,转载请注明出处. 作者:毛星云(浅墨)    邮箱: happylifemxy@163.com 本篇文章里,我们对Direct3D之中固定功能流水线中的3D ...

  7. D3D中的粒子系统(1)

    许多自然现象是由很多小的小颗粒组成的,它们有相似的行为.(例如,雪花落下,闪烁的火焰,冲出枪管的"子弹"),粒子系统用来模拟这种现象. 14.1 粒子和点精灵(Point Spri ...

  8. Direct 3D学习笔记(三)——光照与材质

    Direct 3D学习笔记(三)--光照与材质 现实世界中物体的颜色是一个复杂的系统,物体在不同的光照下,可能呈现在我们面前的就是不同的颜色.根据物理中的光学知识,物体在各种环境光照下,根据物体自身特 ...

  9. 【Visual C++】游戏开发笔记四十 浅墨DirectX教程之八 绘制真实质感的三维世界 光照与材质专场

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

最新文章

  1. 噪声标签的负训练:ICCV2019论文解析
  2. struct结构体数据类型
  3. k8s单节点部署(master ,node部分)
  4. 聊聊高并发(二)结合实例说说线程封闭和背后的设计思想
  5. Repository 返回 IQueryable?还是 IEnumerable?
  6. Transformer组件很重要Attention is all you need
  7. 苏格拉底的苹果_苏格拉底关于人生的教诲
  8. 邮箱显示exchange账号服务器错误,删除监视邮箱Exchange服务器不正常状态
  9. 基于单片机的简易计算器
  10. php判断手机浏览器,php判断是不是手机浏览器访问
  11. 计算力学——有限元编程实现
  12. webview 支付宝、微信支付 QQ登录
  13. 关于dcm4chee方面的问题,求各位英雄帮助,小女子感激不尽.... ...
  14. python自动拼图_Python图像处理——人物拼图游戏
  15. Windows客户端开发--获取系统mac地址(使用WMI)
  16. Python程序及交通态势数据
  17. ABAP RFC远程调用
  18. 遗传算法工具箱Optimization
  19. rsync 的 “file has vanished” 问题
  20. Tech Execs面对国会:9大收获

热门文章

  1. Debug无忧!清华校友打造Python调试神器:反向追踪变量、数据流等 | 开源
  2. 谷歌AI发布“会动的”3D物体数据集,附带标记边界框、相机位姿、稀疏点云,网友:快给我的AR模型用上...
  3. 十亿红包还不够,揭秘快手春节四大技术玩法:AI/AR/MR都被装进App,为了这个春晚真拼了...
  4. 如果没有StyleGAN2,真以为初代就是巅峰了:英伟达人脸生成器高能进化,弥补重大缺陷...
  5. 阿里CTO张建锋:云拐点已至,All in cloud;贾扬清完整title公开
  6. 004_列表list操作
  7. 谁在“唱衰”OpenStack?
  8. Alpha 冲刺报告(6/10)
  9. iOS:MBProgressHUD的基本使用
  10. 计算机组成原理学习笔记(一)