我已經有我的遊戲加載了在正確的尺寸,顯示背景和播放一些背景音樂,這應該是一個登錄畫面,我從來沒有與圖形之前搞砸,雖然我知道如何編寫大部分的服務器/客戶端通信以便不會成爲問題。的OpenGL圖像繪製
如何繪製多幅圖像,以及如何將它們放在我想要的位置?
更重要的是,OpenGL是否支持PNG圖像的「透明」功能?因爲這就是我開發我的啓動畫面由具有半透明登錄框,半透明按鈕等
我知道如何加載圖像,雖然畫他們是一個不同的故事..
public void drawStartScreen() {
Color.white.bind();
c.getAssets().backgroundImage.bind(); // or GL11.glBind(c.getAssets().backgroundImage.getTextureID());
GL11.glBegin(GL11.GL_QUADS);
GL11.glTexCoord2f(0, 0);
GL11.glVertex2f(0, 0);
GL11.glTexCoord2f(1, 0);
GL11.glVertex2f(c.getAssets().backgroundImage.getTextureWidth(), 0);
GL11.glTexCoord2f(1, 1);
GL11.glVertex2f(c.getAssets().backgroundImage.getTextureWidth(),
c.getAssets().backgroundImage.getTextureHeight());
GL11.glTexCoord2f(0, 1);
GL11.glVertex2f(0, c.getAssets().backgroundImage.getTextureHeight());
GL11.glEnd();
if(playMusic == true) {
c.getAssets().backgroundMusic.playAsMusic(1.0f, 1.0f, true);
playMusic=false;
}
}
我不明白如何使用上面的代碼來移動圖像,所以我不能寫我自己的方法來「填充」上面的代碼與「參數」。
我試圖讓我的輔助圖像繪製到客戶端的中間,我知道人們會看不起我,這雖然這就是我說的是哪裏的一些輕微的例子我編程經驗來自於爲Runescape創建多年的基於服務器的模擬器,因此下面我將留下一張圖像,顯示背景上的「登錄框」。這些按鈕透明並帶有黑色邊緣,可讓您看到它下面的登錄框,除了黑色邊框的繪製位置。
這就是我的意思是「透明」的支持:
你能或許鏈接我的教程,演示如何使用OpenGL正確的話,因爲一切都表明得到更多的每一次較爲混亂,另外,我找不到OpenGL的projection_ortho什麼不同的方法,是我必須做出一個自定義的空白? 然而,有一個GL_ProjectionMatrix – 2013-02-21 23:43:06
@ChristianTucker:這只是對於正投影設置的幾行的簡寫。但是,如果您問這些問題清楚地表明您需要退後一步並完成OpenGL基礎知識。首先也是最重要的:忘記固定功能管道。它已經過時,自2004年以來,每個GPU都可以通過着色器進行編程。作爲教程,我建議Nicol Bolas的http://arcsynthesis.org/gltut - 遵循它,你對做什麼有着深刻的理解。 – datenwolf 2013-02-22 00:11:59
謝謝你,是的,因爲我曾經說過我以前沒有使用圖形的經驗,並且網上的教程都嚴重地將我送到各地。 – 2013-02-22 00:19:00