linestipple.c

来自「opengl source code download」· C语言 代码 · 共 71 行

C
71
字号
#include <windows.h>
#include <GL/gl.h>
#include <GL/glu.h>
#include <GL/glaux.h>

void myinit(void);
void CALLBACK display(void);

#define drawOneLine(x1,y1,x2,y2) glBegin(GL_LINES); \
    glVertex2f ((x1),(y1)); glVertex2f ((x2),(y2)); glEnd();


void myinit (void)
{
    glClearColor (0.0, 0.0, 0.0, 0.0);
//    glShadeModel (GL_FLAT);

}

void CALLBACK display(void)
{
    glClear (GL_COLOR_BUFFER_BIT);
    glColor3f (1.0, 1.0, 1.0);

	glLineWidth(10.0);
    glBegin(GL_LINE_STRIP);
	   glLineWidth(10.0);
	   glColor3f(1.f,0.f,0.f);
	   glVertex2f(10,300);
	   glLineWidth(1.0);
	   glColor3f(1.f,1.f,0.f);
	   glVertex2f(190,300);
	   glLineWidth(1.0);
	   glColor3f(1.f,1.f,1.f);
	   glVertex2f(390,300);
	glEnd();

    glEnable(GL_LINE_STIPPLE);
	glLineStipple(1,0x0101);
    drawOneLine (50.0, 75.0, 350.0, 75.0);
	glLineStipple(1,0x00ff);
    drawOneLine (50.0, 50.0, 350.0, 50.0);
	glLineStipple(1,0x1c47);
    drawOneLine (50.0, 25.0, 350.0, 25.0);

	glLineWidth(5.0);
	glLineStipple(1,0x0101);
    drawOneLine (50.0, 150.0, 350.0, 150.0);
	glLineStipple(1,0x00ff);
    drawOneLine (50.0, 125.0, 350.0, 125.0);
	glLineStipple(1,0x1c47);
    drawOneLine (50.0, 100.0, 350.0, 100.0);

	glLineWidth(1.0);
	glLineStipple(2,0x00ff);
    drawOneLine (50.0, 200.0, 350.0, 200.0);
	glLineStipple(5,0x00ff);
    drawOneLine (50.0, 175.0, 350.0, 175.0);

    glFlush ();
}

void main()
{
    auxInitDisplayMode (AUX_SINGLE | AUX_RGB);
    auxInitPosition (0, 0, 400, 400);
    auxInitWindow ("Line stipple");
    myinit ();
    auxMainLoop(display);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?