分享到plurk 分享到twitter 分享到facebook

GLTrain/Lab1

目標

  • 學會使用 git
  • 學會安裝 glfw
  • 學會看 manual 和 tutorial
  • 使用 opengl 1.x 函數

預先準備

  1. 安裝 git

for Ubuntu 13.10:

.. code-block:: prettyprint

sudo apt-get install git

for Windows: 請搜尋 git for windows

設定好 PATH 環境變數,使得你能在 cmd 直接執行 git 而不用指定目錄,順便設定一下 mingwgcc 吧。 HOW TO DO IT? => google

  1. 安裝 glfw: 假設上面的 git 安裝成功

for linux:

.. code-block:: prettyprint

git clone https://github.com/glfw/glfw.git

or(學校有時 wifi 正常使用 https) git clone git@github.com:glfw/glfw.git

for windows:

請到官網下載 pre-built 版本的 glfw3,64 位元或 32 位元請依你的 mingw 編譯器做選擇

http://www.glfw.org/download.html

將 include 裡面的 GLFW 資料夾放到 mingw 安裝資料夾內的 include

lib 放 mingw 的 lib,dll 檔案請保留 (也可以丟掉…通常 glfw project 都是用 static link)

  1. 下載 GLTrain 教材

.. code-block:: prettyprint

git clone https://github.com/tim37021/GLTrain.git

or

.. code-block:: prettyprint

git clone git@github.com:tim37021/GLTrain.git

編譯 glfw3

安裝必要套件 cmake, xorg-dev, libglu1-mesa-dev,如果想產生官方說明文件的話請安裝 Doxygen (檔案頗大)

.. code-block:: prettyprint

apt-get install cmake xorg-dev libglu1-mesa-dev

.. code-block:: prettyprint

cd glfw
mkdir build
cd build
cmake ..
make
sudo make install

完成 GLTrain1 ~ GLTrain3

Windows 使用者必須修改 Makefile

.. code-block:: prettyprint

LFLAGS=-lglfw3 -lopengl32 -lglu32 -lgdi32
  1. 編譯 GLTrain

linux:

.. code-block:: prettyprint

make

windows: (如果你的 gcc 不是環境變數會失敗)

.. code-block:: prettyprint

mingw32-make
  1. 切換到 answer 可以看答案

.. code-block:: prettyprint

git checkout answer

閱讀文章

  • http://www.glfw.org/docs/latest/quick.html
  • http://www.songho.ca/opengl/gl_transform.html

延伸閱讀

  • SongHo 網站: http://www.songho.ca/opengl/
  • Shader Toy (搜尋 water 或 ray): https://www.shadertoy.com/
  • 一位大學教授Jeffrey Chastine所錄製的tutorial。英聽有困難可以直接用youtube自動產生的字幕(滿準的,他口齒很清晰): https://www.youtube.com/watch?v=0CQP8huwLCg

題外話

Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。Linux寫程式比較快喔,請愛用Linux。