void myDisplay01()
{
glEnable(GL_DEPTH_TEST);//使用深度測驗解決由于后繪制的物體遮擋住先繪制的物體,并在繪制畫面開始時清空深度緩沖
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();//當前矩陣設為單位陣
gluPerspective(75, 1, 1, 400000000);//將當前矩陣與投影矩陣相乘
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);//改變觀察點位置
//繪制紅色的太陽
glColor3f(1.0f, 0.0f, 0.0f);
glutSolidSphere(69600000, 20, 20);
//繪制藍色的地球
glColor3f(0.0f, 0.0f, 1.0f);
glRotatef(day / 360.0 * 360.0, 0.0f, 0.0f, -1.0f);//設定繞z軸的角度
glTranslatef(150000000, 0.0f, 0.0f);
glutSolidSphere(15945000, 20, 20);
//繪制藍色的月亮
glColor3f(0.0f, 1.0f, 0.0f);
glRotatef(day / 30.0 * 360.0 - day / 360.0 * 360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(38000000, 0.0f, 0.0f);
glutSolidSphere(4345000, 20, 20);
glFlush();
}
int main(int argc,char*argv[])
{
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB );
glutInitWindowPosition(100, 100);
glutInitWindowSize(600, 600);
glutCreateWindow("opengl程式");
glutDisplayFunc(&myDisplay01);
glutMainLoop();
system("pause");
return 0;
}
uj5u.com熱心網友回復:
#include <stdlib.h>
#include <GL\glut.h>
float day=1.0f;
void myDisplay01()
{
glEnable(GL_DEPTH_TEST);//使用深度測驗解決由于后繪制的物體遮擋住先繪制的物體,并在繪制畫面開始時清空深度緩沖
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();//當前矩陣設為單位陣
gluPerspective(75, 1, 1, 400000000);//將當前矩陣與投影矩陣相乘
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1);//改變觀察點位置
//繪制紅色的太陽
glColor3f(1.0f, 0.0f, 0.0f);
glutSolidSphere(69600000, 20, 20);
//繪制藍色的地球
glColor3f(0.0f, 0.0f, 1.0f);
glRotatef(day / 360.0 * 360.0, 0.0f, 0.0f, -1.0f);//設定繞z軸的角度
glTranslatef(150000000, 0.0f, 0.0f);
glutSolidSphere(15945000, 20, 20);
//繪制藍色的月亮
glColor3f(0.0f, 1.0f, 0.0f);
glRotatef(day / 30.0 * 360.0 - day / 360.0 * 360.0, 0.0f, 0.0f, -1.0f);
glTranslatef(38000000, 0.0f, 0.0f);
glutSolidSphere(4345000, 20, 20);
glFlush();
}
int main(int argc,char*argv[]) {
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_RGB );
glutInitWindowPosition(100, 100);
glutInitWindowSize(600, 600);
glutCreateWindow("opengl程式");
glutDisplayFunc(&myDisplay01);
glutMainLoop();
system("pause");
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/208761.html
標籤:工具平臺和程序庫
上一篇:為啥結果總是請按任意鍵??
下一篇:反猜數游戲編程怎么做
