《OpenGL超级宝典》反弹的正方形动画 出不来?!

ronal7do 2014-11-06 02:30:30

#include <windows.h>
#include <stdio.h>
#define GLUT_DISABLE_ATEXIT_HACK
#include <GL/glut.h>
#include <GL/gl.h>
#include <GL/glu.h>

GLfloat x1 = 100.0f;
GLfloat y10 = 150.0f;
GLsizei rsize = 50;
GLfloat xstep = 1.0f;
GLfloat ystep = 1.0f;
GLfloat windowWidth;
GLfloat windowHeight;

void init()
{
glClearColor(0.0f,1.0f,1.0f,1.0f);
}
void RenderScene()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f,1.0f,0.0f);
glRectf(x1,y10,x1 + rsize,y10 + rsize);
glutSwapBuffers();
}
void TimerFunction(int value)
{
if(x1 > windowWidth - rsize||x1 < 0)
xstep = -xstep;
if(y10 > windowHeight - rsize||y10 < 0)
ystep = -ystep;
if(x1 > windowWidth - rsize)
x1 = windowWidth - rsize - 1;
if(y10 > windowHeight - rsize)
y10 = windowHeight - rsize - 1;
x1 += xstep;
y10 += ystep;

glutPostRedisplay();
glutTimerFunc(33,TimerFunction,1);
}

void ChangeSize(GLsizei w,GLsizei h)
{
if(h == 0)
h = 1;
glViewport(0,0,w,h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
if(w <= h)
glOrtho(0.0f,250.0f,0.0f,250.0f * h / w,1.0f,-1.0f);
else
glOrtho(0.0f,250.0f * w / h,0.0f,250.0f,1.0f,-1.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void main()
{
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowPosition(100,0);//屏幕左上角为原点(0,0)
glutInitWindowSize(600,600);
glutCreateWindow("test");
glutDisplayFunc(RenderScene);
glutReshapeFunc(ChangeSize);
glutTimerFunc(33,TimerFunction,1);
init();
glutMainLoop();
}

入体,程序是教程上面的,不知道为啥就是出不来动画。大家帮忙看看,谢谢。
...全文
72 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
课程简介:本课程详细讲解基于Assimp C++库的模型读取模块,并且做了关于动画理论、关键帧插值、骨骼动画矩阵原理、骨骼动画读取与播放等知识的详细讲解,对于游戏行业或者三维可视化从业人员会有比较大的帮助。目前很多公司已经开始构建自己的底层图形引擎,其中动画就是重要的一个版块,本课程可以让学员从原理层面以及底层代码层面了解FBX、OBJ模型的读取本质,并且梳理程序架构,编写骨骼动画。2 课程解决优势:很多同学学习骨骼动画苦于无法找到详细的资料,其中卡主的问题点也比比皆是,比如FBX内嵌材质的读取,骨骼动画各类矩阵的应用,理论结合模型读取库读出来的数据如何一一对应等。我们的课程可以带领大家从原理+实践的角度进行学习,每一个知识点都会:a 推导基础公式及原理 b 一行一行进行代码实践从而能够保证每位同学都学有所得,能够看得懂,学得会,用得上,并且能够培养自主研究的能力。3 学习课程所得:学习本课程完毕之后,学员可以全方位的完全了解基于Assimp库的模型读取结构,了解每一个变量背后的含义,并且课程拥有随堂附赠的源代码,保证同学可以随时根据老师的代码纠正自己的错误。跟随课程一行一行写完代码的同学,可以获得自己的模型读取代码库,并且深度理解骨骼动画的原理与模型读取原理 本课程含有全源代码

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