OpenGL的學習資源

2021-06-27 13:31:40 字數 2584 閱讀 6140

opengl是3d圖形介面工業標準,使用上非常簡單,所有api不過上百個函式,但理解opengl就沒那麼簡單,本文總結opengl的學習資源,包括官方資料、網上教程、示例程式等。

wikipedia

opengl,介紹了opengl的歷史及版本;

graphics processing unit,介紹了gpu,由於opengl更像個底層驅動,了解gpu對理解opengl很重要。

書籍

紅寶書(the red book),opengl programming guide,目前最新版第8版(2013),中文譯本最新第7版,第8版較第7版幾乎徹底改版(第8版英文版網上有pdf);

藍寶書(the blue book),opengl superbible: comprehensive tutorial and reference,目前最新第6版(2013),中文譯本最新第5版;

更多書籍請見opengl官網書籍列表。

官網

及所列的**資源和相關工具(getting started頁列了更多鏈結)、論壇等;

khronos group,opengl標準由該小組維護,該組織還掌管著opengl的嵌入式版(移動版)opengl es和網頁版webgl,以及異構平行計算語言opencl;

兩大顯示卡巨頭的opengl資源:nvidia opengl、amd opengl,上面有很多酷炫的samples。

下圖是從quick reference card 4.4中摘的「opengl pipeline」(specification 4.4中有詳細解釋):

頂級課程: 

圖形學頂級會議siggraph和eurographics幾乎每年都會有關於opengl的課程:

siggraph 2014 introduction to modern opengl programming, 2013 an introduction to opengl programming, efficient real-time shadows, opengl and directx, 往年的還有很多,請自行到dl.acm.org搜尋「acm siggraph 20xx courses」並點「table of contents」選項卡。

eurographics 2014 star state of the art report on real-time rendering with hardware tessellation, 2014 tutorial efficient sorting and searching in rendering algorithms, 更多技術報告和課程請見 eurographics 檔案。

網上教程

同樣介紹了現代opengl程式設計;

nehe的教程,關鍵是有中文翻譯版,但是比較老了,可以用來學習經典管線功能;

乙個非常詳盡的教程;

比較全面,除了opengl,還有計算機動畫相關的;

另外,opengl官網上也有一些教程的鏈結(getting started頁後面有更多),和**資源;

遇到程式設計問題,可以到stack overflow(乙個程式設計領域的問答**)看看是不是有人問過這個問題。

下圖是ogldev.atspace.co.uk的截圖:

計算機圖形學:

請參考我另一篇部落格:計算機圖形學的學習資源。

gpu硬體

了解gpu架構對理解opengl有極大幫助,可以學一學gpu程式設計:openclcuda、openacc、c++ amp,裡面都會說gpu架構;

國內有個gpu論壇:hpc論壇,裡面也有gpu的資料;

ozone3d.net和geeks3d.com上有gpu檢測

或效能測試的小工具,也有示例**和教程;

pennsylvania大學課程cis 565:gpu programming and architecture

下面三幅圖分別描述了cpu和gpu連線關係、gpu架構(圖中mp在cuda書中叫做sm)、cpu架構:

(該圖取自wikipedia,這裡,該圖可能過時了,見這裡)

(該圖取自aurélien plyer主頁,這裡)

(該圖取自這裡)

OpenGL深度學習資源收藏

opengl 版本發展歷史 頁尾的q a部分非常精彩,其中 1 推薦的較好的比較新的 tutorials 2 有關opengl 除錯工具 q opengl 如何進行 debug directx 的pix 真的很好用呢。a 現在支援 glsl 和opengl 跟步除錯的只有 nvidia 的nsigh...

OpenGL學習筆記 OpenGL的變換和矩陣

opengl的變換和矩陣 1 指定矩陣型別 opengl中使用glmatrixmode指定當前要設定的矩陣型別,常用的引數是gl projection和gl modelview,還有gl texture。opengl將視點變換 即攝像機變換 和模型變換 即物體變換和世界變換 合二為一了。glmatr...

OpenGL學習筆記 OpenGL的變換和矩陣

opengl的變換和矩陣 1 指定矩陣型別 opengl中使用glmatrixmode指定當前要設定的矩陣型別,常用的引數是gl projection和gl modelview,還有gl texture。opengl將視點變換 即攝像機變換 和模型變換 即物體變換和世界變換 合二為一了。glmatr...