#include "stdafx.h"
#include <GL/glut.h>
GLfloat rtri=60.0; // 設定三角形的旋轉角度
void myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glLoadIdentity(); // 重置模型觀察矩陣
glScalef (0.25, 0.25, 0.25); // 設定金字塔的縮放大小
glRotatef(rtri,0.0f,1.0f,0.0f); // 金字塔繞Y軸旋轉1.0倍rtri
glBegin(GL_TRIANGLES); // 開始繪制金字塔的各個面
glColor3f(1.0f,0.0f,0.0f); // 紅色
glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上頂點(前側面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f(-1.0f,-1.0f, 1.0f); // 三角形的左下頂點(前側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f( 1.0f,-1.0f, 1.0f); // 三角形的右下頂點(前側面)
glColor3f(1.0f,0.0f,0.0f); // 紅色
glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上頂點(右側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f( 1.0f,-1.0f, 1.0f); // 三角形的左下頂點(右側面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f( 1.0f,-1.0f, -1.0f); // 三角形的右下頂點(右側面)
glColor3f(1.0f,0.0f,0.0f); // 紅色
glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上頂點(後側面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f( 1.0f,-1.0f, -1.0f); // 三角形的左下頂點(後側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f(-1.0f,-1.0f, -1.0f); // 三角形的右下頂點(後側面)
glColor3f(1.0f,0.0f,0.0f); // 紅色
glVertex3f( 0.0f, 1.0f, 0.0f); // 三角形的上頂點(左側面)
glColor3f(0.0f,0.0f,1.0f); // 藍色
glVertex3f(-1.0f,-1.0f,-1.0f); // 三角形的左下頂點(左側面)
glColor3f(0.0f,1.0f,0.0f); // 綠色
glVertex3f(-1.0f,-1.0f, 1.0f); // 三角形的右下頂點(左側面)
glEnd();
glutSwapBuffers();
}
void main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE|GLUT_DOUBLE);
glutInitWindowPosition(100, 200);
glutInitWindowSize(400,400);
glutCreateWindow("Traingle");
glutDisplayFunc(&myDisplay);
glutMainLoop();
}