2011-08-29 97 views
0

我想用C++繪製一個島嶼/土地的2D輪廓。這只是一個簡單的島嶼,看起來像一個here在opengl中繪製一個島的2D輪廓

我嘗試了像繪製多邊形一樣的方法,填充顏色黑色,然後硬編碼頂點的噸,以獲得島的形狀,並保持邊緣看起來很粗糙,就像例子中的那個一樣。但是我覺得這不是最好的辦法,因爲頂點的數量太多了。這也很難調整,因爲它不像我在Photoshop中,我可以直觀地拉/添加/更改點。

有沒有更好更聰明的方法來繪製2D島嶼輪廓以獲得山形邊緣?至於島嶼的整體造型,是我幼稚的種植方式噸點形成多邊形形狀的唯一途徑?

我剛剛開始使用OpenGL,並會非常感謝您的任何建議。謝謝!

+0

爲什麼不只是使用帶alpha通道/掩碼的單個紋理四元組? – Flexo

+0

嗯..帕爾如果我聽起來太新手了。由於剪影完全是黑色,爲什麼我需要紋理?我怎樣才能使用四通道和阿爾法通道掩模來繪製島嶼?我仍然需要對頂點列表進行硬編碼,或者我不需要? – Carven

+0

我認爲「awoodland」是指:繪製一個平面(2個三角形),用代表島嶼輪廓的圖像紋理,並激活alpha以獲得島嶼輪廓周圍的透明度。把飛機放在背景上,就是這樣。這樣你就可以在Photoshop中編輯它並用OpenGL顯示它。 – Valkea

回答

1

有很多方法可以解決這個問題,這裏有兩個簡單的方法;

簡單的方法:如評論中所述,在圖像編輯器(帶有alpha)中創建島並繪製爲啓用混合的四分之一/三角形。

更難的方法:導入一個矢量圖形(矢量意義點形狀)並繪製成多邊形。如果使用現有的格式,這對新手來說可能會變得複雜。此外,效果不如方法1,但可以有更好的視覺效果,特別是如果您計劃放大/縮放。

最終完全取決於你如何實現它,但第一種方法是直接簡單的,我建議對於一個新手(一定要稍後回來,並嘗試方法2儘管;))。