因此,假设我有一个大于包含图块的屏幕的VBO,我可以在不损失任何性能的情况下绘制整个VBO,还是只有绘制子图的方法填满屏幕的VBO的一部分? VBO会占用大部分VRAM吗? VBO的优点是速度。渲染比屏幕更大的VBO,
0
A
回答
1
VBOs只是专用于保存顶点数据的内存池。没有更多,没有更多。完全可以用单独的几何数据填充单个VBO。甚至可以在一个VBO中使用具有不同数据布局的多个数据集。
只有当您使用gl…Pointer
函数将偏移量指定给顶点属性时,才会添加一些含义。然后右边的gl…Draw
调用将使OpenGL获取VBO的数据并提交它们进行绘制。
这是没有更多,也没有少。那么,为什么我要告诉你这个?因为“VBO比屏幕大”的概念是没有意义的。由VBO中的数据描述的几何形状的部分可能在剪辑区域之外。 OpenGL老实说不关心。它会像所有其他数据一样对待。只有在顶点变换阶段之后,如果原始图像完全位于剪切区域之外,则它将在光栅化过程中被忽略。但它会穿过整个顶点设置阶段,因此消耗计算能力。
VBO会占用大部分VRAM吗?
甲VBO 是的VRAM(专用于保持顶点数据)的一部分。这就是它的重点。 OpenGL缓冲对象是从快速内存保留的内存池(并且对于所有实际的手段,快速内存等于VRAM)。期。
+0
谢谢你清理那个! – thetheodor
相关问题
- 1. VBO渲染慢
- 2. 渲染大屏幕版本的手机
- 3. 更新屏幕渲染相机位置
- 4. 离屏渲染纹理渲染屏幕上的空矩形
- 5. 屏幕渲染轨迹
- 6. opengl关闭屏幕渲染
- 7. 渲染层屏幕外
- 8. 点云渲染,交错VBO
- 9. 渲染到纹理仍渲染到OpenGLES中的屏幕
- 10. GridLayout比屏幕大
- 11. 渲染Zend_Form的(白色屏幕)
- 12. 渲染到VB.net中的屏幕
- 13. LWJGL - 渲染周期的屏幕闪烁
- 14. 的OpenGL渲染VBO不能正常
- 15. OpenGL渲染只是VBO的一部分
- 16. React-navigation StackNavigator渲染到特定屏幕
- 17. OpenGL 4.4渲染只是白色屏幕
- 18. Knockout observable不能渲染到屏幕
- 19. 评估ContentControl而不渲染到屏幕
- 20. 在Windows屏幕上渲染缓冲区
- 21. CoordinatorLayout/AppBarLayout ExpandableListView被渲染出屏幕
- 22. LibGdx屏幕:渲染和生命周期
- 23. OpenGL FrameBuffer没有渲染屏幕外
- 24. PartialView开不渲染与ViewBags屏幕值
- 25. 用Qt5做屏幕外渲染(openGL)
- 26. Linux渲染与OpenGL 3.2+ w/FBOs屏幕
- 27. 渲染到帧缓冲区和屏幕
- 28. PDF渲染器将屏幕设置为屏幕
- 29. GPU加速3D渲染可能比屏幕刷新速度更快吗?
- 30. 只更新纹理和渲染器的一部分屏幕?
你确定你不是指FBO? VBOs没有与屏幕相同的尺寸(默认帧缓冲区)技术上,FBO也没有尺寸,但是FBO附件可以。 – bcrist
@bcrist你应该在评论好友之前阅读整个问题! ;) – Vallentin
@Vallentin我做了......你怎么觉得我没有? – bcrist