1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 三 OpenGL常见平面图形绘制代码

三 OpenGL常见平面图形绘制代码

时间:2023-09-01 02:47:16

相关推荐

三 OpenGL常见平面图形绘制代码

// 代码模板

#include <glut.h>void displayFunc(){glClearColor(0.0f, 0.0f, 0.0f, 0.0f);// 在RGB模式下,使用glClearColor清空之后画布的颜色glClear(GL_COLOR_BUFFER_BIT);// 清空画布glColor3f(1.0f, 0.0f, 0.0f);// 设置画笔颜色// do somethinsglFlush();// 清空缓冲区,立即执行绘制命令}int main(int argc, char* argv[]){glutInit(&argc, argv);// 对GLUT进行初始化glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);// 设置显示模式(RGB颜色|单缓冲,对应的还有索引颜色和双缓冲)glutInitWindowPosition(100, 100);// 设置窗口的默认显示位置glutInitWindowSize(400, 400);// 设置窗口的大小glutCreateWindow("OpenGL");// 设置窗口的标题glutDisplayFunc(&displayFunc);// 设置绘图函数glutMainLoop();// 开启消息循环return 0;}

// 画点

void displayFunc(){glClearColor(0.0f, 0.0f, 0.0f, 0.0f);// 在RGB模式下,使用glClearColor清空之后画布的颜色glClear(GL_COLOR_BUFFER_BIT);// 清空画布glRectf(0.0f, 0.0f, 0.5f, 0.5f);// 换一个矩形glColor3f(1.0f, 0.0f, 0.0f);// 设置画笔颜色glPointSize(5.0f);// 设置点的大小// 画直线glBegin(GL_POINTS);// 设置绘制模式为点glVertex2f(-0.5f, 0.0f);glVertex2f(-0.5f, -0.5f);glEnd();glFlush();// 清空缓冲区,立即执行绘制命令}

// 画线

将画点中的GL_POINTS改为GL_LINE就可以画线;

将画点中的glPointSize改为glLineWidth可以设置线宽。

// 画三角形

void displayFunc(){glClearColor(0.0f, 0.0f, 0.0f, 0.0f);// 在RGB模式下,使用glClearColor清空之后画布的颜色glClear(GL_COLOR_BUFFER_BIT);// 清空画布glColor3f(1.0f, 0.0f, 0.0f);// 设置画笔颜色// 画三角形glBegin(GL_TRIANGLES);// GL_POLYGON绘制模式三角形glVertex2f(-0.5f, 0.0f);glVertex2f(-0.5f, -0.5f);glVertex2f(0.0f, -0.5f);glEnd();glFlush();// 清空缓冲区,立即执行绘制命令}

// 画矩形

void displayFunc(){glClearColor(0.0f, 0.0f, 0.0f, 0.0f);// 在RGB模式下,使用glClearColor清空之后画布的颜色glClear(GL_COLOR_BUFFER_BIT);// 清空画布glColor3f(1.0f, 0.0f, 0.0f);// 设置画笔颜色// 画两个点glBegin(GL_POLYGON);// GL_POLYGON绘制模式为多边形glVertex2f(-0.5f, 0.0f);glVertex2f(-0.5f, -0.5f);glVertex2f(0.0f, -0.5f);glVertex2f(0.0f, 0.0f);glEnd();glFlush();// 清空缓冲区,立即执行绘制命令}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。