我想知道我的默認幀緩衝區的維度。 我讀取設置視圖端口到一個特定的值不影響/設置幀緩衝區的大小。 有沒有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#將步幅/緩衝區/寬度/高度轉換爲位圖
這是通常窗口的大小。 –