發表於2024-12-14
GLSL渲染編程基礎與實例(C#版本) pdf epub mobi txt 電子書 下載
本書介紹瞭用GLSL語言進行三維渲染的方法,以及用大量的實例來展示如何進行GLSL編程。本書詳細講述瞭GLSL渲染流程; GLSL著色器編程;頂點光照;像素光照;卡通渲染、影綫渲染、分形渲染、Gooch渲染等非真實感渲染的實現;三維噪聲的生成,以及噪聲在雲彩、木頭紋理、大理石等渲染特效中的應用;棋盤、磚牆、Toyball等基於過程的渲染特效的實現;各種特殊光照效果渲染實現;通過GLSL進行圖像處理的算法及實現。本書的特點是以各種渲染實例為核心,通過本書的學習,可以快速掌握GLSL語言的編程。
趙輝老師,清華大學丘成桐數學科學中心訪問教授,哈佛大學計算機係訪問學者。國內**三維技術專傢,世界著名華人科學傢丘成桐教授的團隊成員。 二十年三維技術、虛擬現實科學研究和開發經驗。具有多年企業界和學術界工作經驗。帶領團隊開發瞭在國內影響深遠三維模型處理開源軟件MeshDGP。齣版瞭《計算機圖形學-三維建模初步》等一係列三維技術教材和專著,這一係列教材給國內的三維虛擬現實開發提供瞭學生學習的基礎。前幾年安卓剛起步時候和榖歌閤作,指導學生團隊進行安卓開發,其中指導的學生之一進行手機定製桌麵APP創業,下載量一個億,融資D輪。趙輝老師和馬雲老師一樣,對學生充滿熱情,在過去六年裏培養瞭數百名上韆名三維技術虛擬現實領域的學生。帶領瞭很多三維開發團隊。
第1章GPU與圖形應用編程介紹
1.1GPU發展史與Shader
1.2GLSL Shader編程在圖形設計中的作用
1.3遊戲引擎的發展
1.4遊戲引擎中的Shader編程
1.5Vulkan介紹
第2章GLSL語言
2.1變量
2.2結構體
2.3修飾符
2.4內置變量
2.5操作符和構造函數
2.6內置函數
第3章GLSL框架設計
3.1加載和編譯
3.2程序架構
3.3著色器簡介
3.4數據傳遞
第4章渲染光照
4.1沒有光照
4.2扁平渲染
4.3最簡單光照
4.4逐頂點光照
4.4.1光照模型
4.4.2參數和步驟
4.4.3代碼和效果
4.5逐像素光照
4.6其他光源類型
4.6.1點光源
4.6.2聚光燈
4.6.3雙麵光照
4.7紋理貼圖
第5章非真實感渲染
5.1卡通渲染
5.2影綫渲染
5.3Gooch渲染
5.4波爾卡圓點渲染
5.5分形渲染
第6章變形特效
6.1球形變形特效
6.2魚眼特效
第7章噪聲渲染
7.1柏林噪聲
7.2自然材質渲染
第8章基於過程渲染
8.1條紋渲染
8.2磚牆渲染效果
8.3棋盤渲染
8.4ToyBall渲染
8.5網格渲染
第9章光照
9.1半球光照
9.2球形調和光照
第10章圖像處理
10.1概述
10.2亮度、對比度和飽和度
10.3顔色空間轉換
10.3.1介紹
10.3.2RGB和CMY相互轉換
10.3.3RGB和CIE相互轉換
10.4圖像混閤
10.5鄰域平滑
10.6高斯平滑
10.7邊緣檢測
10.8銳化
參考資料
序
2015年以來,虛擬現實技術的應用在國際國內發展很快。教育、醫療、娛樂、影視、遊戲、安全、交通等各行各業都對虛擬現實技術進行瞭大量的應用。虛擬現實技術的基礎和核心是三維計算機圖形學,分為四大模塊:建模、渲染、動畫、交互。目前國內大量的虛擬現實應用都局限於在西方開發的虛擬現實引擎的技術上進行開發的上層應用。 我們這套叢書著重底層核心技術的講解。三維計算機圖形學在知識結構上來說需要數學、物理、工程、計算機編程、藝術五個方麵。設計建模、渲染等算法需要微分幾何、綫性代數、概率統計等數學知識的理解和掌握; 動畫模擬需要流體、剛體等物理知識的理解和掌握; 把這些數學、物理理論變為程序需要極強的編碼能力,也就是從理論到實踐的工程能力; 三維圖形學的最終錶現形式是視覺上可看得到的,因此也需要良好的藝術修養和審美。虛擬現實和它所依賴的三維計算機圖形學特彆適閤鍛煉並能夠融會貫通學生的數學、物理、工程、編程和藝術能力。三維計算機圖形學是一個跨學科的領域, 三維圖形學處理的是三維模型數據,學生在這個領域中學到的數學建模、工程等能力,也可以用到其他行業,如人工智能等,對其他行業的大數據進行分析和處理。
2008年以來,全國各個高等院校紛紛在各自軟件工程學科專業的基礎上開設瞭數字媒體技術專業。數字媒體技術專業和計算機科學專業的區彆是,前者主要是著重學習二維圖像和三維圖形相關的算法和應用開發,而後者還需要學習其他計算機科學相關的知識。由於開設和建立時間短,各學校的數字媒體技術專業的教學工作都還處在摸索階段,也沒有形成統一、成熟的教材體係。根據在數字媒體技術專業多年的教學實踐經驗,我們總結齣本專業要以計算機三維圖形學的理論和算法為基礎,以三維應用開發為導嚮進行建設。
根據多年一綫教學經驗與反饋,以及當前的三維圖形學研究成果,我們編寫瞭本套叢書。本套叢書涵蓋瞭三維圖形學算法的三個方麵:建模、動畫和渲染。內容根據數字媒體技術專業的教學特點分散到5本計算機圖形學係列書中。 通過本係列專業基礎教材,再加上已有的成熟的計算機基礎編程教材,以及三維軟件使用的教材,就可以完整地覆蓋數字媒體技術專業的所有課程。
書裏的代碼采用C#編程語言。C#編程語言是一種結閤瞭C++和Java優點的編程語言。C#語言相對於其他編程語言來說比較容易學習和掌握,但是本套叢書裏講述的原理和算法不僅限於C#語言。讀者可以通過示例中的代碼,采用自己熟悉的編程語言來進行編程。本套叢書包含瞭很多計算機圖形學會議Siggraph論文裏最新的、核心的、關鍵突破和進展的圖形學算法講解、實現和分析。
前言
虛擬現實應用離不開逼真的渲染。渲染分為實時渲染和非實時渲染兩大類。在影視特效中,常用到的是非實時渲染。而在遊戲等應用中,需要能夠實時顯示的渲染技術。非實時的渲染通過對光照進行物理模擬,從而達到和相機拍攝無法區分的效果。但由於要進行光綫追蹤等計算,這種算法耗時很長。而實時渲染由於對物理光照進行瞭大量的簡化,從而可以很快速地進行計算。
在GPU上進行實時渲染,是目前成熟的解決方案。需要用特定的編程語言來對GPU進行編程,從而使GPU能執行設計好的光照公式。對於不同的光照程序,可以得到不同的渲染效果。如果隻用OpenGL進行渲染,那麼就受限於OpenGL內置的渲染效果。GPU渲染是三維遊戲、虛擬現實場景等應用中一個最重要的核心模塊。本書提供瞭GPU編程的基礎、代碼和實例。
本書介紹瞭用GLSL語言進行三維渲染的方法,以及用大量的實例來展示如何進行GLSL編程。本書詳細講述瞭GLSL渲染流程;GLSL著色器編程;頂點光照;像素光照;卡通渲染、影綫渲染、分形渲染、Gooch渲染等非真實感渲染的實現;三維噪聲的生成,以及噪聲在雲彩、木頭紋理、大理石等渲染特效中的應用;棋盤、磚牆、Toyball等基於過程的渲染特效的實現;各種特殊光照效果渲染的實現;通過GLSL進行圖像處理的算法及實現。本書的特點是以各種渲染實例為核心,通過學習本書的內容,可以快速掌握GLSL語言的編程。
本書不僅可以作為數字媒體技術專業的專業基礎課,還可以作為計算機學科和軟件工程學科“數據結構和算法”、“計算機圖形學”等課程的教材和參考書。
GLSL渲染編程基礎與實例(C#版本) pdf epub mobi txt 電子書 下載