作业帮 > 综合 > 作业

opengl中做光照时的法向量该如何表示?假设其中一个法向量是{5.0f,10.0f,3.0f} 请问程序该怎么写呢?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/10 11:53:53
opengl中做光照时的法向量该如何表示?假设其中一个法向量是{5.0f,10.0f,3.0f} 请问程序该怎么写呢?
glNormal函数该怎么写法向量呢?
十分感谢您救小女子与水火之中
两种方法.
1.将上述向量人工转化成单位向量.
2.调用glEnable(GL_NORMALIZE);然后在自由设定法向量,此时没有必须为单位长度的限制,但是性能可能会有所降低.
再问: 能麻烦您帮吗写两句吗 十分感谢
再答: 不能………… 开个玩笑啊,下面代码…… glBegin(GL_QUADS); glNormal(5.0/sqrt(134),10.0/sqrt(134),3.0/sqrt(134)); glVertex3f(); ....... glEnd(); 或者 glEnable(GL_NORMALIZE);(这个调用一次就行) glBegin(GL_QUADS); glNormal(5.0,10.0,3.0); glVertex3f(); ....... glEnd();
再问: 请问glVertex3f(); 中是写这个对应法向量的顶点的坐标就好了 ,还是要把QUADS的四个顶点都写上呢? 十分感谢您的解答~~~在此感谢!
再答: 四个顶点
再问: 十分感谢您!我已完成法向量的绘制 看起来真的就是有棱有角的 真好 还能请问您一下吗 为什么我的光源照的地方不亮 反而没照的地方很亮呢 刚好是个反的 不知道毛病出在哪里 能请教您一下吗