opengl 看不到会动的矩形 只有蓝色窗口 程序能运行-

#include"stdafx.h"//MoveRect.c#include<windows.h>#include<gl/glut.h>#include<gl/gl.h>... #include "stdafx.h"
//MoveRect.c
#include <windows.h>
#include <gl/glut.h>
#include<gl/gl.h>
#include<gl/glu.h>
// 参数指定正方形的位置和大小
GLfloat x1 = 100.0f;
GLfloat y1 = 150.0f;
GLsizei rsize = 50;
// 正方形运动变化的步长
GLfloat xstep = 1.0f;
GLfloat ystep = 1.0f;
// 窗口的大小
GLfloat windowWidth;
GLfloat windowHeight;
void RenderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f, 0.0f, 0.0f);
glRectf(x1, y1, x1+rsize, y1+rsize);
//清空命令缓冲区并交换帧缓存
glutSwapBuffers();
}
void ChangeSize(GLsizei w, GLsizei h)
{
if(h == 0) h = 1;
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();

if (w <= h)
{
windowHeight = 250.0f*h/w;
windowWidth = 250.0f;
}
else
{
windowWidth = 250.0f*w/h;
windowHeight = 250.0f;
}
glOrtho(0.0f, windowWidth, 0.0f, windowHeight, 1.0f, -1.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}
void TimerFunction(int value)
{
// 处理到达窗口边界的正方形,使之反弹
if(x1 > windowWidth-rsize || x1 < 0) xstep = -xstep;
if(y1 > windowHeight-rsize || y1 < 0) ystep = -ystep;
if(x1 > windowWidth-rsize) x1 = windowWidth-rsize-1;
if(y1 > windowHeight-rsize) y1 = windowHeight-rsize-1;
// 根据步长修改正方形的位置
x1 += xstep;
y1 += ystep;
// 用新坐标重新绘图
glutPostRedisplay();
glutTimerFunc(33,TimerFunction, 1);
}
void SetupRC(void)
{
//设置窗口清除色为蓝色
glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
}
int main(void)
{
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutCreateWindow("Bounce");
glutDisplayFunc(RenderScene);
glutReshapeFunc(ChangeSize);
glutTimerFunc(33, TimerFunction, 1);
SetupRC();
glutMainLoop();
} 程序没错误啊,其他的程序可以运行得到想要的结果,就这个程序看不到动的矩形,求助 谢谢了,
展开
 我来答
木末的南
2014-05-09
知道答主
回答量:2
采纳率:0%
帮助的人:2738
展开全部
把主函数里面glutTimerFunc(33, TimerFunction, 1);33改成比较大的,比如glutTimerFunc(330, TimerFunction, 1);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户81292
2011-10-11 · 贡献了超过229个回答
知道答主
回答量:229
采纳率:0%
帮助的人:62.7万
展开全部
只要把glTranslatef(-1.5, 0.0, -10.0); //向左移动 这句屏蔽就能看见了,图形被你移出镜头了。
追问
没这句啊~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式