2008年12月18日

3D場景建立﹝2008/12/23﹞

有了GLM之後
要load model其實很簡單
但如果要讓畫面好看
model的品質很重要
model如果原本就設計的很好
load上去 打光之後就會很漂亮

反之如果model原本就只是黑白的
load之後還是只是黑白的
就會很難看

最後發現load的obj檔太多
而且檔案用極致壓縮後仍無法上傳portal
所以將obj等model檔另放至免空上

wsad可以控制畫面上下左右
-+可以放大縮小
滑鼠左鍵點擊移動可以改變視角





2008年10月7日

模擬立體太陽系﹝2008/10/20﹞

一開始看到題目"立體太陽系"

直接就想到了球體 所以直接上網找球體的公式

很快的就畫出圓了

地球公轉也很容易...不過到了月球繞地球 地球繞太陽

就又想了一下

最後想到其實也是一樣....只不過月球繞地球的點是一直變

只要及時回傳地球的球心座標給月球就很容易了

不過有個問題...

因為是直接用球體公式畫球 所以球都是實心的(沒有經緯線)

所以如果要自轉的話其實根本看不出來

後來經過同學的提示...可以利用glutWireSphere直接畫出有經緯線(透視架構)的球

所以就全部改成用這方法畫球了

再來就是一大考驗...

這樣沒有x y z座標 那要如何讓他自轉公轉

這對我來說是極大的考驗

上網搜尋了一些資料 發現可以用矩陣讓他旋轉

所以就大概畫了太陽系出來了


因為太陽實在太大了,所以實在無法依比例畫出

所以就先把太陽的半徑縮小10倍,而各行星的軌道比例是一樣的

現在可以利用鍵盤上的wsad鍵來移動畫面,也可以利用-=來放大或縮小畫面

現在就差月球實際公轉地球的情形與其他行星的衛星與小行星帶

至於彗星,這部分有點困難

預計以後的功能是可以按鍵直接對焦到對應的星球



目前完成材質貼圖、軌道傾角、赤道傾角、公轉自轉
目前微調了各星球的大小與軌道半徑與自轉速度
目前尚缺土星光環、太陽光照、宇宙背景
之後可能會新增小行星帶



目前已經把lighting放上去了

視角的切換也比較流暢了

2008年9月23日

第一個OpenGL程式:卡通人物圖案。﹝2008/10/6﹞



第一階段的圖案是這樣

目前知道的語法不多
看了看網路上的一些卡通圖案
幾乎都不是用完整的圓所組成的
所以畫的時候不是很像

現在畫圖可以說是用土法煉鋼
一個一個畫出來的
畫一個大圓再畫一個小圓
讓臉部線條輪廓可以出來
之後是畫嘴巴
畫個半圓 上面再補上一條直線就完成了XD
眼睛就單純的畫線條就可以了




第二階段還有腮紅+上色
腮紅的橢圓有點角度存在
所以可能要旋轉一下
可能還必須研究一下XD

目前上完色感覺有比較好一點了
至少感覺不會濫濫的
但是應該還是看不出來我畫的是哪個卡通人物吧
我發現畫"圓"都會變橢圓
明明半徑r都是一樣的值,怪怪的

接下來要掛他的臉上的一根毛
不過有點難度
因為他的毛是像彈簧一樣的(也就是捲的)
不知道該怎麼畫




第三階段把身體加上去了
試了很多方法最後還是靠點一點一點然後連接起來
完成!!!

這個身體算很完美了XD我很滿意
另外把嘴巴換了一個樣子
也加上幾滴汗
至於身體的輪廓就把它用GL_LINE_STRIP
這樣就不用一個點一個點去更改
另外我發現為什麼圓話起來不圓了
因為我是用視窗比例去當半徑的640*480的比例話起來當然是橢圓
接下來要找一下有沒有可以把線條變粗的語法
另外可能加把雨傘之類的
差不多就大功告成了

最後加上了一點互動
按鍵盤上的1跟2可以切換不同的嘴型
另外在畫面上按滑鼠右鍵可以直接關閉程式