OpenGL著色語言

出版時間:2006-10  出版社:人民郵電  作者:羅斯特  頁數(shù):352  字數(shù):537000  譯者:天宏工作室  
Tag標(biāo)簽:無  

內(nèi)容概要

  OpenGL著色語言是一種用于OpenGL的高級過程著色語言,它是近年來圖形編程領(lǐng)域中出現(xiàn)的最重要的新型開發(fā)技術(shù)。OpenGL是業(yè)界領(lǐng)先的跨平臺3D圖形API,而OpenGL著色語言允許開發(fā)人員控制圖形處理管理線中最重要的階段。  本書全面覆蓋從算法到API,書中更含豐富的API函數(shù)參考及頂級的案例分析。全書首先闡述了這種高級編程語言的語法和語義,在此基礎(chǔ)上,詳盡介紹了一系列著色器實例,同時對底層算法進行了解釋,透析從固定功能圖形硬件到可編程圖形硬件的新時代轉(zhuǎn)變,探究使用新的OpenGL函數(shù)調(diào)用來創(chuàng)建和操作著色器的方法,最后將該語言與其他著名的商業(yè)著色語言進行了比較?! ”緯笞x者需要具有一定的數(shù)學(xué)知識,適合有興趣編寫著色器的應(yīng)用程序開發(fā)人員,可作為GLSL開發(fā)者的參考手冊。不論專家或著色器編程初學(xué)者,都能在本書中發(fā)現(xiàn)所需的財富。

作者簡介

Randi J.Rost是開發(fā)OpenGl著色語言的3Dlabs公司的多媒體圖形小組的高級經(jīng)理。Randi曾是開發(fā)OpenGl著色語言以及支持該語言的OpenGL API的核心成員,他還是使用這項技術(shù)設(shè)計和實現(xiàn)著色器的首批程序員之一。他參加OpenGL體系結(jié)構(gòu)審核委員會(OpenGl Arhcitecture Review Board)

書籍目錄

