learn opengl 中文_LearnOpenGL CN

歡迎來到OpenGL的世界

歡迎來到OpenGL的世界。這個工程只是我(Joey de Vries)的一次小小的嘗試,希望能夠建立起一個完善的OpenGL教學平臺。無論你學習OpenGL是為了學業,找工作,或僅僅是因為興趣,這個網站都將能夠教會你現代(Core-profile) OpenGL從基礎,中級,到高級的知識。LearnOpenGL的目標是使用易于理解的形式,使用清晰的例子,展現現代OpenGL的所有知識點,并與此同時為你以后的學習提供有用的參考。

如果您喜歡這個系列教程的話,不妨向Joey de Vries的Paypal進行捐贈,支持一下作者,讓這個教程能夠持續完善并更新。

為什么要閱讀這些教程呢?

3ca0e1cfb03c0b6e3111300b5b66196f.png

在互聯網上,有關學習OpenGL的有成千上萬的文檔與資源,然而其中大部分的資源僅僅討論了OpenGL的立即渲染模式(Immediate Mode,通常會說舊OpenGL),亦或是不完整,缺少適當的文檔,甚至是僅僅不適合你的口味。所以,我的目標是提供一個既完整,又易懂的平臺供人們學習。

如果你很享受那些提供手把手指導的教程,那些提供清晰例子的教程,以及那些不會一下將你淹沒在細節中的教程,那么我的這些教程很可能就很適合你。我的教程旨在讓那些沒有圖形編程經驗的人們能夠理解,又讓那些有經驗的讀者有閱讀下去的興趣。我的教程同樣也討論了一些常用的概念,只需要你再有一點創造力,就能將你的想法變成真正的3D程序。如果如果你覺得前面這些講的都是你,歡迎繼續閱讀我的教程。

你將學會什么呢?

我這些教程的核心是現代OpenGL。學習(和使用)現代OpenGL需要用戶對圖形編程以及OpenGL的幕后運作有非常好的理解才能在編程中有很好的發揮。所以,我們會首先討論核心的圖形學概念,OpenGL怎樣將像素繪制到屏幕上,以及如何利用黑科技做出一些很酷的效果。

除了核心概念之外,我們還會討論許多有用的技巧,它們都可以用在你的程序中,比如說在場景中移動,做出漂亮的光照,加載建模軟件導出的自定義模型,做一些很酷的后期處理技巧等。最后,我們也將會使用我們已學的知識從頭開始做一個小游戲,讓你真正體驗一把圖形編程的魅力。

關于中文翻譯

這里是LearnOpenGL教程的中文翻譯,英文版的地址為:https://learnopengl.com/

由于翻譯可能無法做到精確表達原文意思,我們推薦您在對問題有疑惑的時候去閱讀一下英文版的教程。如果您對翻譯有更好的建議,可以去我們的GitHub工程上提交Issue或者Pull Request。如果是對教程的內容有問題,請先查看原文,如果不是翻譯錯誤的話,請直接在原網站評論區向作者(JoeyDeVries)反饋。

如果教程中的源碼無法打開的話,可以到教程的GitHub頁面上去尋找所需的代碼,每一節教程的源碼以及練習都位于 src 目錄下的對應章節目錄中。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/541550.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/541550.shtml
英文地址,請注明出處:http://en.pswp.cn/news/541550.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

MYSQL5.7 日志管理

2019獨角獸企業重金招聘Python工程師標準>>> 慢查詢日志slow-query-log1 slow-query-log-filefile_name long_query_time1 #SQL執行多長時間以上會記錄到慢查詢日志,0~10s log_slow_admin_statementsOFF #在寫入慢查詢日志的語句中包含緩慢的管理語句。 …

duration java_Java Duration類| ofHours()方法與示例

duration javaDuration Class of Hours()方法 (Duration Class ofHours() method) ofHours() method is available in java.time package. ofHours()方法在java.time包中可用。 ofHours() method is used to represent the given hours in this Duration. ofHours()方法用于表示…

sumo的簡單應用_sumo快速運行簡單仿真實例詳細教程

本文旨在讓大家快速的了解sumo,并給出運行一個簡單的sumo的例子的教程,進而了解基本sumo工程的架構,使大家對該軟件產生興趣并持續學習下去,剛開始學習仿真的確枯燥,項目“跑起來”才是大家學習下去的動力,…

stl vector 函數_vector :: crbegin()函數,以及C ++ STL中的示例

stl vector 函數C vector :: crbegin()函數 (C vector::crbegin() function) vector::crbegin() is a library function of "vector" header, it is used to get the last element of a vector using const_reverse_iterator, it returns a const reverse iterator …

ReactNative學習筆記(二)Flex布局

flexDirection 決定主軸方向 column:垂直方向為主軸row:水平方向為主軸justifyContent 決定主軸元素排列方式 flex-startflex-endcenterspace-betweenspace-aroundalignItems 決定側軸元素排列方向 flex-startflex-endcenterbaselinestretch

cad導出 dxf后中文不顯示_CAD快速看圖 for Mac

