Vertex color的问题

xiaolizi 2003-06-25 09:08:12
有关VertexColor的困惑,如果有Vertex Color,那就是说不用直接根据灯光来计算。这样子的话我们的FVF该设置成什么格式?

D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1

然后把VertexColor放在Diffuse对应的数值中,这个格式可以吗?


第一次考虑这个问题,有点头大,哪位大侠出来指点一下?
...全文
226 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaolizi 2003-07-05
  • 打赏
  • 举报
回复
yeah~~~
多谢楼上两位大哥^_^
fastbit 2003-07-03
  • 打赏
  • 举报
回复
xiaolizi(小李子),你要达到什么效果就用什么格式的FVF。
例如使用静态自己计算好的diffuse灯光,就设置成:D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1
要使用d3d灯光就用
D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1
YangLin1ST 2003-07-03
  • 打赏
  • 举报
回复
使用静态自己计算好的diffuse灯光,就设置成:D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1
数据结构为:
struct CUBIOD_CUSTOMVERTEX
{
FLOAT x, y, z; //顶点的位置坐标
DWORD colour; //顶点的颜色
float tv, tu; //纹理坐标
}; 放在其中的colour 中
渲染的时候把灯光关掉就可以看到你提前设置好的颜色值了

pzh508 2003-07-03
  • 打赏
  • 举报
回复
struct CUBIOD_CUSTOMVERTEX
{
FLOAT x, y, z; //顶点的位置坐标
DWORD colour; //顶点的颜色
float tv, tu; //纹理坐标
};
顶点颜色存放在color中啊,前面的FVF设置只是声明你所使用的顶点的属性,真正存放数据还是要自己定义结构。
xiaolizi 2003-07-03
  • 打赏
  • 举报
回复
我的意思是,每个顶点的颜色值已经计算好了,不再需要动态lighting。这样的FVF该怎么设置?颜色值存放在FVFFORMAT的哪个数据结构中?
YangLin1ST 2003-07-02
  • 打赏
  • 举报
回复
还是使用你原来这个FVF,
D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE | D3DFVF_TEX1
xiaolizi 2003-07-02
  • 打赏
  • 举报
回复
吖?不明白 fastbit(大罗)的意思
fastbit 2003-07-01
  • 打赏
  • 举报
回复
最开头这样设置就是合理的
fastbit 2003-06-30
  • 打赏
  • 举报
回复
这个格式不包含顶点颜色数据,Meterial的颜色只是在打开光照后才能参与d3d运算,当然,顶点颜色数据是否存在都不影响光照的计算,它影响的是最后的颜色混合或者alpha混合。
xiaolizi 2003-06-30
  • 打赏
  • 举报
回复
To fastbit(大罗)
对阿,那如果要用Vertexcolor,这个颜色该怎么设置?谁能解答。。。
xiaolizi 2003-06-27
  • 打赏
  • 举报
回复
如果我用D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1格式,请问我的VertexColor放在哪儿?是Material中吗?如果是不是和原来的Material冲突了吗?
fastbit 2003-06-26
  • 打赏
  • 举报
回复
D3DFVF_DIFFUSE还在颜色混合的时候可以作为输入,也挺好的,所以建议使用
fastbit 2003-06-26
  • 打赏
  • 举报
回复
我一般都要用到D3DFVF_DIFFUSE,特别是自己计算光照的时候,不过效果很一般,没有高光
潘李亮 2003-06-25
  • 打赏
  • 举报
回复
DIFFUSE是用来计算漫反射光的。是你能看到的重要颜色成分
tony_1029 2003-06-25
  • 打赏
  • 举报
回复
格式没有问题,FVF的格式比较的灵活,关键在于你有没有用他。
1、如果你在FVF中有D3DFVF_DIFFUSE ,同时你也设置了light,那么你设置的VertexColor就不会有作用。
2、在设置TextureStageState的时候可能会用到这个VertexColor来计算,这个时候你有没有用到他,具体对待。

所以,要看你使用的情况来决定FVF的格式。
YangLin1ST 2003-06-25
  • 打赏
  • 举报
回复
可以
一般是
D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1
或者
D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1
两者都取很多时候没有必要

8,324

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