请问各位大侠,在D3D中怎么让Mesh显示出来,表面看起来过渡更圆滑些啊,不是棱角分明的那种? 急用,100分求助

TakeEdge 2005-05-20 12:59:35
RT
是不是要用到SetRenderState之类的函数作一些设置,还是要或是什么的啊?
...全文
280 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
why54 2005-07-11
  • 打赏
  • 举报
回复
关注!
TakeEdge 2005-07-10
  • 打赏
  • 举报
回复
设置过了,没用
而且,D3DRS_SHADEMODE 好像默认就是D3DSHADE_GOURAUD吧。
cxx1121 2005-06-27
  • 打赏
  • 举报
回复
设置 shademode 为 D3DSHADE_GOURAUD 试试看?

d3ddevice.SetRenderState D3DRS_SHADEMODE, D3DSHADE_GOURAUD
TakeEdge 2005-06-23
  • 打赏
  • 举报
回复
我想也可能是法线没有处理好吧,但不知具体如何做呢,对不起,我接触D3D时间不长,望能说得详细些,最后一个问题,回答即结帖。
xbeggar 2005-06-01
  • 打赏
  • 举报
回复
一般使用法线映射的方式,欺骗用户的眼睛,达到比较圆滑的效果,可以再结合凹凸纹理
black_bird 2005-05-28
  • 打赏
  • 举报
回复
你是想显示mesh的网格,还是想显示整个带贴图的模型?
谢谢happy__888的提醒,这两天找到了点这方面的资料。看了一点。等有想法了再来灌水^_^
lingjingqiu 2005-05-27
  • 打赏
  • 举报
回复
模型细分算法
不过需要在裁减以后才能使用,因为太好资源了
TakeEdge 2005-05-27
  • 打赏
  • 举报
回复
谢谢大家的捧场哈
我找了下资料,对于 black_bird(出来跑,迟早要还的)所说的插入顶点,DX本提供有支持,叫做什么NPATCH。我按其例子代码试了下,MESH顶点是增多了,但看起来还是没有变圆滑,甚至贴图也不对了,MESH表面出了许多条撕裂的小缝,而且因为顶点增多,显示效率严重下降。
我说的这个问题也许不是模型精细不精细的问题,因为,同样的模型别人显示出来效果就很好,而我的就不行,看来还是技术的问题。
继续寻求帮助。。。
寻开心 2005-05-25
  • 打赏
  • 举报
回复
楼上所说的就是所谓的subdivision 子分/细分算法的基本思想

但是对于一般情况来说,重新制作更精细的模型来得更快更方便一些
对于美工来说,表达同一个物体,在达到一定相似度的要求下,做一个点面数目多的模型要比做点面数目少的模型来说容易得多
black_bird 2005-05-25
  • 打赏
  • 举报
回复
今天又想了一下.半夜里思路有点乱,说得挺乱.我的意思就是插顶点.就是在原有顶点间插入更多新的顶点,以形成更圆滑的mesh.新顶点的位置由周围的原有顶点的位置算出.为得到圆滑的新顶点,算法可能近似滤波器算法,例如低通滤波器算法.sinc(x) = sin( 3.141592654f * x ) / ( 3.141592654f * x );
black_bird 2005-05-25
  • 打赏
  • 举报
回复
探讨一下哈。也没试过,要是说错了不要bs我。
1.这个问题好像可以看作采样滤波类型的问题。从原始的顶点生成更圆滑一些的顶点构成,是不是可以看作类似于根据(离散的)采样信号重建(连续的)原始信号,再对重建的原始信号进行更大密度的放大重采样的问题?能不能找到一个合适的滤波器算法可能是最主要的。
2.就这个问题来说,可以在mesh的原有顶点之间再插入一些新的顶点,这些新顶点的位置,由其周围的原有顶点的位置来生成,简单处理的话可以用新顶点周围的原有顶点位置乘以不同的权值再相加得出该新顶点的位置。权值的算法也许可以考虑用新顶点距各原有顶点的距离作为参数?
xingzhe2001 2005-05-23
  • 打赏
  • 举报
回复
我知道在opengl中每个点的法线用点周围的三角形的法线求平均值,在单元化就会得到平滑的效果
rabbitlzx 2005-05-22
  • 打赏
  • 举报
回复
模型建得好一些不就行了
TakeEdge 2005-05-20
  • 打赏
  • 举报
回复
还是没有解决啊
kofightas 2005-05-20
  • 打赏
  • 举报
回复
细化mesh好像还没有这样的现成东西可用
寻开心 2005-05-20
  • 打赏
  • 举报
回复
是否圆滑取决于两个方面

1 模型是否做得够精细
2 法向量是否正确设置

显示的时候,D3DRS_NORMALIZENORMALS 需要设置为TRUE
TakeEdge 2005-05-20
  • 打赏
  • 举报
回复
怎么没人帮忙啊,自己顶一下

8,305

社区成员

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

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