簡體   English   中英

使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM