1. 程式人生 > >OpenGL-繪製旋轉立方體

OpenGL-繪製旋轉立方體

OpenGL繪製旋轉立方體。
編譯環境 vs2015+glut

效果圖:
MODEL

//By:ZHangFY
#include <GL/glut.h>


GLfloat rotate_angle1 = 0.0;
GLfloat dSize = 0.3; //立方體大小
void myDisplay(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glLoadIdentity();
    glRotatef(rotate_angle1, -0.3, 0.3, -0.3);//旋轉點
    glBegin(GL_QUADS);
    //上  
glColor3f(0.0, 1.0, 0.0); //綠 glNormal3d(0.0, 0.0, 1.0); //上 glVertex3d(dSize, dSize, dSize); glVertex3d(-dSize, dSize, dSize); glVertex3d(-dSize, -dSize, dSize); glVertex3d(dSize, -dSize, dSize); //下 glColor3f(0.0, 0.0, 1.0); //藍 glNormal3d(0.0, 0.0, -1.0);//下 glVertex3d(dSize, dSize, -dSize
); glVertex3d(-dSize, dSize, -dSize); glVertex3d(-dSize, -dSize, -dSize); glVertex3d(dSize, -dSize, -dSize); //前 glColor3f(1.0, 0.0, 0.0); //紅 glNormal3d(1.0, 0.0, 0.0);//前 glVertex3d(dSize, dSize, dSize); glVertex3d(dSize, -dSize, dSize); glVertex3d(dSize, -dSize, -dSize); glVertex3d(dSize, dSize, -dSize
); //後 glColor3f(0.0, 1.0, 1.0); //青 glNormal3d(-1.0, 0.0, 0.0);//後 glVertex3d(-dSize, dSize, dSize); glVertex3d(-dSize, dSize, -dSize); glVertex3d(-dSize, -dSize, -dSize); glVertex3d(-dSize, -dSize, dSize); //左 glColor3f(1.0, 0.0, 1.0); //品紅 glNormal3d(0.0, -1.0, 0.0);//左 glVertex3d(dSize, -dSize, dSize); glVertex3d(dSize, -dSize, -dSize); glVertex3d(-dSize, -dSize, -dSize); glVertex3d(-dSize, -dSize, dSize); //右 glColor3f(1.0, 1.0, 0.0); //黃 glNormal3d(0.0, 1.0, 0.0);//右 glVertex3d(dSize, dSize, dSize); glVertex3d(dSize, dSize, -dSize); glVertex3d(-dSize, dSize, -dSize); glVertex3d(-dSize, dSize, dSize); rotate_angle1 += 3; glEnd(); glFlush(); glutSwapBuffers(); } void myIdle(void) { myDisplay(); //Sleep(20); //減慢旋轉速度 } int main(int argc, char *argv[]) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE); glutInitWindowPosition(100, 100); glutInitWindowSize(400, 400); glutCreateWindow("立方體旋轉MODEL"); glutDisplayFunc(&myDisplay); glutIdleFunc(&myIdle); glutMainLoop(); return 0; }

glColor3f函式用法

0.0  -- >  不使用顏色
1.0  -- >  使用顏色的最大值
glColor3f(0.0, 0.0, 0.0);  --> 黑色  
glColor3f(1.0, 0.0, 0.0);  --> 紅色  
glColor3f(0.0, 1.0, 0.0);  --> 綠色  
glColor3f(0.0, 0.0, 1.0);  --> 藍色  
glColor3f(1.0, 1.0, 0.0);  --> 黃色  
glColor3f(1.0, 0.0, 1.0);  --> 品紅色  
glColor3f(0.0, 1.0, 1.0);  --> 青色  
glColor3f(1.0, 1.0, 1.0);  --> 白色