我想知道我的默认帧缓冲区的维度。 我读取设置视图端口到一个特定的值不影响/设置帧缓冲区的大小。 有没有GL的电话呢?如何获取/设置默认帧缓冲区的宽度和高度?
3
A
回答
3
您不能使用OpenGL调用设置默认帧缓冲区的大小。它是窗口的大小,由窗口系统界面控制(例如Android上的EGL)。如果你想控制它,这必须作为初始窗口/表面/上下文设置的一部分发生,其中细节依赖于平台。
我不知道具体获取默认帧缓冲区大小的调用。但是你可以很容易地间接获得它。视口和剪刀矩形的默认值都对应于窗口的大小。所以如果你在修改它们之前得到其中的任何一个,它会给你窗口的大小。
从部分2.12.1在规范“控制视口”:
在初始状态下,W和H分别被设定为宽度和高度,所述窗的到其中的GL是做它的渲染。
从在规范第4.1.2节 “剪刀测试”:
在初始状态中左=底部= 0;宽度和高度由GL窗口的大小决定。
所以,你可与获取默认的帧缓冲大小:
GLint dims[4] = {0};
glGetIntegerv(GL_VIEWPORT, dims);
GLint fbWidth = dims[2];
GLint fbHeight = dims[3];
或:
GLint dims[4] = {0};
glGetIntegerv(GL_SCISSOR_BOX, dims);
GLint fbWidth = dims[2];
GLint fbHeight = dims[3];
+0
我从'glGetIntegerv'获得所有四个零,为什么?我的窗口实际上是'640 * 480'。 – MeadowMuffins
相关问题
- 1. 设置渲染缓冲区宽度和高度(Open GL ES)
- 2. 如何设置默认操作栏的高度和宽度?
- 3. 如何设置aspx网页的默认高度/宽度?
- 4. “宽度”和“高度”默认设置的差异
- 5. 会话会保存缓冲区的宽度和高度吗?
- 6. 来自默认帧缓冲区的采样深度? (GL ES 3)
- 7. 如何获取/设置Div和表格宽度/高度
- 8. 如何设置默认的UITableViewCell高度?
- 9. 如何获取未设置宽度和高度的img元素的宽度和高度?
- 10. 如何设置默认警报对话框的高度和宽度
- 11. 获取高度和宽度
- 12. 如何在Jcrop中设置自定义高度和宽度后获取图像的原始高度和宽度
- 13. 获取没有设置高度/宽度的图像的高度/宽度
- 14. 如何获取遮罩区域的宽度和高度
- 15. 如何在设置高度后获取图像的宽度
- 16. 如何在OGRE中设置深度缓冲区(z缓冲区)的位宽/精度?
- 17. Html高度缓冲区
- 18. 设置宽度为100%,但高度是默认
- 19. 设置默认宽度和最小宽度属性
- 20. 如何更改ATL控件的默认宽度和高度?
- 21. IFrame的默认宽度/高度
- 22. 如何设置jqModal的高度宽度?
- 23. 如何将空跨度高度设置为默认行高?
- 24. 如何确定GL帧缓冲区对象的宽度和高度,只给出相应的ID
- 25. 从GLKView/GLKit获取默认帧缓冲区ID
- 26. Android |获取屏幕高度,宽度和屏幕宽度,高度
- 27. 获取MainWindow的位置/宽度/高度
- 28. 如何获取Canvas的宽度/高度?
- 29. 如何获取和设置窗口弹出的高度和宽度在Internet Explorer
- 30. C#将步幅/缓冲区/宽度/高度转换为位图
这是通常窗口的大小。 –