都是法向量惹的祸!!!
来源:互联网 发布:ipad mac地址修改 编辑:程序博客网 时间:2024/04/29 22:42
画Bezier旋转曲面,不添加光照效果就是原来的颜色,很好。
一旦添加了光照效果,你要么定义材质和添加纹理。否则你的物体画的是什么颜色没有用,显示出来的颜色就是光的颜色。
如果定义材质的话,比如定义漫反射材质(1.0,0.0,0.0)那么你物体就反射入射光中的红色分量,即物体显红色。
值得注意的是一旦你定义了材质,那么opengl认为后面它画的所有东西都是这个材质的,直到你定义新的材质为止。(opengl是状态机)
opengl定义的光照模型一般有GL_FLAT(Constant shading一个面的法向量相同),GL_SMOOTH(Gouraud shading每个顶点计算法向量)。我对具体实现的机制还是很模糊,所以再画旋转曲面的时候就没有定义法向量。结果第一次画曲面的时候,光照的颜色很好看,但是当我转到另一个动画模型之后再转回来,问题就出现了,光照开着,但是是曲面暗灰色的,按理至少也该是光的颜色吧,不知道为什么。耗了一个下午也没搞清楚。最后在画每个微小矩形的时候设置下法线就没问题了!
:-(,不明白opengl的机制啊,总是遇到各种奇怪的问题!
记住以后启用光照的时候,如果画的模型不是用gluSphere之类函数画出来的话,(自己计算点的情况),加个法向量。加法向量也是你加一个,后面的所有点的法向量就都是这个,直到你改变为止!
- 都是法向量惹的祸!!!
- 都是‘/’惹的祸
- 都是Gmail惹的祸。
- 都是Gmail惹的祸
- 都是咖啡惹的祸~
- 都是公款惹的祸
- 都是进步惹的祸!
- 都是"魔波"惹的祸
- 都是一句话惹的祸
- 都是内存惹的祸
- 都是base惹的祸
- 都是习惯惹的祸
- 都是包包惹的祸
- 都是@@IDENTITY惹的祸
- 都是诺顿惹的祸
- 都是心态惹的祸!
- 都是virtual惹的祸
- 都是名字惹的祸。。。。。。
- 宝宝好乖啊
- SQL CASE 语句
- JMX HelloWorld实例
- 反思
- iis中cookie的设置方法(二)
- 都是法向量惹的祸!!!
- 四、程咬金——JavaScript基础
- SQL数据库完全手册
- 跌倒··
- Android 移动网络框架
- 关于jaxb
- INFORMIX IDS11.5 动态存储过程(DYNAMIC SPL)
- 金山面试一
- 某公司软件开发程序员笔试题(OO+JAVA+NUIX/LINUX)(一)