我正在使用pyglet(OpenGL)庫,我希望能夠在不更改窗口大小的情況下更改虛擬分辨率。例如,一個2x2盒子將在屏幕上繪製爲4x4像素。我知道我可以找到所有正在繪製並逐個縮放的東西,但這可能會很昂貴。 我無法找到這個在線的解決方案(如果它甚至存在),所以任何幫助將不勝感激。澄清:我正在考慮大多數遊戲的分辨率設置。窗口以相同尺寸保持全屏顯示,但比例發生變化。Pyglet中的比例分辨率
2
A
回答
1
說明:我正在考慮大多數遊戲的分辨率設置。窗口以相同尺寸保持全屏顯示,但比例發生變化。
不,確實變化的大小,由於屏幕分辨率改變的窗口,該窗口如下。
然而,你打算完全可能做到這一點:首先將你的圖像渲染爲所需較小尺寸的FBO,然後渲染該FBO的內容覆蓋整個窗口。在3D引擎使用某種形式的後期處理(如景深,色彩分級,合成效果)的情況下,這實際上是免費的。
4
您需要導入的openGL以訪問縮放功能:
from pgylet.gl import *
接下來,拋在下面的代碼你的遊戲的窗口已被初始化後:
#These arguments are x, y and z respectively. This scales your window.
glScalef(2.0, 2.0, 2.0)
此時你分辨率將翻倍,但您的窗口將保持相同的大小。您可以通過將窗口的寬度和高度加倍來輕鬆修正此問題。此外,你的紋理會顯得模糊,所以我們需要修復它。我們需要設置紋理參數在on_draw()函數:
def on_draw(self):
self.clear() #clears the screen
#The following two lines will change how textures are scaled.
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST)
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST)
self.label.draw() #blits the label to the screen
您現在應該有雙原始大小顯示像素。
相關問題
- 1. pyglet的屏幕分辨率提高了
- 2. pyglet屏幕分辨率變成變量
- 3. 分辨率和寬高比
- 4. Win 8 MonoGame - 遊戲分辨率與屏幕分辨率對比
- 5. XNA比例分辨率,同時保持寬高比?
- 6. 默認分辨率比我的設備
- 7. 圖像保存點位置的比例分辨率
- 8. 不同分辨率的統一UI縮放比例
- 9. 多分辨率/分辨率C++容器
- 10. 如何檢查iOS中視頻的分辨率,比特率
- 11. 使用opencv增加圖像比例和最大化分辨率?
- 12. 根據分辨率通過FollowHyperlink事件調整縮放比例
- 13. Leaflet:根據設備/分辨率設置初始縮放比例
- 14. 如何根據圖像分辨率確定最大比例尺
- 15. 網站分辨率修復Javascript中的所有分辨率
- 16. 分辨率與處理時間對比
- 17. 移動分辨率和CSS長寬比
- 18. Java:JFrame分辨率?
- 19. WinForm分辨率
- 20. RawInput分辨率
- 21. CAShapeLayer分辨率
- 22. Javax.new.ssl.SSLHandShakeException分辨率
- 23. BlackBerry分辨率
- 24. 多分辨率
- 25. CentOS中的低分辨率
- 26. WPF中的分辨率
- 27. 低分辨率Mandelbrot分形不...足夠高的分辨率?
- 28. 用於超分辨率的Tensorflow的可變分辨率
- 29. 支持多種分辨率時的分辨率與尺寸
- 30. Unity中級聯分辨率
「我正在考慮大多數遊戲的分辨率設置。」遊戲中的分辨率設置會更改顯示器顯示的分辨率。對於全屏遊戲,這會改變*桌面*分辨率。 – 2011-12-19 02:50:23