[英]Problems drawing VBO with glDrawArrays using OpenGL/LWJGL
[英]Difficulty drawing a background sprite using LWJGL
我正在嘗試為正在創建的新游戲渲染背景圖像。 為此,我認為我將只創建一個簡單的Quad並首先繪制它,以使其覆蓋我的游戲背景。 問題是四邊形無法繪制到正確的尺寸,並且在屏幕上完全錯誤的位置繪制。 我正在使用LWJGL和添加的slick-util庫來加載紋理。
background = TextureHandler.getTexture("background", "png");
這行代碼基本上使用我使用slick-util編寫的類來獲取我的背景紋理。 然后,我將紋理綁定到一個四邊形,並使用glBegin()
和glEnd()
繪制它,如下所示:
// Draw the background.
background.bind();
glBegin(GL_QUADS);
{
glTexCoord2d(0.0, 0.0);
glVertex2d(0, 0);
glTexCoord2d(1.0, 0.0);
glVertex2d(Game.WIDTH, 0);
glTexCoord2d(1.0, 1.0);
glVertex2d(Game.WIDTH, Game.HEIGHT);
glTexCoord2d(0.0, 1.0);
glVertex2d(0, Game.HEIGHT);
}
glEnd();
您可能希望此塊繪制四邊形,使其覆蓋整個屏幕,但實際上並沒有這樣做。 它將其繪制在屏幕中間,如下所示: http : //imgur.com/Xw9Xs9Z
占據屏幕較大部分的彩色大精靈是我的背景,但並沒有占據我想要的全部空間。
我嘗試過的幾件事:
檢查,仔細檢查和三次檢查,以確保子畫面的大小和窗口的大小相同
調整精靈大小,使其大於和小於我的目標大小。 當我這樣做時,似乎什么都沒有改變。
將精靈放置在不同的時間間隔或弄亂glTexCoord2d()
和glVertex2d()
。 這只是一團糟,看起來不自然。
為什么這個背景精靈無法繪制到正確的大小?
如果尚未創建自己的正交投影(即使用glOrtho()
IE),則頂點坐標將需要介於-1到+1之間。 現在,您僅在該投影的左半部分上繪圖,因此可以得到此結果。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.