前面講了 Shader 跟 Texture 都是外觀的表現,但這些都是靜態的圖像,那在 OpenGL 要怎麼讓圖像動起來呢?當然,你可以每一幀都重新配置 VBO ,但這太消耗資源了,更好的方法是用 矩陣(Matrix) 將座標 轉換(Transform) 過去
向量 Vector
方向,由方向和大小組成
可以用為每個頂點增加顏色來為圖形添增細節,來建構有趣的圖像。但必須要有足夠多的頂點、顏色,這會帶來很多開銷,每個模型的頂點就會變得很多。
紋理(Texture)是一個 2D 的圖片,可以用來增添物體的細節,可以想像 Texture 就像是個有圖案的紙,貼合在 3D 的物體上,這樣就可以讓物體不用增加頂點就增加細節。
題外話,Texture 除了圖像之外還能用來儲存大量資訊發送到 Shader 上。
由於比賽地點在台中,所以我們學校的隊伍會在前一天下午搭遊覽車下去,住在旅店隔天再搭車到逢甲。這天睡到 10 點多才起來,從床上爬起來後,前一天已經先打包行李的緣故,沒花多少時間就出門了(然後就忘記帶手機充電器了)
到了學校後準備要印 codebook ,發現有個隊員已經先到,印好 codebook 後,稍微消磨下時間後就跟隊友前往校門口的十字架下等遊覽車來(體感溫度有 3X 度,實在有夠熱)
大約兩個多小時的車程後,到了台中的旅店,下車後覺得新奇的是台中的市區怎麼是規劃的方方正正的,一條路可以直接看到底部。旅店的房間是八個人一間房,床是上下舖,放好行李後我們便走到附近的一家烤肉飯吃晚餐,仰角很小的太陽不但很刺眼還很炙熱,尤其是人又很多,我們等了約 15-20 分鐘才開始吃飯。當然比賽前一天晚上喝酒的優良傳統依然有保留下來,原本打算一點多睡的我,因為室友響亮的鼾聲,我到了三點才睡著。
GLSL(OpenGL Shading Language Language)是 OpenGL 的著色器語言,它長得有點像C語言,一個 Shader 通常長這樣:
1 |
|
在 OpenGL 中,所有東西都在 3D 的空間中,而螢幕是 2D 的陣列
Render Pipeline 被劃分成多個階段,前一個階段的輸出會作為下一個階段的輸入,每個階段都是高度專門化的
去年也參加過 AIS3 pre-exam 見去年心得,這似乎是變成每年這個時間的定番了呢(笑),
今年課程部份依舊是上課一星期,最後有 Group Project 發表的形式,而不同的是今年因為疫情的影響,原訂辦在交大,後來改至台科大舉辦。
CLion是一款專為開發C及C++所設計的跨平台IDE。它是以IntelliJ為基礎設計的,包含了許多智慧功能來提高開發人員的生產力。支援代碼分析、快速修復和重構,集合的除錯器可以用 GDB 或 LLDB 作為後端,輕鬆調查和解決問題,能夠為程序員提供一個整合式的C/C ++開發環境