OpenSceneGraph三維渲染引擎設(shè)計(jì)與實(shí)踐

出版時(shí)間:2009-11  出版社:清華大學(xué)出版社  作者:王銳,錢學(xué)雷 編著  頁數(shù):366  
Tag標(biāo)簽:無  

前言

  OpenSceneGraph(OSG)是一個(gè)專為3D計(jì)算機(jī)圖形開發(fā)而設(shè)計(jì)的高層次的可編程接口,廣泛用于虛擬仿真、動(dòng)畫設(shè)計(jì)以及各種可視化程序中。OSG基于OpenGL進(jìn)行構(gòu)建,因此它同時(shí)具備了跨平臺(tái)的特性和較高的渲染性能。此外,OSG還提供了一系列可供3D程序開發(fā)者使用的功能接口,包括2D和3D數(shù)據(jù)文件的加載、紋理字體支持、細(xì)節(jié)層次(LOD)控制、多線程數(shù)據(jù)分頁處理等,而這些都是OpenGl~,本身所不具備的。憑借豐富的功能特性以及開放源代碼的協(xié)議形式,OSG已經(jīng)廣泛地被學(xué)術(shù)界和產(chǎn)業(yè)界所認(rèn)可。目前使用OSG進(jìn)行開發(fā)的三維軟件數(shù)以千計(jì),而OSG的開發(fā)者團(tuán)隊(duì)也早已遍及世界各地?! SG最早誕生于1990年,當(dāng)時(shí)只是一個(gè)基于Linux開發(fā)的場(chǎng)景圖形(Scene Graph)支持庫(kù)。2000年以后,OSG的核心功能代碼由來自蘇格蘭(Scotland,UK)的Robert Osfield先生主持開發(fā)。與此同時(shí),一個(gè)龐大的開發(fā)者社區(qū)也在不斷地為這款開源圖形引擎做出貢獻(xiàn)。如果您還是一名新近入門的OSG開發(fā)者,可能會(huì)迷失于OSG本身的繁多功能和過于復(fù)雜的結(jié)構(gòu)中,但是您也會(huì)從中收獲頗豐?! ∵@本書就是其中的一例。早在2006年,由我負(fù)責(zé)編寫和出版了《OpenSceneGraph QuickStart Guide))一書(中文譯為《OpenSceneGraph快速入門指導(dǎo)》),而當(dāng)時(shí)主持其中文版翻譯和校對(duì)工作的,就是本書的作者王銳和錢學(xué)雷博士。2009年8月,在美國(guó)舉辦的SIGGRAPH大會(huì)上,我很榮幸地與王銳先生會(huì)面,聆聽了其有關(guān)OSG在中國(guó)的發(fā)展與展望的演講,并與他進(jìn)一步討論了OSG相關(guān)文檔的編排和完善工作。在中國(guó),他們有著多年研究和使用OSG的豐富經(jīng)驗(yàn)。而現(xiàn)在,本書的讀者,也就是您,將有機(jī)會(huì)受益于此?! ∪绻袿SG比喻為一片尚未完全開拓的廣闊疆域,那么這本書就是您的導(dǎo)航系統(tǒng),盼望您能夠即刻開始一段安心而完滿的旅程。

內(nèi)容概要

OpenSceneGraph(OSG)是一個(gè)基于工業(yè)圖形標(biāo)準(zhǔn)OpenGL的高層次圖形開發(fā)APl接口,一款開放源代碼的、具備商業(yè)級(jí)別渲染能力的實(shí)時(shí)三維渲染引擎,在國(guó)內(nèi)外均已得到廣泛的應(yīng)用,并且已經(jīng)有越來越多的虛擬現(xiàn)實(shí)行業(yè)開發(fā)者加入到OSG開發(fā)的行列中來。    本書的編寫目的是:詳細(xì)剖析OpenSceneGraph引擎的實(shí)現(xiàn)流程,包括其場(chǎng)景圖形結(jié)構(gòu),幾何體繪制和渲染狀態(tài)的封裝機(jī)制,場(chǎng)景漫游、交互和動(dòng)畫的實(shí)現(xiàn)方式,以及最為重要的對(duì)于三維渲染引擎的內(nèi)部裁減、數(shù)據(jù)動(dòng)態(tài)調(diào)度和多線程渲染機(jī)制的深入分析。本書對(duì)虛擬現(xiàn)實(shí)行業(yè)的愛好者和從業(yè)者、對(duì)愿意了解最新圖形學(xué)相關(guān)技術(shù)發(fā)展,以及有志于開發(fā)自主知識(shí)產(chǎn)權(quán)的三維引擎系統(tǒng)的讀者,均會(huì)大有助益。    本書可以作為計(jì)算機(jī)圖形學(xué)或虛擬現(xiàn)實(shí)專業(yè)的高年級(jí)本科生和研究生教材使用,也可供三維圖形學(xué)領(lǐng)域的專門研發(fā)人員,尤其是使用0penSceneGraph進(jìn)行項(xiàng)目開發(fā)和科學(xué)研究的人員參考、學(xué)習(xí)。

