2011-04-29 125 views
0

我想在屏幕上畫一個簡單的2D火柴人。我也希望它是反鋸齒的。在OpenGL中繪製一個簡單的反鋸齒火柴人

問題是我想使用一個骨骼系統,這個系統會在我知道如何根據關節位置繪製火柴人本身之後寫出來。這意味着我不能使用精靈 - 我希望我的火柴人在代碼中完全可控。

如果能夠繪製曲線,那將會很棒。

如果不是更好,使用模型繪製3D火柴人也會很棒。相機將會像2D一樣定位,但我仍然會有深度。問題是我只有Maya的經驗,並且在OpenGL中模型的輸出和頂點加權看起來像一團糟......

我試圖找到二維抗鋸齒繪圖的庫或啓用多采樣和繪圖通常,但我沒有運氣。我也嘗試過使用OpenGL的原生反鋸齒,但似乎不推薦使用,而且線條連接不好...

我不希望它太複雜,因爲它不應該是 - 它只是我的計劃的第一部分,它的繪製火柴人 ...

我希望你們能幫助我,我敢肯定,你比我更清楚:)

+0

你有沒有寫過任何代碼?你嘗試過什麼嗎?我們不在這裏爲您編寫代碼,我們可以幫助您解決具體問題。 – 2011-04-29 10:43:48

+0

我做過了,但沒用。我不需要你爲我寫任何代碼,我只需要一個方向,因爲現在我有點失落。 – crazyspacemonkey 2011-04-29 11:14:06

回答

4

您可以啓用GL_SMOOTH。要檢查您的設備是否支持您所需的線條寬度以獲得平滑線條,可以使用glGet(GL_SMOOTH_LINE_WIDTH_RANGE);

如果你希望你的代碼是通用的,你也可以使用抗鋸齒紋理。 看看這個鏈接

http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node62.html

+0

看起來很有意思,謝謝! – crazyspacemonkey 2011-04-29 11:17:06

+0

雖然看起來我需要自己實現這個方法,但它確實是我的最後一個選擇 - 我在尋找類似cairo的東西,可以用於遊戲。我不需要超高質量,只需要基本的抗鋸齒和與OpenGL的集成。 – crazyspacemonkey 2011-04-29 11:40:25

0

獲得抗鋸齒是使用GL庫,它知道如何讓抗鋸齒GL背景下,example,SDL的唯一途徑。作爲火柴人,你可以用彩色多邊形繪製他。

+0

這個例子使用多重採樣,所有卡都不支持(我的也不支持它),所以我需要更通用的東西,但謝謝! – crazyspacemonkey 2011-04-29 11:16:54

+0

@crazyspacemonkey:如果你的顯卡不支持多重採樣/全屏抗鋸齒,我會非常驚訝。即使我的1999年GeForce2可以做一些FSAA。 – datenwolf 2011-04-29 12:38:10

+0

我有英特爾GMA X3000,我試圖啓用它,但我不能,因爲GL_MULTISAMPLE_ARB不在我從wglGetExtensionsStringARB獲得的擴展名列表中。如果有什麼我在這裏看不到...... :) – crazyspacemonkey 2011-04-29 13:28:48