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 buffersglFlush();
}
void myidle()
{theta += 0.2;if(theta>360.0)theta -= 360.0;glutPostRedisplay();
}
void init()
{//set color to blackglClearColor(0.0,0.0,0.0,0.0);//set fill color to whiteglColor3f(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;
}
程序本生一点也不难,只要高清楚矩形的四点的坐标如何表示就可以
OpenGL中简单动画之矩形旋转相关推荐
- 实验二:OpenGL的简单动画
实验二:OpenGL的简单动画 一.实验目的 1.掌握OpenGL的闲置函数. 2.掌握OpenGL的时间函数. 3.掌握OpenGL的简单动画功能. 4.了解OpengGL裁剪窗口.视区.显示窗 口 ...
- OpenGL中平移函数glTranslatef()、旋转函数glRotatef()的理解
https://blog.csdn.net/tan_handsome/article/details/50614146 void glTranslatef(GLfloat x,GLfloat y,GL ...
- OpenGL中平移函数glTranslatef()、旋转函数glRotatef()的理解(非常好的文章)
void glTranslatef(GLfloat x,GLfloat y,GLfloat z); 函数功能:沿X轴正方向平移x个单位(x是有符号数) 沿Y轴正方向平移y个单位(y是有符号数) ...
- Learn OpenGL(七)——OpenGL中使用着色器的基本步骤及GLSL渲染简单示例
OpenGL着色语言(OpenGL Shading Language,GLSL)是用来在OpenGL中着色编程的语言,是一种具有C/C++风格的高级过程语言,同样也以main函数开始,只不过执行过程是 ...
- 关于在Opengl中先平移后旋转和先旋转后平移的效果不一样的原因
一.现象 在OpenGL中先移动后旋转与先旋转后移动的最终效果是并不一定相同的,也就是说在Opengl中如果调用函数glTranslatef和函数glRotatef的次序不同,即使参数一样,效果也可能 ...
- three.js创建简单动画(vue中使用three.js59)
简单动画 1.demo效果 2.知识要点 2.1 three.js动画分类 2.1.1基础动画 2.1.2移动相机 2.1.3变形和蒙皮 2.1.4加载外部动画 2.2 基础动画实现方式 2.2.1 ...
- c语言中的简单动画(带有源码)
c语言中的简单动画(带有源码) 动画 1. 怎样实现动画 相信大家已经对动画的原理已经不陌生了.想要目标物体动起来,只需要逐个播放目标物体每一时刻位 置的图片.只要播放的速度足够快,人们就会在视觉上认 ...
- OpenGL中的平移旋转缩放
1.opengl中缩放使用的函数是glScalef 其原型为void glScalef(GLfloat x, GLfloat y, GLfloat z); 该函数表示模型在各轴上进行扩大和缩 ...
- html中flash的简单动画效果,css 动画效果
要搞就搞明白,一知半解时停止研究 损失最大 css3意义: CSS3 动画 通过 CSS3,我们能够创建动画,这可以在许多网页中取代动画图片.Flash 动画以及 JavaScript. 重点知识 C ...
最新文章
- gcc 编译 java,编译lineage,gcc的版本问题
- 详解FTP服务完成Linux和WIN10之间的信息传输(实验详解)
- STL编程:C++的忠告!
- Java 8仍然需要LINQ吗? 还是比LINQ更好?
- gulp学习笔记,基本使用流程,基本函数,使用监听、插件
- NAS: One-Shot
- ZUST蓝桥杯校内选拔赛(java,c)安吉校区
- 【POJ 1228】Grandpa's Estate【稳定凸包】
- OJ(Online Judge)系统及ACM测试题库大全
- 基于Java坦克大战小游戏设计(3)
- Xcode如何实现iphone真机测试
- 【车道线检测】霍夫变换(HoughLines)检测直线详解
- 百度地图点击获取定位信息以及定位的经纬度
- C语言课设分享:图片加载
- 图神经网络推荐方向--论文代码读记
- UE4入门学习4:C++编程介绍
- Mac?Windows?游戏本?大学生到底该如何选择适合自己的笔记本
- WOL网络唤醒在微星主板上开启 - ubuntu 20.04
- Linux上实现CPU亲缘
- Lemur的disk index
热门文章
- [R]指令总结-查看系统运行时间
- 总结5个比较好用的JAVA报表工具
- 解决 RIDE 执行输出日志中文乱码(RIDE 1.7.4.2)
- 2019ccpc秦皇岛赛区K. MUV LUV UNLIMITED(博弈)
- java迭代器和for循环区别_迭代器和增强for循环
- [C语言指针练习二]字符串逆序,使用指针,写一个函数,可以逆序字符串的内容。
- netty系列之:netty实现http2中的流控制
- ubuntu 禁用笔记本触摸板 hp4321s
- c语言中如何将字符串转成16进制,用c语言写一个函数把十进制转换成十六进制,该如何处理...
- 水电抄表预付费一体化平台