#include<windows.h>
#include<gl/glut.h>
#include <stdlib.h>
GLfloat light_position[]={1.0,1.0,1.0,0.0};
GLfloat no_mat[]={0.0,0.0,0.0,1.0};
GLfloat mat_grey_ambient[]={0.5,0.5,0.5,1.0};
GLfloat mat_blue_ambient[]={0.0,0.0,1.0,1.0};
GLfloat mat_diffuse[]={0.8,0.2,0.5,1.0};
GLfloat mat_specular[]={1.0,1.0,1.0,1.0};
GLfloat no_shininess[]={0.0};
GLfloat low_shininess[]={5.0};
GLfloat high_shininess[]={100.0};
GLfloat mat_emission[]={0.3,0.2,0.2,0.0};
void init(void)
{
//GLfloat white_light[]={1.0,1.0,1.0,1.0};
//GLfloat Light_Model_Ambient[]={1.0,1.0,1.0,1.0};
//glMaterialfv(GL_FRONT,GL_SHININESS,no_shininess);
//glMaterialfv(GL_FRONT,GL_EMISSION,mat_emission);
//glColorMaterial(GL_FRONT,GL_AMBIENT);
//glEnable(GL_COLOR_MATERIAL);
GLfloat mat_ambient[]={0.0,0.0,0.0,1.0};
GLfloat mat_diffuse[]={1.0,1.0,1.0,1.0};
GLfloat mat_specular[]={1.0,1.0,1.0,1.0};
GLfloat mat_shininess[]={30};
GLfloat light_position[]={1.0,1.0,1.0,0.0};
GLfloat white_light[]={1.0,1.0,1.0,1.0};
GLfloat Light_Model_Ambient[]={1.0,1.0,1.0,1.0};
glClearColor(0.0,0.0,0.0,0.0);
glShadeModel(GL_SMOOTH);
glMaterialfv(GL_FRONT,GL_AMBIENT,mat_ambient);
glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,mat_shininess);
glLightfv(GL_LIGHT0,GL_POSITION,light_position);
glLightfv(GL_LIGHT0,GL_DIFFUSE,white_light);
glLightfv(GL_LIGHT0,GL_SPECULAR,white_light);
glLightModelfv(GL_LIGHT_MODEL_AMBIENT,Light_Model_Ambient);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
//glPushMatrix();
//glColor3fv(no_mat);
//glTranslatef(-3.75,3.0,0.0);
//glRotatef(15.0,1.0,0.0,0.0);
//glutSolidTeapot(0.8);
//glPopMatrix();
//glPushMatrix();
//glColor3fv(mat_grey_ambient);
//glTranslatef(-3.75,0.0,0.0);
//glRotatef(15.0,1.0,0.0,0.0);
//glutSolidTeapot(0.8);
//glPopMatrix();
//glPushMatrix();
//glColor3fv(mat_blue_ambient);
//glTranslatef(-3.75,3.0,0.0);
//glRotatef(15.0,1.0,0.0,0.0);
//glutSolidTeapot(0.8);
//glPopMatrix();
//glPushMatrix();
//glColor3fv(mat_diffuse);
//glTranslatef(-3.75,3.0,0.0);
//glRotatef(15.0,1.0,0.0,0.0);
//glutSolidTeapot(0.8);
//glPopMatrix();
//glPushMatrix();
//glColor3fv(mat_specular);
//glTranslatef(-3.75,3.0,0.0);
//glRotatef(15.0,1.0,0.0,0.0);
//glutSolidTeapot(0.8);
//glPopMatrix();
//glClearColor(0.0,0.0,0.0,0.0);
//glShadeModel(GL_SMOOTH);
//glMaterialfv(GL_FRONT,GL_AMBIENT,no_mat);
//glMaterialfv(GL_FRONT,GL_DIFFUSE,mat_diffuse);
//glMaterialfv(GL_FRONT,GL_SPECULAR,mat_specular);
//glMaterialfv(GL_FRONT,GL_SHININESS,no_shininess);
//glLightfv(GL_LIGHT0,GL_POSITION,light_position);
//glLightfv(GL_LIGHT0,GL_DIFFUSE,white_light);
//glLightfv(GL_LIGHT0,GL_SPECULAR,white_light);
//glLightModelfv(GL_LIGHT_MODEL_AMBIENT,Light_Model_Ambient);
//glEnable(GL_LIGHTING);
//glEnable(GL_LIGHT0);
//glEnable(GL_DEPTH_TEST);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
init();
glRotated(60,1,1,1);
//glutSolidTeapot(0.5);
glPushMatrix();
for (int i = 0; i < 3; i ++)
{
glPushMatrix();
for(int j = 0; j < 4; j ++)
{
glTranslatef(1.0,0.0,0.0);
glutSolidTeapot(0.1);
}
glTranslatef(-3.0,-0.5,0.0);
glPopMatrix();
}
glPopMatrix();
glFlush();
}
void reshape(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w <= h)
glOrtho(-1.5,1.5,-1.5*(GLfloat)h/(GLfloat)w,
1.5*(GLfloat)h/(GLfloat)w,-10.0,10.0);
else
glOrtho(-1.5*(GLfloat)w/(GLfloat)h,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5,-10.0,10.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
int main (int Argc,char**argv)
{
glutInit(&Argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB|GLUT_DEPTH);
glutInitWindowSize(500,500);
glutInitWindowPosition(100,100);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}
text-5.rar_地月
版权申诉
97 浏览量
2022-09-20
20:21:04
上传
评论
收藏 262KB RAR 举报
小波思基
- 粉丝: 74
- 资源: 1万+
最新资源
- 基于Typescript和PHP的编程知识储备库设计源码 - study-php
- Screenshot_2024-05-28-11-40-58-177_com.tencent.mm.jpg
- 基于Dart的Flutter小提琴调音器APP设计源码 - violinhelper
- 基于JavaScript和CSS的随寻订购网页设计源码 - web-order
- 基于MATLAB的声纹识别系统设计源码 - VoiceprintRecognition
- 基于Java的微服务插件集合设计源码 - wsy-plugins
- 基于Vue和微信小程序的监理日志系统设计源码 - supervisionLog
- 基于Java和LCN分布式事务框架的设计源码 - tx-lcn
- 基于Java和JavaScript的茶叶评级管理系统设计源码 - tea
- IMG_5680.JPG
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