你如何启用垂直同步?
它简单glEnable(GL_VSYNC)
吗?(虽然在glEnable接受的选项中没有GL_VSYNC或类似的东西).
或者在opengl中没有标准的方法吗?
我现在正在写一个非常复杂和狡猾的游戏,这会让你充满敬畏和喜悦 - 哦,好吧,这是15个谜题,我只是熟悉SDL.
我正在窗口模式下运行,并使用SDL_Flip作为一般情况页面更新,因为它在窗口模式下自动映射到完整窗口的SDL_UpdateRect.不是最佳方法,但鉴于这只是15个难题......
无论如何,瓷砖移动的速度很快.IOW,窗口模式下的SDL_Flip不包括与垂直回扫的任何同步.我在Windows XP ATM中工作,但我认为这是SDL的正确行为,也会在其他平台上发生.
切换到使用SDL_UpdateRect显然不会改变任何东西.据推测,我需要在自己的代码中实现延迟逻辑.但是一个简单的基于时钟的计时器可能会导致窗口被半绘时发生更新,导致可见的扭曲(我忘记了技术名称).
编辑 这个问题被称为"撕裂".
那么 - 在SDL的窗口模式游戏中,如何将页面翻转与垂直回扫同步?
编辑 我在搜索解决方案时看到了几个声明,在窗口化的应用程序中无法将页面翻转同步到垂直回扫.在Windows上,至少,这简直是假的 - 我写过游戏(我的意思是与15拼图类似的东西).我曾经浪费过一段时间玩Dark Basic和Dark GDK--基于DirectX和同步翻页都是在窗口模式下垂直回扫.
抱歉我的英文不好,希望你能理解我的问题.
我正转过头来解决一个我以前曾经解决过的问题.问题是我在div中需要两个DIV,其中一个DIV具有给定的高度,另一个填充父div高度的其余部分.问题是第二个div(没有定义的高度,或100%的高度)需要使用垂直Scroller溢出.所有这一切都是为了制作一个"外观"相似的窗口设置,您可以在左侧操作列表,在右侧操作操作窗口.左侧列表需要一个标题,您可以在其中限制列表以及搜索.
请查看http://kokongcrm0.server111.wdc.webdeal.no/index-test.php以查找问题的示例.
所有的帮助都是很好的帮助(!)Thanx提前.如果有人可以提供帮助,我会很高兴的!
WGL_EXT_swap_control扩展允许在Windows上执行此操作,但我无法找到任何远程跨平台执行相同操作,即同步我的缓冲区交换与屏幕刷新.我的应用程序使用GLEW,所以提供的东西更可取.对Linux,Mac和Windows的跨平台支持是必要的,但如果无法设置同步,我的应用程序将不会中断(例如,用户已将其强制关闭在其图形驱动程序中).
我将接受程序代码在许多平台上使用GLEW作为有效答案.