游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2575|回复: 6

一般什么原因会引起顶点的颜色值失效?

[复制链接]

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
发表于 2008-6-27 09:32:00 | 显示全部楼层 |阅读模式
可能问题听起来怪的……

问题是我在生成地形的时候用了D3DFVF_XYZ | D3DFVF_DIFFUSE但渲染的时候发现颜色值不见了(就是开光照的时候地形全黑),我设断点到填充顶点缓冲区的地方看到颜色也正常赋值了。

还有其他什么原因可能会引起这样的问题啊?缓冲区不够大??(128×128跟64x64个顶点的地形都试了)

PS.我用的是索引三角形画的~~~~~~~~~大家给点意见啊,真是想不到其他什么原因了[em7]试了一下画简单的多边形颜色也能正常显示的...

8

主题

130

帖子

156

积分

注册会员

Rank: 2

积分
156
发表于 2008-6-27 20:22:00 | 显示全部楼层

Re:一般什么原因会引起顶点的颜色值失效?

以前自己写着玩是用过一下DX,快3年没动了,估计是你SetLight的D3DLight9散射Diffuse值被你清0了。你试试看全1的结果是不是正确的。

1

主题

19

帖子

19

积分

新手上路

Rank: 1

积分
19
QQ
发表于 2008-6-28 00:06:00 | 显示全部楼层

Re:一般什么原因会引起顶点的颜色值失效?

这是因为D3D渲染机制的问题。
你开启了光源,就要配合材质赋予地形,才能有颜色啊。
你有光源照射在一个没有材质的地方,会是什么结果?
一般渲染地形前就关闭Light,渲染后就开启。

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
 楼主| 发表于 2008-6-28 14:58:00 | 显示全部楼层

Re:一般什么原因会引起顶点的颜色值失效?

我遇到的一个比较奇怪的地方是,关闭光照的时候渲染出来的地形是白色的,不管我把顶点的颜色值改为(255, 0, 0)还是其他,一概都是白色的……

362

主题

3023

帖子

3553

积分

论坛元老

Rank: 8Rank: 8

积分
3553
发表于 2008-6-30 03:04:00 | 显示全部楼层

Re: Re:一般什么原因会引起顶点的颜色值失效?

梁某: Re:一般什么原因会引起顶点的颜色值失效?

我遇到的一个比较奇怪的地方是,关闭光照的时候渲染出来的地形是白色的,不管我把顶点的颜色值改为(255, 0, 0)还是其他,一概都是白色的……


MCS_COLOR1, 绝对正解。
请看我的《d3d色彩来源全分析》

5

主题

686

帖子

697

积分

高级会员

Rank: 4

积分
697
QQ
发表于 2008-6-30 09:22:00 | 显示全部楼层

Re:一般什么原因会引起顶点的颜色值失效?

纹理层混合参数设置的有问题,你如果没设置纹理的话,纹理层混合参数就要设置为仅取Diffuse,另外顶点数据中Diffuse是DWORD的,必须在XYZ之后,固定管线中各个数据乘员的的排列是有一定顺序的,不然数据流就会解析出错

64

主题

272

帖子

272

积分

中级会员

Rank: 3Rank: 3

积分
272
 楼主| 发表于 2008-7-3 09:13:00 | 显示全部楼层

Re:一般什么原因会引起顶点的颜色值失效?

纹理倒没设置,明天回来试试……刚考完试~~~谢谢楼上几位~~~~~~~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 03:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表