OpenGL:绘制一个旋转的正方形

使用OpenGL提供的双缓存技术,绘制一个旋转的正方形(动画)。


什么是双缓存技术?

我们可以这样理解,若将屏幕刷新的频率放慢到肉眼可见,如果不使用双缓存技术,那么当屏幕重新绘制时,绘制的过程人也是可以清除看到的,明显我们不希望这样。采用双缓存技术,就等于说画家有两块可擦画板,当第一块画板在观众面前显示时,画家立即在另外第二块画板上绘制另一幅画,屏幕刷新,画家立即将已经画好的画放到观众面前,再在幕后重绘第一块画板,这样只要画家绘画的过程就不会被观众看到,这时我们所期待的。


贴旋转正方形的代码:

#include<stdio.h>
#define GLUT_DISABLE_ATEXIT_HACK //不写这句话总运行出错,我也不知道为啥。。。
#include<gl/GLUT.h>


static GLfloat spin = 0.0;//static:静态全局变量,只要程序运行,内存中一直存在,文件内可见,文件外不可见


void init(void)
{
glClearColor(0.0,0.0,0.0,0.0);//将清空颜色设置为黑
glShadeModel(GL_FLAT);//OpenGL1.0提供的接口。作用:设置着色模式。参数mode可以是GL_SMOOTH(默认值)或GL_FLAT。采用恒定着色时(即GL_FLAT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值