游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2908|回复: 5

OPENGL中动画刷新速度问题

[复制链接]

1

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2006-4-16 18:43:00 | 显示全部楼层 |阅读模式
画了一个飞机飞行,定时器每隔20ms更新视图,但是一顿一顿的,定时器间隔缩短也没用,
SwapBuffers(wglGetCurrentDC());前用glFinish();也不行,而且画飞机用glCallList();了也没用,感觉动画不够细腻
如何解决?
如何调节FPS?
3d Explorer调用的3DS文件旋转的时候一点都不卡的

180

主题

3511

帖子

3520

积分

论坛元老

Rank: 8Rank: 8

积分
3520
发表于 2006-4-18 13:37:00 | 显示全部楼层

Re:OPENGL中动画刷新速度问题

能公开原程序代码吗?

3

主题

18

帖子

30

积分

注册会员

Rank: 2

积分
30
发表于 2006-4-18 17:07:00 | 显示全部楼层

Re: OPENGL中动画刷新速度问题

SwapBuffers(wglGetCurrentDC());

就看这一行代码就有点问题,每次都去wglGetCurrentDC()!能不慢吗?!

24

主题

256

帖子

267

积分

中级会员

Rank: 3Rank: 3

积分
267
发表于 2006-4-18 18:22:00 | 显示全部楼层

Re:OPENGL中动画刷新速度问题

感觉是有问题,最好不用CDC

如果是我,我不会使用定时器来控制时间间隔。
而是在消息循环中不停地用空闲时间不刷屏,计算两次刷屏之间的时间间隔 t,
然后用 S2=s1 + v1t +(at^2)/2 这一物理会式来计算飞机的最新位置。

所有好的游戏都会用到 物理学,这样可以更真实地模拟现实世界。

30

主题

422

帖子

433

积分

中级会员

Rank: 3Rank: 3

积分
433
发表于 2006-4-18 19:17:00 | 显示全部楼层

Re:OPENGL中动画刷新速度问题

平滑移动的关键是帧同步和绘制位置的相对准确。

8

主题

122

帖子

122

积分

注册会员

Rank: 2

积分
122
发表于 2006-4-19 11:51:00 | 显示全部楼层

Re:OPENGL中动画刷新速度问题

不能用windows定时器消息刷新,否则最高fps也不会超过30。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-24 05:28

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表