使用 OpenGL 製作雲霄飛車

Avatar of 鄒濬安.
Avatar of 鄒濬安.

使用 OpenGL 製作雲霄飛車

遊戲開發員
New Taipei City, Taiwan

採用 C++ 撰寫 OpenGL 並套用 Shader 等技術,呈現出,並實際調整攝影機視角來跟隨雲霄飛車,以表達對於圖學知識的靈活運用。

可控制 Panel

介面下方的控制 Panel 呈現許多功能,能讓使用者透過操作下方的 Panel 來切換與呈現該作品中的許多細節。

調整軌道形狀

該部分為曲線練習,可分別選擇三種曲線方程式來製作軌道,分別有 Bézier、Hermite 和直線連接三種模式。

基礎 Phong Shading

在地形與模型上,接套用了基本的 Phong Shading,可從右圖看出山丘有高低差與背光所導致的陰影,這樣的效果讓畫面看起來更逼竟真實的真實。

視角轉換

該部分為練習 MVP 互相轉換的部分,透過將攝影機放置在雲霄飛車上來練習從 World 視角轉變為 Model 視角。

海面 Shader & Cube Mapping

該部分為練習更進階的 Shader 操作,如海浪的曲線是透過外部將時間傳入 Shader 後,再運算出波浪的樣子,且該波浪會隨著時間推移。


我們也在這個練習中學會如何利用貼圖來達到 Cube Mapping 的效果,讓海面看起來有反射背景的感覺。

採用 C++ 撰寫 OpenGL 並套用 Shader 等技術,呈現出,並實際調整攝影機視角來跟隨雲霄飛車,以表達對於圖學知識的靈活運用。
Avatar of the user.
Please login to comment.

Published: Jul 7th 2022
78
7
0

Tools

unity
Unity
cplusplus
C++

OpenGL
C/C++

Share