主題介紹
在元智生活了三年半,轉眼間已經大三了,身為資工人每天都會待的地方就是元智一館,元智一館可說是我們資工人的家,所以作業一主要是利用一些OpenGL基本繪圖元件來將我們心中的元智一館呈現出來。
設計概念
由於不同的視角所看到的一館呈現會有不同的效果,而其中從五館俯視一館的角度我覺得是最清楚且最能呈現一館風格的角度,所以我從網路找了一張以此種角度作拍攝的照片(下面會呈現),來當我的參考圖,再根據參考圖作場景描繪。
執行成果呈現
左圖為參考照片,右圖為成果圖
成果放大圖
程式設計
1. 選擇投影的方式
OpenGL的viewing volume一開始預設是 -1到 1之間,要在預設值範圍內畫出場景,每個頂點座標都必須到小數點後幾位才可以達到精確的效果,為了改善這種情況,我選擇了正交投影 ( glOrtho) ,來改變我的viewing volume。
2. 改變照相機的位置
由於我整個場景最左下角是以0為基礎開始描繪,這時候會發生整個影像都會呈現在螢幕右上方的情形,原因是因為OpenGL的照相機位置一開始預設是照在座標( 0.0 , 0.0, -1.0),所以為了使我的影像最後可以呈現在整個螢幕的正中央,我使用gluLookat來改變照相機的設定。
3. 其餘的程式部份
除了上述兩點以外,其他部份的code我直接參考老師portal的範例1和2來做設定,並把最後呈現的視窗大小(glutInitWindowSize),改成我的viewing volume的1.5倍大。
為了有效率描繪整個場景,我描繪的順序是先描繪大範圍物體,等整個一館的外觀差不多呈現以後,再做細部的處理。
1. 描繪出整個一館的基本架構
2. 描繪柱子和房子線條
3. 描繪窗戶的基本雛型
4. 描繪出窗戶雛型的第二版
5. 描繪天空和草地
6. 描繪地板、階梯和路燈
7. 為了逼真一點,描繪幾棵樹上去
8. 最後再把所有的窗戶細部畫,大功告成
心得與討論
這次的作業起初以為只要直接把物件畫上去就可以呈現出來,所以ㄧ開始是在範圍-1到1之間作描繪,每個頂點都要算到小數點後幾位,光畫ㄧ個矩形可能就要算很久的時間,很沒效率。後來才知道還要設定投影和照相機才可以把整個場景改變,減少我在測量描繪物體座標的時間。
單純的把物體畫出來的效果看起來很不真實,所以在每個polygon的頂點都需要改變顏色,這樣描繪出來的polygon會有漸層,也就是有點陰影的效果。ㄧ開始我用的是glColor3f,所以必須把每個顏色的值,用比例方式縮到0到1之間,使用起來整個很麻煩,後來隔ㄧ週上課才知道還有glColor3ub函式可以用,所以我想用什麼顏色,直接就能把0~255之間的數字代進去,不用在算比例了。
而場景中的樹的部份,ㄧ開始我是直接用三角形去畫,不過看起來也很不真實,後來想到老師上課有使用glutSolidTeapot的內建函式來畫茶壺,翻了一下書,找到glutSolidSphere這個可以內鍵畫出ㄧ顆球的函式,之後再把描繪球的參數改小一點,看起來就有點像樹的效果了! 而因為內建函式描繪出來的圖形ㄧ開始都是設在原點處,所以我在畫出樹以後,利用glTranslatef把它移動到我想要的場景位子,有些長長的樹是運用glScalef來達到縮放的效果。
最後我覺得這次的作業雖然花了很多時間,但是也學到很多東西,而也在整個寫作業過程中思考如何ㄧ步ㄧ步簡化我的code,也能達到很真實的效果,希望能運用在將來的作業上。
色彩很不錯。分數不會低。
回覆刪除謝謝:D
刪除請問你是誰呀 0.0 ?
作者已經移除這則留言。
刪除我在贖罪。
回覆刪除下面是原因:
我是外籍生。我是去年選的計圖和3d,當時我大二。起初是把1411b的助教們當成朋友,覺得他們人挺好的,很熱心,為他們說好話。雖然助教改作業的過程是對學生勞動成果的踐踏。我爲了能當第一,隱瞞了在答疑過程中看到的改作業黑幕,爲了自己能順利拿到第一,用這種方式看著我的學長們爲了無聊的高難度的美術需求浪費了許多時間,最後還被王老師罵:“不是讓你們提早一個月準備嗎?!”眼睜睜的看著大4和已經畢業的96xxxx學長們,葬送在sketchUP+GLM上。
在最後一次demo,我做了個隱晦的manga video諷刺這些事情。王老師說我不該這樣對待我的朋友,1411b的助教們,尤其是蘇o平。我無言了,我沒有當場揭穿他的作業提示在抄襲和偽造某些data,沒有指出他在portal上胡言亂語,也沒有說用3d建模tools會讓資工學長們變成美工中的建模師的事實,看到了glm with texture也只是私下email詢問,我盡了一個朋友的責任,保全他的面子,沒有和王老師說他們怎麼“欺負”陳o媛老師,也沒有去計較最後被1411b當做失去利用價值的垃圾一樣掃地出門,從國立交通大學回來之後笑臉當做什麽都沒發生,“我原來是擅長CV啊,不是CG”。
2011年5月16日下午5點到2011年7月1日下午4點半,我進1411b,主要是去答疑,順便問問IT前沿(我的生活很閉塞),沒有在實驗室吵架,也沒有真的用病毒進攻實驗室,沒有因為你是元智升元智還是銘傳大學的學長而鄙視你;給你們嘗嘗家鄉特產,沒有計較你們把我送的吃的當毒藥。我做什麽,出於好心和疑惑,你卻當做是要害你,是不是做賊心虛呢?
只能怪自己太軟弱。怕被助教當掉,對黑幕選擇沉默,看著學長們被欺負,被蘇助教愚弄,6月15日被王老師破口罵。我的第一名,沾滿了學長們的血淚。從此,計算機圖形學之神和元智資工編程實力非常強的美名長存於1411b,而這背後是從95年到97年,三年喜愛影像處理的大學生的血淚。我很失望。
畢業論文口試的責任也與我有關?你自己玩遊戲看anime太多了吧。陳o媛老師的圖形識別課的報告,3人全部被第二輪presentation也與我有關?
對不起,佔用了你的作業部落格。
你的配色很棒。多花點時間在考試上吧。
雖然不知道確實到底發生什麼事情
刪除因為我不是當事人 有點無法明白 = =
不過還是辛苦你了。
我會加油的 謝謝 :D
你應該跟我一樣大三吧 ? 你也加油!