三个不同材质球体
来源:互联网 发布:互普威盾软件下载 编辑:程序博客网 时间:2024/04/29 00:21
#include <gl/glut.h>
#include <windows.h>
GLfloat light_position[]={0.0,3.0,6.0,0.0};
GLfloat material_diffuse[]={0.8,0.2,0.5,1.0};
GLfloat material_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 no_mat[]={0.0,0.0,0.0,1.0};
GLfloat mat_grey_ambient[]={0.5,0.5,0.5,1.0};
GLfloat mat_red_ambient[]={0.0,0.0,1.0,1.0};
void Initial(void)
{
glLightfv(GL_LIGHT2,GL_POSITION,light_position);
glEnable(GL_DEPTH_TEST);
glDepthFunc(GL_LESS);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glShadeModel(GL_SMOOTH);
}
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glMaterialfv(GL_FRONT,GL_DIFFUSE,material_diffuse);
glMaterialfv(GL_FRONT,GL_SPECULAR,material_specular);
glMaterialfv(GL_FRONT,GL_SHININESS,high_shininess);
glMaterialfv(GL_FRONT,GL_EMISSION,no_mat);
glColorMaterial(GL_FRONT,GL_AMBIENT);
glEnable(GL_COLOR_MATERIAL);
glPushMatrix();
glColor3fv(no_mat);//glColor3f(1.0,0.0,0.0);等价于
//float color_array[]={1.0,0.0,0.0};
//glColor3fv(color_array);
glTranslatef(-2.5,1.5,0.0);
glRotatef(15.0,1.0,0.0,0.0);//void glRotatef(float angle,float x,float y,float z)分别代表 角度 X ,Y Z的旋转
glutSolidSphere(1.2,20.0,20.0);
glPopMatrix();
glPushMatrix();
glColor3fv(mat_grey_ambient);
glRotatef(15.0,1.0,0.0,0.0);
glutSolidSphere(1.2,20.0,20.0);
glPopMatrix();
glPushMatrix();
glColor3fv(mat_red_ambient);
glTranslatef(2.5,-1.5,0.0);
glRotatef(15.0,1.0,0.0,0.0);
glutSolidSphere(1.2,20.0,20.0);
glPopMatrix();
glPopMatrix();
glFlush();
}
void myReshape(GLsizei w,GLsizei h)
{
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glOrtho(-5.5,5.5,-5.5,5.5,-5.5,5.5);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
int main(int argc,char** argv)
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(400,400);
glutInitWindowPosition(100,100);
glutCreateWindow("LIGHT&Material");
Initial();
glutReshapeFunc(myReshape);
glutDisplayFunc(myDisplay);
glutMainLoop();
return 0;
}
- 三个不同材质球体
- Three.JS 发光球体,材质纹理,缩放移动动画,教程
- 材质
- 材质
- unity标准材质球动态改值和共用材质不同设置问题
- 根据不同的旋转速度,改变这个材质
- OpenGL(四)双面光照(不同材质属性)
- 不同材质怎么通过ZBrush赋予同一个模型上
- UE4之一个物体不同部位赋予不同的材质球
- 三个数求最大值的不同解法
- UIbutton的三个不同内边距含义
- 深港通与沪港通三个大不同
- 蓝桥杯-从串中取三个不同字符
- 串中取三个不同字符 蓝桥杯 解题报告
- 玻璃球体
- 绘制球体
- 球体问题
- 球体问题
- 请各位爱号VS 2008 C#编程者,帮帮我,急!
- 理解linux tr命令
- 可序列化接口 Serializable
- 七种VC延时方式
- 我的第一篇博客
- 三个不同材质球体
- 漂浮广告,兼容ie、firefox,多个漂浮不冲突
- VisualSVN 1.7.7 破解办法
- Microsoft JET Database Engine (0x80004005)未指定的错误解决方法总结
- oracle中去重复记录,不用distinct
- DELPHI加密字串(异或运算加密)
- VC中基于 Windows 的精确定时
- 用python进行GUI开发的选择
- 博计报表为报表添加无数据年份