#include <stdio.h>#include <glut.h>voID wall1(float thickness){ glPushmatrix(); glTranslatef(100,100,0); glrotatef(90,1,0); glScalef(thickness,1); glutSolIDCube(100); glPopMatrix();}voID wall2(float thickness){ glPushmatrix(); glTranslatef(150,-50); glScalef(1,thickness); glutSolIDCube(100); glPopMatrix();}voID floor(float thickness){ glPushmatrix(); glTranslatef(150,50,0); glScalef(1,thickness,1); glutSolIDCube(100); glPopMatrix();}voID leg(float thickness){ glPushmatrix(); glScalef(thickness,.5,thickness); glutSolIDCube(100); glPopMatrix();}voID tabletop(float thickess){ glPushmatrix(); glTranslatef(150,0); glScalef(.5,thickess,.5); glutSolIDCube(100); glPopMatrix();}voID table(){ tabletop(.05); glPushmatrix(); glTranslatef(125,75,-25); leg(.05); glPopMatrix(); glPushmatrix(); glTranslatef(175,25); leg(.05); glPopMatrix(); glPushmatrix(); glTranslatef(125,25); leg(.05); glPopMatrix(); glPushmatrix(); glTranslatef(150,110,0); glScalef(.1,.1,.1); glutSolIDTeapot(100); glPopMatrix();}voID display(){ glClear(GL_color_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); float pos[] = {200,200,0}; float dif[] = {.3,.3,3}; float spe[] = {1,1}; float amb[] = {1,0}; gllightfv(GL_liGHT0,GL_position,pos); gllightfv(GL_liGHT0,GL_DIFFUSE,dif); gllightfv(GL_liGHT0,GL_AMBIENT,amb); gllightfv(GL_liGHT0,GL_specular,spe); glTranslatef(50,0); glrotatef(30,0); glrotatef(-30,0); wall1(.05); wall2(.05); floor(0.05); table(); glFlush();}voID reshape(int w,int h){ glVIEwport(0,w,h); glMatrixMode(GL_PROJECTION); glLoadIDentity(); glOrtho(0,400,-400,400); glMatrixMode(GL_MODELVIEW);}voID main(int argc,char** argv){ glutinit(&argc,argv); glutinitdisplayMode(gluT_RGB | gluT_SINGLE | gluT_DEPTH); glutinitwindowposition(100,100); glutinitwindowsize(400,400); glutCreateWindow("woot"); glClearcolor(1,1); glEnable(GL_DEPTH_TEST); glEnable(GL_liGHTING); glEnable(GL_liGHT0); glShadeModel(GL_SMOOTH); glutReshapeFunc(reshape); glutdisplayFunc(display); glutMainLoop();}
这个问题是我的照明部分没有按预期工作.它不能均匀地照亮我的所有物体……我缺少什么?这甚至使茶壶难以出海.
我的照明部分处于显示功能.
glEnable(GL_norMAliZE);
在main函数中,因此opengl没有正确呈现它! Alse @Christian使用环境的答案才有效.
总结
以上是内存溢出为你收集整理的c – Opengl适当的照明问题全部内容,希望文章能够帮你解决c – Opengl适当的照明问题所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)