资源描述:
《图形学实验代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#includenstdafx.hn#include#includevoidmyinit(void){GLfloatlight_position[]={0.0,3-0J-0,0.0};GLfloatlight_ambient[]={0.0,1.0,0.0,1.0};GLfloatlight_diffuse[]={1.0,1.0,1.0,1.0};GLfloatlight_specular[]={0.8,1.0,0.0,1.0};GLfloatlmodel_ambient[
2、]={0.0,1.0,1.0,1.0};GLfloatlocal_view[]={0.0};glLightfv(GL_LIGHTO,GL_POSITION,light_position);glLightfv(GL_LIGHTO,GL_AMBIENT,light_ambient);glLightfv(GL_LIGHTO,GL_DIFFUSE,light_diffuse);glLightfv(GL_LIGHTO,GL_SPECULAR,light_specular);glLightModelfv(GL_LIGHT_MO
3、DEL_AMBIENTJmodel_ambient);glLightModelfv(GL_LIGHT_MODEL_LOCAL_VIEWERJocal_view);glClearColor(0.0,0.0,0.0,0.0);glShadeModel(GL_SMOOTH);glEnable(GL_LIGHTING);glEnable(GL_LIGHTO);glEnable(GL_DEPTH_TEST);voiddisplay(void){GLfloatd=-7.0;GLfloatno_mat[]={0.0,001.0,
4、1・0};GLfloatmat_ambient[]={0.0,0.1,1.0,1.0};GLfloatmat_diffus[]={0.6,0.5,0.1,1.0};GLfloatmat_specular[]={1.0,1.0,1.0,1.0};GLfloatmat_shininess[]={50.0};GLfloatno_shininess[]={0.0};GLfloatlow_shininess[]={5.0};GLfloathigh_shininess[]={100.0};GLfloatmat_emission
5、[]={03,0.2,0.2,0.0};glClear(GL_COLOR_BUFFER_BITGL_DEPTH_BUFFER_BIT);glMatrixMode(GL_MODELVIEW);glLoadldentityO;glPushMatrix();glTranslatef(-4.5,0.0,d);glMaterialfv(GL_FRONT,GL_AMBIENT,no_mat);glMaterialfv(GL_FRONXGL_DIFFUSE,mat_diffus);glMaterialfv(GL_FRONXGL_
6、SPECULAR,no_mat);glMaterialfv(GL_FRONT,GL_SHININESS,no_shininess);glMaterialfv(GL_FRONXGL_EMISSION,no_mat);glutSolidOctahedron();glPopMatrix();glPushMatrix();glTranslatef(-1.5,-1.5,d);glMaterialfv(GL_FRONT,GL_AMBIENT,no_mat);glMaterialfv(GL_FRONXGL_DIFFUSE,mat
7、_diffus);glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);glMaterialfv(GL_FRONT,GL_SHININESSJow_shininess);glMaterialfv(GL_FRONXGL_EMISSION,no_mat);glutSolidSphere(1.0,30,30);glPopMatrix();glPushMatrix();glTranslatef(1.5,-1.5,d);glMaterialfv(GL_FRONT,GL_AMBIENT
8、,no_mat);glMaterialfv(GL_FRONT,GL_DIFFUSE,no_mat);glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);glMaterialfv(GL_FRONT9GL_SHININESS,high_shininess);glMaterialfv(GL_FRONXGL_EMISSIO