第1章 OpenGL基礎(chǔ)知識概述   1.1 OpenGL的歷史   1.2 發(fā)展OpenGL   1.3 執(zhí)行模型   1.4 幀緩沖區(qū)   1.5 狀態(tài)   1.6 處理管線   1.7 繪制幾何對象     1.7.1 指定幾何對象     1.7.2 逐個頂點操作     1.7.3 圖元組裝     1.7.4 圖元處理     1.7.5 柵格化     1.7.6 片元處理     1.7.7 逐個片元的操作     1.7.8 幀緩沖區(qū)操作   1.8 繪制圖像     1.8.1 像素解碼     1.8.2 像素傳輸     1.8.3 柵格化和后端處理     1.8.4 讀取控制   1.9 坐標(biāo)變換  1.10 紋理   1.11 小結(jié)   1.12 參考資料 第2章 基礎(chǔ)知識   2.1 OpenGL著色語言簡介   2.2 為什么要編寫著色器   2.3 OpenGL可編程處理器     2.3.1 頂點處理器     2.3.2 片元處理器   2.4 語言概述     2.4.1 語言的設(shè)計考慮     2.4.2 以C為基礎(chǔ)     2.4.3 對C的增加     2.4.4 來自C++的增加     2.4.5 不受支持的C特性     2.4.6 其他差異   2.5 系統(tǒng)概述     2.5.1 驅(qū)動程序模型     2.5.2 OpenGL著色語言編譯器/鏈接器     2.5.3 OpenGL API擴展   2.6 主要優(yōu)點   2.7 小結(jié)   2.8 參考資料 第3章 語言定義   3.1 著色器對的實例   3.2 數(shù)據(jù)類型     3.2.1 標(biāo)量     3.2.2 矢量     3.2.3 矩陣     3.2.4 取樣器     3.2.5 結(jié)構(gòu)     3.2.6 數(shù)組     3.2.7 Void     3.2.8 聲明和作用域     3.2.9 類型匹配與提升   3.3 初始化器和構(gòu)造函數(shù)   3.4 類型轉(zhuǎn)換   3.5 限定符和著色器接口     3.5.1 Attribute限定符     3.5.2 Uniform限定符     3.5.3 Varying限定符     3.5.4 常量限定符     3.5.5 缺少限定符  3.6 流控制     3.6.1 函數(shù)     3.6.2 調(diào)用約定     3.6.3 內(nèi)置函數(shù)   3.7 操作     3.7.1 索引     3.7.2 混合     3.7.3 按部分操作   3.8 預(yù)處理器   3.9 預(yù)處理器表達式   3.10 錯誤處理   3.11 小結(jié)   3.12 參考資料 第4章 OpenGL可編程管線   4.1 頂點處理器     4.1.1 頂點屬性     4.1.2 一致變量     4.1.3 特殊的輸出變量     4.1.4 內(nèi)置的易變變量     4.1.5 用戶定義的易變變量   4.2 片元處理器     4.2.1 易變變量     4.2.2 一致變量     4.2.3 特殊的輸入變量     4.2.4 特殊的輸出變量   4.3 內(nèi)置一致變量   4.4 內(nèi)置常量   4.5 與OpenGL的固定功能交互     4.5.1 兩側(cè)顏色模式     4.5.2 點大小模式     4.5.3 裁剪     4.5.4 光柵位置     4.5.5 位置不變性     4.5.6 紋理處理   4.6 小結(jié)   4.7 參考資料 第5章 內(nèi)置函數(shù)   5.1 角度和三角函數(shù)   5.2 指數(shù)函數(shù)   5.3 常見函數(shù)   5.4 幾何函數(shù)   5.5 矩陣函數(shù)   5.6 矢量關(guān)系函數(shù)   5.7 紋理訪問函數(shù)   5.8 片元處理函數(shù)   5.9 噪聲函數(shù)   5.10 小結(jié)   5.11 參考資料 第6章 簡單的著色實例   6.1 磚塊著色器簡介  6.2 頂點著色器   6.3 片元著色器   6.4 觀察   6.5 小結(jié)   6.6 參考資料第7章 OpenGL著色語言API  7.1 創(chuàng)建著色器對象   7.2 編譯著色器對象   7.3 鏈接和使用著色器   7.4 清理工作   7.5 查詢函數(shù)   7.6 指定頂點屬性   7.7 指定一致變量   7.8 采樣器   7.9 開發(fā)輔助工具   7.10 與實現(xiàn)有關(guān)的API值   7.11 磚塊著色器的應(yīng)用程序代碼   7.12 小結(jié)   7.13 參考資料 第8章 開發(fā)著色器   8.1 一般原則     8.1.1 理解問題     8.1.2 逐步提高復(fù)雜性     8.1.3 測試和重復(fù)     8.1.4 盡量簡化     8.1.5 模塊化   8.2 性能考慮     8.2.1 考慮計算頻率     8.2.2 分析算法     8.2.3 使用內(nèi)置函數(shù)     8.2.4 使用矢量     8.2.5 使用紋理編寫復(fù)雜函數(shù)     8.2.6 回顧信息日志   8.3 著色器調(diào)試     8.3.1 使用頂點著色器的輸出     8.3.2 使用片元著色器的輸出    8.3.3 使用簡單的幾何對象   8.4 著色器開發(fā)工具     8.4.1 RenderMonkey     8.4.2 OpenGL著色語言編譯器前端   8.5 小結(jié)   8.6 參考資料第9章 傳統(tǒng)著色器   9.1 變換   9.2 光源     9.2.1 定向光源     9.2.2 點光源     9.2.3 聚光燈   9.3 材質(zhì)屬性和光照   9.4 兩側(cè)光照   9.5 無光照   9.6 霧化   9.7 紋理坐標(biāo)生成   9.8 用戶裁剪   9.9 紋理應(yīng)用   9.10 小結(jié)   9.11 參考資料 第10章 存儲的紋理著色器   10.1 從著色器內(nèi)部訪問紋理貼圖   10.2 簡單的紋理處理實例    10.2.1 應(yīng)用程序設(shè)置     10.2.2 頂點著色器     10.2.3 片元著色器   10.3 多重紋理處理實例     10.3.1 應(yīng)用程序設(shè)置     10.3.2 頂點著色器     10.3.3 片元著色器   10.4 環(huán)境貼圖實例     10.4.1 應(yīng)用程序設(shè)置     10.4.2 頂點著色器     10.4.3 片元著色器   10.5 使用BRDF數(shù)據(jù)的多項式紋理貼圖     10.5.1 應(yīng)用程序設(shè)置     10.5.2 頂點著色器     10.5.3 片元著色器   10.6 小結(jié)  10.7 參考資料第11章 程序紋理著色器   11.1 常規(guī)圖案     11.1.1 條紋頂點著色器     11.1.2 條紋片元著色器   11.2 玩具球     11.2.1 應(yīng)用程序設(shè)置     11.2.2 頂點著色器     11.2.3 片元著色器   11.3 網(wǎng)格   11.4 凹凸貼圖     11.4.1 應(yīng)用程序設(shè)置     11.4.2 頂點著色器    11.4.3 片元著色器     11.4.4 法向量貼圖   11.5 小結(jié)   11.6 參考資料第12章 噪聲   12.1 定義噪聲     12.1.1 2D噪聲     12.1.2 更高維度的噪聲     12.1.3 在OpenGL著色器中使用噪聲   12.2 噪聲紋理   12.3 權(quán)衡考慮   12.4 一個簡單的噪聲著色器     12.4.1 應(yīng)用程序設(shè)置     12.4.2 頂點著色器     12.4.3 片元著色器   12.5 擾動     12.5.1 太陽表面著色器     12.5.2 大理石   12.6 花崗巖   12.7 木材     12.7.1 應(yīng)用程序設(shè)置     12.7.2 片元著色器   12.8 小結(jié)   12.9 參考資料 第13章 動畫著色器   13.1 開/關(guān)   13.2 閾值   13.3 轉(zhuǎn)換   13.4 關(guān)鍵幀插值   13.5 其他混合效果   13.6 粒子系統(tǒng)     13.6.1 應(yīng)用程序設(shè)置     13.6.2 紙炮頂點著色器     13.6.3 紙炮片元著色器     13.6.4 進一步增強   13.7 搖擺   13.8 小結(jié)   13.9 參考資料 第14章 反走樣過程紋理   14.1 走樣的原因   14.2 避免走樣   14.3 提高分辨率   14.4 反走樣的條紋實例     14.4.1 生成條紋     14.4.2 分析預(yù)過濾     14.4.3 自適應(yīng)分析預(yù)過濾     14.4.4 分析積分     14.4.5 反走樣的磚塊片元著色器   14.5 頻率限定   14.6 小結(jié)   14.7 參考資料 第15章 反真實著色器   15.1 剖面線實例     15.1.1 應(yīng)用程序設(shè)置     15.1.2 頂點著色器     15.1.3 生成剖面線     15.1.4 獲得一致的線條密度     15.1.5 光照     15.1.6 添加特征     15.1.7 剖面線片元著色器   15.2 技術(shù)示意圖實例     15.2.1 應(yīng)用程序設(shè)置     15.2.2 頂點著色器     15.2.3 片元著色器   15.3 Mandelbrot實例     15.3.1 Mandelbrot set簡介     15.3.2 頂點著色器     15.3.3 片元著色器     15.3.4 Julia set   15.4 小結(jié)   15.5 參考資料 第16章 用于圖像處理的著色器   16.1 幾何圖像變換  16.2 數(shù)學(xué)貼圖   16.3 查找表操作   16.4 顏色空間變換   16.5 圖像內(nèi)插和外插    16.5.1 亮度     16.5.2 對比度    16.5.3 飽和度    16.5.4 銳度   16.6 混合模式    16.6.1 正?!?   16.6.2 平均     16.6.3 溶解     16.6.4 背面     16.6.5 清除     16.6.6 變暗     16.6.7 變亮     16.6.8 正片疊底     16.6.9 屏幕     16.6.10 顏色加深     16.6.11 顏色減淡     16.6.12 疊加     16.6.13 柔光     16.6.14 強光     16.6.15 相加     16.6.16 相減     16.6.17 差值     16.6.18 反差值     16.6.19 排除     16.6.20 不透明度   16.7 卷積     16.7.1 平滑    16.7.2 邊緣檢測     16.7.3 銳化   16.8 小結(jié)   16.9 參考資料 第17章 語言的比較   17.1 著色語言的歷史   17.2 RenderMan   17.3 OpenGL Shader(ISL)   17.4 HLSL   17.5 Cg   17.6 小結(jié)   17.7 參考資料 附錄A 語言的語法 附錄B API函數(shù)參考   glAttachObjectARB   glBindAttribLocationARB   glCompileShaderARB   glCreateProgramObjectARB   glCreateShaderObjectARB   glDeleteObjectARB   glDetachObjectARB   glEnableVertexAttribArrayARB  glGetActiveAttribARB   glGetActiveUniformARB   glGetAttachedObjectsARB   glGetAttribLocationARB   glGetHandleARB   glGetinfoLogARB   glGetObjectParameterARB   glGetShaderSourceARB   glGetUniformARB   glGetUniformLocationARB   glGetVertexAttribARB   glGetVertexAttribPointervARB   glLinkProgramARB   glShaderSourceARB   glUniformARB   glUseProgramObjectARB   glValidateProgramARB   glVertexAttribARB   glVertexAttribPointerARB 后記 

