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.
77 lines
1.5 KiB
77 lines
1.5 KiB
/* A simple triangle program */
|
|
|
|
#include <windows.h>
|
|
#include <stdlib.h>
|
|
#include <GL/gl.h>
|
|
#include "glaux.h"
|
|
|
|
#define WIDTH 300
|
|
#define HEIGHT 300
|
|
|
|
void display(void)
|
|
{
|
|
int i;
|
|
GLfloat r, g, b, x, y;
|
|
|
|
//printf("display called\n");
|
|
glClear(GL_COLOR_BUFFER_BIT);
|
|
|
|
glColor3f(1.0F, 0.0F, 0.0F);
|
|
glBegin(GL_POINTS);
|
|
for (i=0; i< 2000; i++) {
|
|
r = (rand() % 10) / 10.0;
|
|
g = (rand() % 10) / 10.0;
|
|
b = (rand() % 10) / 10.0;
|
|
x = rand() % WIDTH;
|
|
y = rand() % HEIGHT;
|
|
|
|
glColor3f(r, g, b);
|
|
glVertex2f(x, y);
|
|
}
|
|
|
|
glEnd();
|
|
|
|
//printf("sleep 10\n");
|
|
Sleep(10*1000);
|
|
//printf("Flush\n");
|
|
glFlush();
|
|
}
|
|
|
|
void myinit(void)
|
|
{
|
|
glClearColor(0.0F, 0.0F, 0.4F, 1.0F);
|
|
glShadeModel(GL_SMOOTH);
|
|
}
|
|
|
|
void apressed(key, mask)
|
|
{
|
|
// printf("key is %d, mask is 0x%x\n", key, mask);
|
|
}
|
|
|
|
void LeftPressed(AUX_EVENTREC *event)
|
|
{
|
|
//printf("Left pressed (%d, %d)\n", event->data[AUX_MOUSEX],
|
|
// event->data[AUX_MOUSEY]);
|
|
}
|
|
|
|
void LeftReleased(AUX_EVENTREC *event)
|
|
{
|
|
//printf("Left released (%d, %d)\n", event->data[AUX_MOUSEX],
|
|
// event->data[AUX_MOUSEY]);
|
|
}
|
|
|
|
int main(int argc, char *argv[])
|
|
{
|
|
auxInitDisplayMode(AUX_SINGLE | AUX_RGBA);
|
|
auxInitPosition(100, 150, WIDTH, HEIGHT);
|
|
auxInitWindow("Tri");
|
|
myinit();
|
|
|
|
auxKeyFunc(AUX_a, apressed);
|
|
auxMouseFunc(AUX_LEFTBUTTON, AUX_MOUSEDOWN, LeftPressed);
|
|
auxMouseFunc(AUX_LEFTBUTTON, AUX_MOUSEUP, LeftReleased);
|
|
|
|
auxMainLoop(display);
|
|
|
|
return 0;
|
|
}
|