我在视类中用opengl画了一个图,本来我将投影变换设置成正交投影,
glOrtho(l,r,b,t,-500,500);
画出的图象有颜色,
现在我将投影变换设置成透视变换
glFrustum(l,r,b,t,10,500);
其他什么都没改;
有图像,但光线和颜色都没了,图像显示黑色!
本来我定义了GLfloat h_ambientProperties[] = {0.8f, 0.2f, 0.1f, 1.0f};
GLfloat h_diffuseProperties[] = {0.7f, 0.3f, 0.05f, 1.0f};
GLfloat h_specularProperties[] = {1.0f, 0.3f, 0.2f, 1.0f};
光线和图像的材质,都是好的!
有改了一条语句怎么就这样了啊?但我发现光线好像从z负轴的无穷远处发过来,被我的图像挡住了!
这是什么原因!
如何解决?
glOrtho(l,r,b,t,-500,500);
画出的图象有颜色,
现在我将投影变换设置成透视变换
glFrustum(l,r,b,t,10,500);
其他什么都没改;
有图像,但光线和颜色都没了,图像显示黑色!
本来我定义了GLfloat h_ambientProperties[] = {0.8f, 0.2f, 0.1f, 1.0f};
GLfloat h_diffuseProperties[] = {0.7f, 0.3f, 0.05f, 1.0f};
GLfloat h_specularProperties[] = {1.0f, 0.3f, 0.2f, 1.0f};
光线和图像的材质,都是好的!
有改了一条语句怎么就这样了啊?但我发现光线好像从z负轴的无穷远处发过来,被我的图像挡住了!
这是什么原因!
如何解决?
我再屏幕上画了两个球,第一个再z负轴上,另一个在第一个球的基础上向x轴平移,结果,在z负轴无穷远处到第二个球的背面有一束呈锥形的本来该球有的颜色!锥顶在无穷远(不可见,被第一个球挡主了,但是趋势),锥底照在球上(不可见,被球正面挡)!
这是怎么回事啊!
是不是光源位置问题!光源位置不在投影区内会不会就没有光源了啊!
可我原来也没有设置光源位置啊!
问题好奇怪啊!
我再屏幕上画了两个球,第一个再z负轴上,另一个在第一个球的基础上向x轴平移,结果,在z负轴无穷远处到第二个球的背面有一束呈锥形的本来该球有的颜色!锥顶在无穷远(不可见,被第一个球挡主了,但是趋势),锥底照在球上(不可见,被球正面挡)!