#include"stdafx.h"
#include <glut.h>
#define WIDTH 800
#define HEIGHT 800
static GLfloat angle1 = 0.0f;
static GLfloat angle2 = 0.1f;
static GLfloat angle3 = 0.2f;
static GLfloat angle4 = 0.3f;
static GLfloat angle5 = 0.4f;
static GLfloat angle6 = 0.5f;
static GLfloat angle7 = 0.6f;
static GLfloat angle8 = 0.7f;
static GLfloat angle9 = 0.8f;
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// 创建透视效果视图
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(90.0f, 1.0f, 1.0f, 20.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 5.0, -10.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
{
GLfloat sun_light_position[] = {0.0f, 0.5f, 0.5f, 0.0f};
GLfloat sun_light_ambient[] = {0.0f, 0.0f, 0.0f, 1.0f};
GLfloat sun_light_diffuse[] = {1.0f, 1.0f, 1.0f, 1.0f};
GLfloat sun_light_specular[] = {1.0f, 1.0f, 1.0f, 1.0f};
glLightfv(GL_LIGHT1, GL_POSITION, sun_light_position);
glLightfv(GL_LIGHT1, GL_AMBIENT, sun_light_ambient);
glLightfv(GL_LIGHT1, GL_DIFFUSE, sun_light_diffuse);
glLightfv(GL_LIGHT1, GL_SPECULAR, sun_light_specular);
glEnable(GL_LIGHT1);
glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
}
// 定义太阳光源,它是一种白色的光源
{
GLfloat sun_light_position[] = {0.0f, 0.0f, 0.0f, 0.1f};
GLfloat sun_light_ambient[] = {0.0f, 0.0f, 0.0f, 1.0f};
GLfloat sun_light_diffuse[] = {1.0f, 1.0f, 1.0f, 1.0f};
GLfloat sun_light_specular[] = {1.0f, 1.0f, 1.0f, 1.0f};
glLightfv(GL_LIGHT0, GL_POSITION, sun_light_position);
glLightfv(GL_LIGHT0, GL_AMBIENT, sun_light_ambient);
glLightfv(GL_LIGHT0, GL_DIFFUSE, sun_light_diffuse);
glLightfv(GL_LIGHT0, GL_SPECULAR, sun_light_specular);
glEnable(GL_LIGHT0);
glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST);
}
// 定义太阳的材质并绘制太阳
{