mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
1.5 KiB
75 lines
1.5 KiB
#include <stdio.h>
|
|
#include <windows.h>
|
|
#include <gl\gl.h>
|
|
|
|
#include "skeltest.h"
|
|
#include "large1.h"
|
|
|
|
LargeTriangle::LargeTriangle()
|
|
{
|
|
td.swapbuffers = FALSE;
|
|
td.iDuration = 10000;
|
|
td.iX = 0;
|
|
td.iY = 0;
|
|
td.iW = 640;
|
|
td.iH = 480;
|
|
sprintf(td.acName, "Large Triangles (demo only)");
|
|
bd.cColorBits = 8;
|
|
bd.cDepthBits = 8;
|
|
|
|
fClr1 = 1.0f,
|
|
fClr2 = 1.0f,
|
|
fClr3 = 0.0f,
|
|
fClr4 = 0.0f,
|
|
fClr5 = 1.0f,
|
|
fClr6 = 0.0f;
|
|
}
|
|
|
|
void LargeTriangle::INITFUNCTION()
|
|
{
|
|
// Prevent a divide by zero, when window is too short
|
|
// (you cant make a window of zero width).
|
|
if(h == 0) h = 1;
|
|
|
|
// Set the viewport to be the entire window
|
|
glViewport(0, 0, w, h);
|
|
|
|
// Reset the coordinate system before modifying
|
|
glLoadIdentity();
|
|
|
|
fWindowWidth = (GLfloat) w;
|
|
fWindowHeight = (GLfloat) h;
|
|
|
|
// Set the clipping volume
|
|
glOrtho(0.0f, fWindowWidth, 0.0f, fWindowHeight, 1.0f, -1.0f);
|
|
}
|
|
|
|
void LargeTriangle::IDLEFUNCTION()
|
|
{
|
|
GLfloat fClr;
|
|
fClr = fClr1;
|
|
fClr1 = fClr2;
|
|
fClr2 = fClr3;
|
|
fClr3 = fClr4;
|
|
fClr4 = fClr5;
|
|
fClr5 = fClr6;
|
|
fClr6 = fClr;
|
|
}
|
|
|
|
void LargeTriangle::RENDFUNCTION()
|
|
{
|
|
// Set drawing colors, and draw (2) Large Triagles
|
|
glBegin(GL_TRIANGLES);
|
|
glColor3f(fClr1, fClr2, fClr3);
|
|
glVertex2f(0.0f,0.0f);
|
|
glVertex2f(0.0f,fWindowHeight);
|
|
glVertex2f(fWindowWidth,fWindowHeight);
|
|
|
|
glColor3f(fClr4, fClr5, fClr6);
|
|
glVertex2f(0.0f,0.0f);
|
|
glVertex2f(fWindowWidth,fWindowHeight);
|
|
glVertex2f(fWindowWidth,0.0f);
|
|
glEnd();
|
|
|
|
glFlush();
|
|
}
|