OpenGL编程指南4:双缓冲实现运行

这篇博客深入解析了OpenGL编程中双缓冲的实现,包括glClearColor、glShadeModel、glClear等关键函数的作用,以及glutSwapBuffers、glutPostRedisplay等在双缓冲更新中的应用。通过讲解和实例,帮助读者理解并掌握OpenGL双缓冲技术。
摘要由CSDN通过智能技术生成

1.前言

绘制一个旋转的方块,主要为了说明glutSwapBuffers()函数的用法。
同时也为了学习如何使用GLUT控制输入设备,并打开或关闭空闲处理函数。

2.OpenGL编程及程序剖析

/****************************************************************
 *Rendering a rotating square,display how to use glutSwapBuffers()
 *Author:Ziheng H. Shen @ Graduate School of Tsinghua Univ.
 ****************************************************************/
#include <vgl.h>

static GLfloat spin = 0.0;

void init(void)
{
	glClearColor(0.0,0.0,0.0,0.0); //清空当前所偶有颜色
	glShadeModel(GL_FLAT); //设置着色模式
}
void display(void)
{
	glClear(GL_COLOR_BUFFER_BIT); //清除viewport的缓冲区
	glPushMatrix();//将当前矩阵保存入堆栈顶(保存当前矩阵)
	glRotatef(spin,0.0,0.0,1.0);
	glColor3f(1.0,0.0,0.0);
	glRectf(-25.0,-25.0,25.0,25.0);
	glPopMatrix();
	glutSwapBuffers();//实现双缓冲技术,交换两个缓冲区指针。
}
void spinDisplay(void)
{
	spin = spin + 2.0;
	if(spin > 360.0)
		spin = spin - 360.0;
	glutPostRedisplay(); // 标记当前窗口需要
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值