CAD快速看圖 for Mac是一款非常小巧、快速、方便的DWG看圖工具,CAD快速看圖 Mac版可脫離AutoCAD最快速、最方便瀏覽DWG和DXF圖紙,支持二維或三維圖紙,支持高清、多文件和云字體,非常實用的一款CAD看圖軟件,CAD快速看圖…

scala運算符_Scala的所有符號運算符是什么意思?

scala運算符Scala的符號運算符 (Scalas symbolic operators) The symbolic operators in Scala are symbols that have a specific task that they perform when called in a Scala program. Scala library defines a lot of symbols that can be used while programming in Sc…

關于java.util.ConcurrentModificationException和remove倒數第二個元素

2019獨角獸企業重金招聘Python工程師標準>>> 首先是兩段代碼的執行結果&#xff1a; 代碼一&#xff1a; public class TestListRemove {public static void main(String[] args) {List<Integer> list new ArrayList<Integer>();list.add(1);list.add(…

linux 操作mysql 數據庫命令_Linux 操作數據庫命令

一、連接數據庫格式&#xff1a; mysql -h主機地址 -u用戶名 &#xff0d;p用戶密碼mysql -hlocalhost -uroot -p123注&#xff1a;-h,-u,-p 后面不加空格&#xff0c;進入數據庫操作后每個命令結尾都需加“&#xff1b;(分號)”二、退出MYSQL命令exit (回車)三、顯示所有數據庫…

fragment和Activity同時操作UI引起的延遲、卡頓

最近項目中遇到一個問題&#xff0c;app首頁的Activity中由若干個Fragment頁面組成&#xff0c;其中一個fragment頁面是由一個GridView和ListView組成的列表&#xff0c;如果列表中數據量過大的時候&#xff0c;在請求數據的時候點擊頁面上的其他按鈕會無響應&#xff0c;直到該…

怎么刪除mysql的壓縮包_壓縮包版mysql怎么卸載

MySQL是一個小巧玲瓏但功能強大的數據庫&#xff0c;目前十分流行。但是官網給出的安裝包有兩種格式&#xff0c;一個是msi格式&#xff0c;一個是zip格式的。那么壓縮版mysql要怎么卸載&#xff1f;下面本篇文章就來大家介紹一下&#xff0c;希望對你們有所幫助。卸載壓縮包版…

obj.val 非數組_在Ruby中使用Array.new(size,obj)創建數組

obj.val 非數組In the previous article, we have learnt how we can declare an Array class instance with the help of Array.[](*args) method? You can also notice that in the program codes written to demonstrate all those methods are having Array instances dec…

julia在mac環境變量_在Julia中找到值/變量的類型

julia在mac環境變量To find the type of a variable/value, we use the typeof() function – it accepts a parameter whose type to be found and returns its data type. 為了找到變量/值的類型&#xff0c;我們使用typeof()函數-它接受要查找其類型的參數并返回其數據類型。…

lambda表達式之進化

前言在C#我們可以自定義委托&#xff0c;但是C#為什么還要內置泛型委托呢&#xff1f;因為我們常常要使用委托&#xff0c;如果系統內置了一些你可能會用到的委托&#xff0c;那么就省去了定義委托&#xff0c;然后實例化委托的步驟&#xff0c;這樣一來既使代碼看起來簡潔而干…

mysql返回行數_如何計算MySQL查詢返回的行數?

How can I count the number of rows that a MySQL query returned?解決方案Getting total rows in a query result...You could just iterate the result and count them. You dont say what language or client library you are using, but the API does provide a mysql_nu…

md5不是對稱密碼算法_密碼學中的消息摘要算法5(MD5)

md5不是對稱密碼算法In cryptography, MD5 (Message-Digest algorithm 5) is a mainly used cryptographic hash function with a 128-bit hash value. As we use in an Internet standard (RFC 1321), MD5 has been employed or developed in a more variety of security appl…

Windows 7 SID 修改

在安裝Windows系統時會產生一個獨一無二的SID (Security ID)&#xff0c;它用來識別每一部主機&#xff0c;若在同一個區域網路內有兩部相同SID的主機&#xff0c;會出現警告訊息。一般而言&#xff0c;每次安裝時的SID不可能會發生重複&#xff0c;但若是使用TrueImage或Ghost…

discuz mysql 類_discuz7 phpMysql操作類

MySql數據庫連接類&#xff0c;大家可以看下網上老手們用的什么方法&#xff0c;大家可以直接拿來用&#xff0c;但前提是大家能熟練的掌握的基礎上&#xff0c;這樣才能有所進步。/** MySql數據庫連接類* mysql.class.php 2009.04.15 by Hackbaby*/class dbstuff {var $versio…

1 并發模型

并發系統可以采用多種并發編程模型來實現。并發模型指定了系統中的線程如何通過協作來完成分配給它們的作業。不同的并發模型采用不同的方式拆分作業&#xff0c;同時線程間的協作和交互方式也不相同。這篇并發模型教程將會較深入地介紹目前&#xff08;2015年&#xff0c;本文…

Java String compareTo()方法與示例

字符串compareTo()方法 (String compareTo() Method) compareTo() is a String method in Java and it is used to compare two strings (case-sensitive). compareTo()是Java中的String方法&#xff0c;用于比較兩個字符串(區分大小寫)。 If both strings are equal – it r…