書籍目錄

第1章 初識(shí)OpenSceneGraph(OSG) 1.1 場(chǎng)景圖形初步    1.1.1 場(chǎng)景圖形的概念    1.1.2 具體實(shí)現(xiàn):三維渲染引擎    1.1.3 主流渲染引擎介紹  1.2 0penSceneGraph概述    1.2.1 誕生與發(fā)展    1.2.2 優(yōu)勢(shì)與不足 1.3 0penSceneGraph的組成結(jié)構(gòu)    1.3.1 核心結(jié)構(gòu)    1.3.2 資源獲取    1.3.3  中文社區(qū)第2章 OSG的安裝與調(diào)試 2.1 快速安裝和使用    2.1.1 下載預(yù)編譯包    2.1.2 設(shè)置環(huán)境變量    2.1.3 建立工程環(huán)境    2.1.4 范例:第一個(gè)程序  2.2 從源代碼進(jìn)行編譯    2.2.1 0SG源代碼的獲取與更新    2.2.2 編譯環(huán)境生成工具CMake    2.2.3 基本編譯選項(xiàng)    2.2.4 高級(jí)編譯選項(xiàng)  2.3 調(diào)試輸入與輸出    2.3.1 命令行輸入    2.3.2 調(diào)試輸出第3章 開發(fā)預(yù)備知識(shí)  3.1 基本數(shù)學(xué)組件    3.1.1 二維與多維向量    3.1.2 四元數(shù)    3.1.3 矩陣    3.1.4 包圍體  3.2 數(shù)組對(duì)象    3.2.1  數(shù)據(jù)數(shù)組    3.2.2 數(shù)據(jù)索引數(shù)組  3.3  內(nèi)存管理機(jī)制    3.3.1  智能指針    3.3.2 參照對(duì)象    3.3.3 范例:智能指針的使用第4章 場(chǎng)景的組織結(jié)構(gòu)  4.1 節(jié)點(diǎn)的定義與種類    4.1.1 場(chǎng)景圖形BVH樹    4.1.2 節(jié)點(diǎn)的父子關(guān)系    4.1.3 葉節(jié)點(diǎn)與組節(jié)點(diǎn)    4.1.4 節(jié)點(diǎn)的功能與分類  4.2 節(jié)點(diǎn)的訪問    4.2.1 訪問器機(jī)制    4.2.2 節(jié)點(diǎn)的遍歷函數(shù)    4.2.3 范例:節(jié)點(diǎn)屬性訪問器    4.2.4 節(jié)點(diǎn)的更新與事件回調(diào)    4.2.5 范例:使用回調(diào)實(shí)現(xiàn)旋轉(zhuǎn)動(dòng)畫  4.3 重要節(jié)點(diǎn)的功能實(shí)現(xiàn)    4.3.1 空間變換節(jié)點(diǎn)    4.3.2 范例:使用空間變換節(jié)點(diǎn)    4.3.3  開關(guān)節(jié)點(diǎn)    4.3.4 范例:使用開關(guān)節(jié)點(diǎn)    4.3.5 細(xì)節(jié)層次節(jié)點(diǎn)(LOD)    4.3.6 范例:使用LOD節(jié)點(diǎn)    4.3.7 范例:節(jié)點(diǎn)代理第5章 繪制幾何對(duì)象與文字  5.1 幾何元素的儲(chǔ)存    5.1.1 頂點(diǎn)屬性    5.1.2 頂點(diǎn)數(shù)組、顯示列表和VB0……第6章 設(shè)置紋理和渲染屬性第7章 觀察我們的世界第8章 人機(jī)交互與圖形用戶接口第9章 場(chǎng)景中的動(dòng)畫效果 第10章 文件的讀寫機(jī)制第11章 場(chǎng)景的動(dòng)態(tài)更新與裁減第12章 場(chǎng)景的多線程渲染第13章 開源社區(qū)與未來主要參考資料

