即时通讯想要不调用glClear的深度或颜色位,因为我想能够看到所有以前渲染的帧。它的确行得通,除了它在整个x轴和y轴上重复模型,还会产生一些奇怪的灰色块状线条。有没有办法做到这一点?我在android上使用opengl es 3。感谢您的任何帮助。不调用glclear导致奇怪的文物
回答
在帧的开始时的默认帧缓冲器的内容是不确定的,尤其是在基于瓦片的渲染器,其中大部分的移动GPU的是。您在X和Y轴上的“重复”可能只是显示特定GPU上的图块的大小(例如,它只是倾倒出GPU本地图块RAM中的任何内容,重复N次以完全覆盖屏幕)。
如果您想渲染上一帧的顶部,则需要配置渲染上下文配置以使用EGL_BUFFER_PRESERVED
(默认值为EGL_BUFFER_DESTROYED
)。 E.g:
eglSurfaceAttrib(m_display, m_surface, EGL_SWAP_BEHAVIOR, EGL_BUFFER_PRESERVED);
注1:这会招致一些开销(表面被有效复制回瓷砖本地内存),而与表面丢弃开始或废止,或明确通常是免费的。
注2:这只会保存颜色数据;没有办法在默认帧缓冲区的帧之间保存深度或模板。
这是一个可以在执行过程中打开和关闭的设置吗? –
是的,虽然在上下文创建时通常会执行此操作(通常您会更改用于利用保留或已销毁状态的呈现算法,因此它并不总是您可以平滑地打开或关闭的设置)。 – solidpixel
你知道我如何得到一个eglcontext?它的第一行崩溃它 –
- 1. 奇怪的MySQL导致
- 2. 奇怪的MySQL导致ASP
- 3. 奇怪的getName()导致
- 4. 的jQuery:函数调用两次导致奇怪的行为
- 5. Ajax调用导致一个奇怪的错误
- 6. 奇怪的javascript导致错误
- 7. Rapidxml导致奇怪的问题
- 8. vector ::擦除导致奇怪的行为
- 9. 奇怪的iAd错误导致崩溃
- 10. NSTimer导致一些奇怪的延迟
- 11. insertNewObjectForEntityForName的奇怪行为导致NSInternalInconsistencyException
- 12. scanf()导致奇怪的结果
- 13. php usort()导致奇怪的结果
- 14. mutex_init()导致奇怪的段错误
- 15. Powershell:GetType导致下载的奇怪行为
- 16. Firebase规则导致奇怪的行为
- 17. 位移导致奇怪类型转换
- 18. MySql INNER JOIN导致“奇怪”数组
- 19. 奇怪的文物与圆角半径
- 20. 使用FasterCSV导出到csv导致奇怪的标点符号
- 21. java中的奇怪事物
- 22. 导致奇怪的锚定行为的阿拉伯文本
- 23. 如何在django模板中调试奇怪的文物?
- 24. XHTML /移动1.2 DOCTYPE是导致怪异的文物
- 25. 从Flask应用程序调用Python Eve导致奇怪的错误
- 26. 奇怪/不一致的SSIS行导入错误
- 27. 奇怪的问题,把session_start()导致页面不加载
- 28. 不同的时区导致Highstock ticks显示奇怪
- 29. 为什么我的jscrollpane导致java swing中奇怪的paint调用?
- 30. OpenGL ES图形问题不调用glClear()
所以你不想清除前一帧,但你抱怨看到前一帧?你应该决定是否要一个或另一个 – JustSid
我希望它能够工作,因为我期望不会发疯。我从一个线的一个端点旋转画一个圆,我想保持帧看到整个圆画 –
你忘了第一次清除它吗?在开始绘画之前,您仍然应该清除一次。但确保在你这样做之前,场景被加载,视口集和缓冲区被绑定... –