OpenGL中简单动画之矩形旋转

OpenGL动画生成最基本的方式就是,利用ilde函数进行重新绘制

那么很简单就是利用

glutPostRedisplay();
函数进行搞定

废话不多说,看程序

#include <GL/glut.h>
#include <math.h>
#define DEG_TO_RAD 0.017453
GLfloat theta = 0.0;
void display()
{
	glClear(GL_COLOR_BUFFER_BIT);
	glBegin(GL_POLYGON);
		glVertex2f(sin(DEG_TO_RAD*theta),-cos(DEG_TO_RAD*theta));
		glVertex2f(-cos(DEG_TO_RAD*theta),-sin(DEG_TO_RAD*theta));
		glVertex2f(-sin(DEG_TO_RAD*theta),cos(DEG_TO_RAD*theta));
		glVertex2f(cos(DEG_TO_RAD*theta),sin(DEG_TO_RAD*theta));
	glEnd();
	//flush GL  buffers
	glFlush();
} 
void myidle()
{
	theta += 0.2;
	if(theta>360.0)
			theta -= 360.0;
	glutPostRedisplay();
}
void init()
{
	//set color to black
	glClearColor(0.0,0.0,0.0,0.0);
	//set fill color to white
	glColor3f(1.0,1.0,0.0);
	glMatrixMode(GL_PROJECTION);
	glLoadIdentity();
	//gluOrtho2D(-1.0,1.0,-1.0,1.0);

}
int main(int argc, char *argv[])
{
	/* code */
	glutInit(&argc,argv);
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);
	glutInitWindowSize(500,500);
	glutInitWindowPosition(0,0);
	glutCreateWindow("hello");
	glutDisplayFunc(display);
	init();
	glutIdleFunc(myidle);
	glutMainLoop();
	return 0;
}

程序本生一点也不难,只要高清楚矩形的四点的坐标如何表示就可以


  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值