19,468
社区成员
发帖
与我相关
我的任务
分享
//////////////////////////////////////////////////////////////////////////
// OpenGL Test01
//////////////////////////////////////////////////////////////////////////
#include <windows.h>
#include <gl/glu.h>
#include <glut.h>
#pragma comment(lib, "glui.lib")
void init()
{
glClearColor(0.0, 0.0, 0.0, 0.0); /* clear RGBA color buffer. range[0, 1] */
glShadeModel(GL_FLAT); /* use single color to draw. (GL_SMOOTH) */
}
#define drawOneLine(x1, y1, x2, y2) \
glBegin(GL_LINES); \
glVertex2f((x1), (y1)); \
glVertex2f((x2), (y2)); \
glEnd();
void display()
{
glClear(GL_COLOR_BUFFER_BIT); /* clear a specific buffer */
/* draw Red line */
glColor3f(1.0f, 0.0f, 0.0f); /* set color, RGB, range[0, 1] */
glEnable(GL_LINE_STIPPLE); /* stipple mode of line drawing */
glLineWidth(2.0f);
glLineStipple(1, 0x0101);
drawOneLine(50.0, 125.0, 150.0, 125.0);
glDisable(GL_LINE_STIPPLE);
glFlush();
}
void reshape(int w, int h)
{
glViewport(0, 0, (GLsizei)w, (GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluOrtho2D(0.0, (GLdouble)w, 0.0, (GLdouble)h);
}
int main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
glutInitWindowSize(400, 250);
glutInitWindowPosition(100, 100);
glutCreateWindow(argv[0]);
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
glutMainLoop();
return 0;
}