主題介紹
天空在對你微笑
這是一張兩年前某個夜晚出現的天空
(金星是地球所見最亮的行星,木星則是次亮的行星,木星與金星在仰角四十度位置,與上弦眉形的月亮,正好像兩個眼睛配上一張微笑的嘴。)
過程與成果展示
一開始我先用GL_POLYGON畫了上圖的笑臉
若是只有這個微笑,似乎有點太單調了
接著我再使用GL_POLYGON畫出操場
還是覺得有些單調,我再用GL_LINES畫出左上跟右上的煙火
然後再畫上星星,採用隨機產生的位置
再利用Mod來形成星星的明暗不同
心得與討論
這是我第一次用Open GL寫程式
一開始寫得時候還很擔心會不會無法完成這個作業
一開始寫得時候還很擔心會不會無法完成這個作業
但在開始用之後,才發現Open GL好有趣
在我畫笑臉的時候,因為座標沒算好
一再的讓笑臉變成哭臉
而在畫煙火時,看了Blog的範例
本來打算要用glLineStipple,GL_LINE_STRIP,glRotatef來畫
但查了很久的資料,依舊不會用glRotatef
所以只好放棄使用比較熟練的GL_LINES來完成。
本來希望煙火與星星可以利用Sleep來做出一閃一閃的感覺
但不知道為什麼,當我用一個For loop包住Sleep時
for(n=0;n<10;n++)
{
.
.
.
Sleep(500);
}
本來以為每跑一次迴圈會停留0.5秒,即可做出我理想中一閃一閃的感覺
但程式真的在run的時候
卻是等整個迴圈跑完(5秒),才跳出整個視窗的畫面
不知道是不是以前用來更新畫面的Sleep用法在OpenGL上不能用?
不知道是不是以前用來更新畫面的Sleep用法在OpenGL上不能用?
.
.
.
最後
最後
試了很久都沒辦法完成,只好利用Mod做顏色的不同來塑造另外一種感覺。
再利用glutPostRedisplay(),使視窗更新
來做出"一閃一閃亮晶晶"的感覺
希望在寫作業二的時候可以對OpenGL更熟練
再利用glutPostRedisplay(),使視窗更新
來做出"一閃一閃亮晶晶"的感覺
希望在寫作業二的時候可以對OpenGL更熟練
