2009-07-07 110 views
2

我真的很新鮮OpenGL,這對我來說是一件非常糟糕的事情: 我需要用openGl畫出一顆星星,但我不確定我應該從哪裏開始。OpenGl明星繪圖

結果應該是這樣的:

是否有一個簡單的方法來做到這一點?

回答

3

最簡單的方法是繪製具有「星」紋理的紋理映射四邊形。您可以在這裏閱讀關於紋理映射的教程:http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=06

該教程教會如何使用紋理繪製立方體。 你只需繪製一張臉,而不是全部六張。

本教程是用C++編寫的,但接近尾聲時可以下載Delphi版本的源代碼。

您還可能希望稍後添加其他效果,例如透明度。你也可以在NeHe網站上閱讀。它在OpenGL上有很多有用的教程。這是學習OpenGL的好地方。

+0

問題是我不想繪製紋理映射的四邊形: 所有需要完成編碼,沒有圖像需要使用,我需要這個,因爲我確實需要改變光照水平。 謝謝你的回答! – Andy 2009-07-07 22:33:36

+1

然後你最好得到一個不同的例子。您顯示的圖像_looks_像一個有紋理的四邊形,不像多邊形數據。紋理本身當然可以從代碼生成,但這與OpenGL完全無關。你能否給我們提供一個你想達到的更好的例子? – 2009-07-08 18:50:00

2

如果您是OpenGL的新手,並且您使用的是Delphi,那麼您可能最需要的是GLScene。成熟,活潑,代碼質量非常好,當然,免費。

0

爲什麼不寫一個算法來在程序中使用2D GLuByte數組在代碼中生成紋理,如Redbook中的「checker.c」示例?不要遵循一個完美的棋盤圖案,找出如何使用glTexImage2D(...)製作該星形的2D紋理並將其映射到四邊形。