圖書封面

圖書標(biāo)簽Tags

評論、評分、閱讀與下載


    OpenGL著色語言 PDF格式下載


用戶評論 (總計19條)

 
 

  •   學(xué)了opengl不學(xué)glsl?無論翻譯的質(zhì)量怎么樣,還是需要一本.編程的時候放在手邊翻翻,缺少不了.
  •   感覺和opengl編程指南的介紹方法差不多
  •   還沒時間看,不過好像是這方面僅有的一本書,而且是官方權(quán)威,應(yīng)該不錯。
  •   頂點著色、像素著色……這些以前可望不可及的技術(shù)現(xiàn)在終于平民話到普通顯卡上了,利用OpenGL著色語言,我們甚至可以在顯卡上解線性方程組,此書是應(yīng)用OpenGL的入門好書。
  •   對OpenGL語言介紹的很詳細
  •   此為第一版那時glsl還不是標(biāo)準(zhǔn),是ARB擴展,國外出到第二版了,關(guān)心什么時候有中文的第二版。
  •   牛人通常不會寫書。寫的書只能與牛人同級的人看得舒服,明白。還好例子程序,很經(jīng)典,讓人喜歡。
  •   書不錯。質(zhì)量還行吧
  •   紙張不錯,翻譯的還是很通順的。值得擁有
  •   送貨到的時候嚇我一跳速度挺快的
  •   也沒別的中文書看,算是打下基礎(chǔ)吧
  •   翻譯得很爛?。?/li>
  •   總體來說還是可以的!
  •   這是我讀過的,最垃圾,最垃圾的翻譯書。翻譯的根本就不是人話。各種名詞的翻譯還“獨創(chuàng)”,讓初學(xué)者一頭霧水。建議還是看英文原版的吧的吧。網(wǎng)上搜一下很多
  •     感覺是用工具翻譯的這本書
      作者對OpenGL編程應(yīng)該非常的不熟悉
      買這本書的話做參考查詢就可以了, 具體還是要看英文原版
  •   注意了,樓主是唯一評論。TvT
  •   屎一樣的翻譯
    毫無職業(yè)操守
    打零分
  •   哈哈,到貨了,真好
  •   的確,應(yīng)該是完全按照英文單詞翻譯的直譯,翻譯的句子都不通順。如果是有點經(jīng)驗的還好,如果是對初學(xué)者而言,嘖嘖,還是結(jié)合英文原版一起看吧~~
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網(wǎng) 手機版

京ICP備13047387號-7