Projects for CG Class

Project2: 太陽系

Posted in _ by bizkit4cg on October 13, 2008

Moon

Saturn

GL lighting

GL lighting

實作

  1. 真實公轉角度大多很小(below 15 deg.) 所以乾脆不加角度了
  2. 公轉: 原理非常簡單,用上一個作業的library產生所有星球軌道上的 n 個點的座標 (目前設為先1000),再依據時間與公轉速度決定星球的位置速度是真實的,一秒10天。可以用鍵盤控制停格/加速/減速。
  3. 鍵盤控制位置: XYZ方向移動與XYZ方向旋轉。(鍵盤按鍵:ad,ws,qe / jl,ik,8,)
  4. 鍵盤控制速度: 加速/減速/停格/重置。(鍵盤按鍵: v/c/z/x)

心得

  1. 硬體不夠快,錄影的品質很糟糕。如果把動畫寫成固定的而不是用鍵盤控制,搭配 glGetPixels 函示把 frame dump 出來再 encode 成動畫應該可以克服。
  2. glut 貼 texture 會怪怪的,glu 則沒有遇到問題。
  3. Loading texture 一定不能在 display callback。跟lab1計算座標一樣:應該在init function 做好,再用 glTextureBind 來連結。
  4. 原本星球公轉半徑與星球半徑都用了真實的 data 來畫,但有些星球大小差太多(100X)不方便操作,便稍微調整了幾個星球的半徑跟公轉半徑。
Code:
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: