首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

D3DFVF的详细信息,msdn上如何找不到

2013-04-21 
D3DFVF的详细信息,msdn上怎么找不到啊比如D3DFVF_XYZRHW,那几个float的权威定义在什么地方好像只在例子中

D3DFVF的详细信息,msdn上怎么找不到啊
比如D3DFVF_XYZRHW,那几个float的权威定义在什么地方

好像只在例子中找到了结构的定义,其他一些D3DFVF在什么地方看啊
[解决办法]
那个不是定义的问题,而是对于计算机图形学当中的一些基本概念的理解的问题
例如: D3DFVF_XYZRHW 定义每个定点用4个float数值来表述他的齐次坐标系坐标
不理解应该是不理解透应变换当中齐次坐标系的概念,你可以搜索  齐次坐标系或者Homogeneous坐标系来找到关于这个坐标系的解释,例如:
   http://baike.baidu.com/view/2132318.htm
   http://www.opengpu.org/forum.php?mod=viewthread&tid=961 
[解决办法]
这些知识都是结合MSDN加上博主的博客加以理解的。
有时候可以看看权威的书籍可增进理解,也可以自己意会。比如说D3DFVF_XYZRHW这个FVF就说明了顺序是x、y、z、rhw。
又比如说D3DFVF_XYZRHW|D3DFVF_DIFFUSE就说明顺序是x、y、z、rhw、diffuse。
[解决办法]

引用:
引用:不在D3DX自带的文档里面找 跑去msdn找什么 
去D3D自带的文档里面搜索一片叫做 D3DFVF 的文档

这和msdn上一样的,然后呢,float的变量名在什么地方


变量名只是方便理解的 你定义成float a, b, c, d; 也没什么关系,

命名成xyzw呢是为了方便理解 因为显卡里面处理这些顶点就是按照xyzw的顺序来的

文档说的很清楚 FVF只是顶点的流格式而已 相当于是和显卡的一个约定, 比如D3DFVF_XYZW的意思就是我

给显卡4个float 他们依次是 x,y,z,w 告诉显卡你按照这个顺序给我处理我发给你的顶点

msdn当然不是万能的 图形基础的东西还是要靠其他书籍来补足

[解决办法]
引用:
引用:1 显卡可不是根据directx来设计的, 否则opengl还怎么活啊  :)
    directx是一套渲染机制, 能够充分利用显卡提供的功能

2 dxsdk 是 msdn的子集  所以获取帮助文档在哪儿都一样
  无非dxsdk更新的可能会比msdn快上一些

3 诚如懒洋洋说的,  这些描述在sdk或者m……


不是图形学订好的 图形学才不会去管dx的东西

1. Vertex Buffer是一段连续的内存 Dx在没有设置FVF之前 并不知道Vertex buffer里面的数据是有什么用

怎么分段的,是什么格式的, 直到设置了FVF 这个Vertex buffer里面的数据才有了意义, 所以为什么要有FVF

这个标志位

2. DX可没有D3DFVF这个结构体, DX只有D3DFVF_XYZ这样的标志位, 这些标志位用"
[解决办法]
"连到一起来表示你的Vertex Buffer里面的顶点格式,大小,用途等等信息

3. 一段标记位置 和纹理坐标的Vertexbuffer 那么他的格式就是 
struct 
{
  float x, y, z;
  float u, v;
}



热点排行