OpenGL(二)二维图形绘制

本文详细探讨了OpenGL如何进行二维图形的绘制,包括坐标系统、颜色设置、线条和填充模式,以及基本形状如点、线和多边形的绘制方法。通过实例代码,解释了OpenGL上下文创建和绘制流程,帮助读者掌握使用OpenGL实现二维图形的技巧。
#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);
	glfwMakeConte
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值