章節(jié)摘錄

  經(jīng)過多年的研究和發(fā)展,基于OpenGL或DirectX實(shí)現(xiàn)的各種渲染引擎已經(jīng)逐漸趨于成熟,一批優(yōu)秀的開源和商業(yè)引擎也逐漸在市場(chǎng)上占據(jù)了主導(dǎo)地位,并越來越為企業(yè)和開發(fā)者、愛好者們所熟悉。下面介紹一些主流的三維渲染引擎及其主要特色?! 。?)PHIGSPHIGS(Programmer’S Hierarchical Interactive Graphics System)是一個(gè)起源于20世紀(jì)80年代末的三維場(chǎng)景圖形標(biāo)準(zhǔn),其思想為大多數(shù)后來者所繼承和借鑒,但是這個(gè)工具本身已經(jīng)不再被使用?! 。?)Open Inventor  1992年,由Silicon Graphics(SGI)開發(fā)的IRIS Inventor(一個(gè)構(gòu)架于當(dāng)時(shí)的IRIS GL 3D API底層接口的場(chǎng)景圖形系統(tǒng))面世。1994年,它的繼任者,也就是現(xiàn)在仍然廣泛使用的Open Inventor誕生了,這是一個(gè)基于OpenGL開發(fā)的、跨平臺(tái)的、面向?qū)ο蟮膱?chǎng)景圖形系統(tǒng)。2000年,Open Inventor宣布遵循開源協(xié)議發(fā)布,至今仍然廣泛運(yùn)用于各種工程和科學(xué)可視化程序中。  (3)OpenGL Performer  OpenGL Performer(早期稱之為IRIS Performer,或者簡(jiǎn)稱為Performer)是一種使用商業(yè)協(xié)議、基于OpenGL開發(fā)的實(shí)時(shí)虛擬仿真系統(tǒng),同樣由SGI負(fù)責(zé)開發(fā)和維護(hù),并可運(yùn)行于IRIX、Linux以及Windows系統(tǒng)中。和Open Inventor有所區(qū)別的是,1991年誕生的Performer更專注于場(chǎng)景圖形系統(tǒng)的重構(gòu)和性能改善。

編輯推薦

  基于工業(yè)圖形標(biāo)準(zhǔn)OpenGL的高層次三維渲染引擎。  深入講解OpenSceneGraph渲染引擎的內(nèi)部實(shí)現(xiàn)及其應(yīng)用?! ≡敿?xì)介紹OpenSceneGraph渲染引擎的組織架構(gòu)及其實(shí)現(xiàn)流程?! penGL架構(gòu)評(píng)估編委會(huì)(ARB)獨(dú)立撰稿人Paul Martz先生強(qiáng)力推薦?! 碛胸S富的社區(qū)資源和強(qiáng)大的網(wǎng)絡(luò)支持,以方便讀者進(jìn)一步的學(xué)習(xí)和交流?! ∪嫔钊虢榻BOpenScemGraph基礎(chǔ)知識(shí)及核心AP函數(shù)。  逐一探討OpensceneGraph中的各個(gè)功能模塊以及配置開發(fā)環(huán)境?! √峁┐罅康氖纠绦蜓菔?,源代碼分析以及豐富的實(shí)際開發(fā)經(jīng)驗(yàn)?! ∽x者將具備開發(fā)一歉基于OpenSceneGraph的虛擬現(xiàn)實(shí)系統(tǒng)的能力?! 碛胸S富的社區(qū)資源和強(qiáng)大的網(wǎng)絡(luò)支持,以方便讀者進(jìn)一步的學(xué)習(xí)和交流。

圖書封面

圖書標(biāo)簽Tags

評(píng)論、評(píng)分、閱讀與下載


    OpenSceneGraph三維渲染引擎設(shè)計(jì)與實(shí)踐 PDF格式下載


用戶評(píng)論 (總計(jì)0條)

 
 

 

250萬本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7