#include "stdafx.h"
#include<GL/freeglut.h>
#include<GLFW/glfw3.h>
// 绘图函数
void display()
{
// 清空颜色缓存和深度缓存
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
// glBegin 的参数指定绘制的形状
/*
GL_POINTS 独立点集
GL_LINES 两点相连为线段
GL_POLYGON 凸多边形
GL_TRIANGLES 三角形
GL_QUADS 四边形
GL_LINE_STRIP 顶点相连为折线
GL_LINE_LOOP 顶点相连为闭合折线
GL_TRIANGLE_STRIP 三角形条带
GL_TRIANGLE_FAN 三角形扇面
GL_QUAD_STRIP 四边形条带
*/
// glEnable 用来开启 OpenGL 的各种功能
// 但是不能写在 glBegin 和 glEnd 之间
// 设置线宽
glEnable(GL_LINE_WIDTH);
glLineWidth(60.0f);
// 设置点的直径
glEnable(GL_POINT_SIZE);
glPointSize(20.0f);
// 顶点写在 glBegin() 和 glEnd() 之间
glBegin(GL_LINES);
// 指定顶点的颜色
glColor3f(0.5, 0.5, 0.9);
for (GLfloat i = 0; i < 0.8; i += 0.1)
{
for (GLfloat j = 0; j < 0.8; j += 0.1)
{
// 指定节点的坐标
glVertex2f(i, j);
}
}
// 绘图结束
glEnd();
// 刷新屏幕
glFlush();
}
int main()
{
glfwInit();
GLFWwindow* window = glfwCreateWindow(400, 400, "hello, glfw", NULL, NULL);
glfwMakeContextCurrent(window);
while (glfwWindowShouldClose(window) == GL_FALSE)
{
// 调用绘图函数
display();
glfwSwapBuffers(window);
glfwPollEvents();
}
glfwDestroyWindow(window);
glfwTerminate();
return 0;
}
OpenGL(二)二维图形绘制
猜你喜欢
转载自blog.csdn.net/lolimostlovely/article/details/82670785
今日推荐
周排行