
OpenGL 遊戲引擎開發日誌
# 本篇說明 開發引擎是我用來考驗自己的方式,學習、理解並實作以往學到的各種圖學概念,並用上自己對物件導向與程式語言的熟悉度,希望能完成一個基本的如場景建置、粒子效果、物理碰撞、模組動畫...等等的功能。而更甚之希望當OpenGL或圖學界中有什麼新功能,可以在自己最熟悉的環境中依照概念實作。 系統環境: Windows 10 開發軟體: Visual Studio 2015 硬體設備: i7-3770 and GTX960 核心接口:
分類
11 篇文章

# 本篇說明 開發引擎是我用來考驗自己的方式,學習、理解並實作以往學到的各種圖學概念,並用上自己對物件導向與程式語言的熟悉度,希望能完成一個基本的如場景建置、粒子效果、物理碰撞、模組動畫...等等的功能。而更甚之希望當OpenGL或圖學界中有什麼新功能,可以在自己最熟悉的環境中依照概念實作。 系統環境: Windows 10 開發軟體: Visual Studio 2015 硬體設備: i7-3770 and GTX960 核心接口:
# 閒談 最近Dowen正在將模組動畫引入到遊戲引擎中,期間遇到的一個超級隱藏Bug就是glBindAttribLocation。引入模組動畫最重要的就是傳入該頂點會使用到的骨架索引與骨架權重,而Dowen這次綁定的位置,離原本定義的Position、Normal、TexCoord稍微遠一點,大概是5、6的位置,所以才發現到原本綁定的方式是錯的。總之,要說的是Shader發生錯誤真的是一丁點資訊都沒有啊,還認為裝了Nsight可以Deb

# 閒談 最近在正藉由開發遊戲引擎將以往學過的各種技巧逐步整合起來,像是Phong,Normal Mapping,gBuffer,Assimp,Instancing,Parallax Mapping...等。然後參閱網路上神人的概念,左吸收右吐納總算是有點雛形,但其中遇到最Impress的問題是glGetUniformLocation,就由它來做蠢問題系列的第一集主角吧!
# 開始前介紹 本篇將會大略的提及OpenGL中Buffer,Unifrom還有一點點Shader Storage Block的部分,而關於Atomic或同步問題,就先略過。如果對Shader中GPU與CPU不熟,可能會對本篇閱讀有礙。畢竟藍寶書竟然將Shader的部分放在後頭,Shader連結部分都還不熟,就先切入細節Buffer,Uniform的部分。
# 關於本篇說明 藍寶書本來認為是一本適合入門者的書,但是漸漸的發現,完全跟入門無緣。因此標題從「OpenGL 入門教學」更改為「OpenGL 藍寶入門教學」,跟著藍寶書走馬看花,真的想用藍寶書學習者可以跟著教學走。打個遊戲的比方來說,如果說學習OpenGL有分為簡單、普通、困難、極難來講,Dowen認為本書屬於困難到極難的等級,而自己是普通的一周目玩家,要通關這本書,可能要技巧性的完成,比方說將一些艱深,身為初學者根本用不到且體會不到

# 開始前介紹 這一章節主要是介紹一些數學的基礎,如果發現哪個部分不熟的話,最好能親自磨練一下,因為以後常常需要的時候,如果不懂箇中原理,那麼在偵錯或是實作上,會遇到一些麻煩。當然領悟過後能寫起來是最推薦的方式,以後忘了的時候瞟一眼就行了。初學者如果看不懂本篇的話,可以暫且跳過無妨,當有用到再回頭看,因為現在的文章是搭配官方藍寶書的章節推進,而藍寶書比較適合中階以上閱讀者,所以本篇對初學者來說應該很吃力。 接下來會介紹的內容基本上有:

# 開始前介紹 為了讓有興趣的初學者能踏入這個領域,Dowen把以前觀念上不清楚的部分全部在pipeline中補齊許多。縱使如此也是可能有疑點的部分,如果有疑問盡量在文章下方留言,有空一定回覆:D。 # CPU到GPU第一階段 - Vertex Shader的資料傳送 GPU在開始執行Vertex Shader前面,有一個動作稱為Vertex Fetching,這個動作會將我們在程式中寫的一個稱為Vertex Attribute的部分讀

# 開始前介紹 本系列文將使用OpenGL 4.5版本,並以作者能理解的方式教學,如有細節誤解或是講錯的部分,或跳太快應先講什麼後講什麼的地方,請不吝多多指教!謝謝! # 從點開始 要畫一個三角形之前,總要會在畫面上畫出一個點來。在那之前,由於使用的是Modern版OpenGL,所以做任何事都要準備兩個東西,其中一個是*「Vertex Array Object」,簡稱VAO*,另一個則是Shader,包含基礎的兩個稱為Vertex Sh

# 環境準備 開始之前還是要先講一下,讀者可以選擇各種不同的 Framework 與 Library ,像是SDL,FREEGLUT,GLFW之類的,不過不管選擇哪一種,主要的OpenGL流程都是一樣的,只是有些不同的Code或Lib必須要在官方網站自行去看,本篇要講的是GLFW+GLEW在Visual Stuido 2015中的環境建置,如果不是來建置環境的讀者可以跳過本篇,或是對GLFW與GLEW有興趣再往下閱讀。 # GLFW G

# 前言: 不管開始任何事情之前,必須先對要做的事情先有個了解才能開始,學習OpenGL也不例外。開始前,先說一下我做教學文的風格,由於這是我以一個學中教,教中學的角度來製作,所以可能會有些不精確,希望哪裡有錯誤可以幫忙改正或指教,謝謝。 # 簡介: 首先OpenGL(Graphics Library)是一個API,也就是說他是一個幫助我們在不同的顯示卡配備之間做一個橋樑。聽起來很籠統,更詳細又簡單的說,即是說每張顯示卡在製作的時候,都
This is a tutorial for install glew & glfw on ubuntu with qt. Enviroment : Ubuntu14 + QT5 ##Install glfw## First. we need to install dependencies on ubuntu sudo apt-get install xorg-dev sudo apt-get install libglu1-mesa-