OPENGL双面光照和材质的实现问题求助(100分)

duckytang 2003-10-13 04:20:39
我做的一个模型需要在内部的显示一些东西,
作成透明的之后,
转动时能看到模型内表面的一个个三角形,这样很难看;
怎样可使得模型内表面和外表面一样具有光照和材质啊。
不够另开帖相送!!!
...全文
258 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
phoenixzz 2003-10-17
  • 打赏
  • 举报
回复
应该是将透明物体最后画,或者象tomb4(nicky_hu) 说的那样画透明模型前先glDepthMask(0)
画完后glDepthMask(1)
tomb4 2003-10-15
  • 打赏
  • 举报
回复
to duckytang(大眼睛) :

建议你画透明模型前先glDepthMask(0)
画完后glDepthMask(1)

hope will help
duckytang 2003-10-15
  • 打赏
  • 举报
回复
先感谢你的回复,
但是我刚开始学OPENGL,
并且做的是头模显示,
现在能显示出来就已经很勉强了。
真希望有比较简单的解决掉这个问题的方法啊
ttmmdd 2003-10-14
  • 打赏
  • 举报
回复
这个..
看来你是因为后面的面先画了,而前面的面是透明的没有挡住,
要真正去掉这个问题的一个做法是将三角形按CAMERA Z方向排序,由近到远的画一遍.
还有一个做法就是将透明物体最后画.做DEPTH TEST但是不更新Z BUFFER.
duckytang 2003-10-14
  • 打赏
  • 举报
回复
关于材质设置如下就可以了.
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT , ambient);

其实你这个主要是ALPHA乱序的问题.
内表面不画会好一点.
glCullFace (GL_BACK);
glEnable (GL_CULL_FACE);
------------------------------------------
我的材质设定以及glCullFace和你的一样,但是还是能看到内表面的三角形啊。
yyfzy 2003-10-14
  • 打赏
  • 举报
回复
应该是“前面”和“后面”设置的问题。
duckytang 2003-10-14
  • 打赏
  • 举报
回复
我试试看
tomb4 2003-10-13
  • 打赏
  • 举报
回复
是不是没有平均法向量?


ttmmdd(老孩子) ( ) 信誉:100
内表面不画会好一点.
----------------------------

赞成
ttmmdd 2003-10-13
  • 打赏
  • 举报
回复
关于材质设置如下就可以了.
glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT , ambient);

其实你这个主要是ALPHA乱序的问题.
内表面不画会好一点.
glCullFace (GL_BACK);
glEnable (GL_CULL_FACE);

4,446

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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