出版時間:2010-1 出版社:清華大學出版社 作者:肖鵬,劉更代,徐明亮 編著 頁數(shù):421
Tag標簽:無
前言
OpenSceneGraph(OSG)場景圖形系統(tǒng)是一個基于工業(yè)標準OpenGL的軟件接口,它讓程序員能夠更加快速、便捷地創(chuàng)建高性能、跨平臺的交互式圖形程序。本書是一本基于OSG 2.8版本的編程入門指南書籍,也通用于OSG 2.x系列及以后版本的開發(fā)?! 腛SG正式發(fā)布以來,OSG可以閱讀的文檔資料只有源代碼。值得慶幸的是,OSG的源代碼中提供了一些相關的程序示例,通過它們,用戶可以學習如何使用OSG編程實現(xiàn)虛擬系統(tǒng)軟件的功能。分析示例程序很艱辛,并非一朝一夕的事情。筆者通過對OSG大量示例程序和源代碼的分析及豐富的實際應用經(jīng)驗,逐漸對OSG的開發(fā)流程及核心有了一定的了解。隨著OSG的不斷發(fā)展,越來越多的人開始關注、學習OSG和應用OSG開發(fā),但由于OSG本身文檔資料缺乏,作為初學者,很難在短時間內(nèi)通過分析示例程序和源代碼得到提高。筆者長期置身于OSG開發(fā),作為OsgChina(http://www. OsgChina.org)中國官方網(wǎng)站管理員,同時也是OSG國內(nèi)各大論壇OSG版面的版主,在與開發(fā)者交流的過程中,發(fā)現(xiàn)初學者普遍存在入門難、應用開發(fā)難等問題,于是寫了《OpenSceneGraph三維渲染引擎編程指南》一書?! ”緯紫冉榻B了OSG的歷史和開源組織、如何獲取和正確安裝OSG以及一些簡單示例程序的運行;然后深入探討了一些OSG的數(shù)學基礎、內(nèi)部管理機制和實用技術,主要包括坐標系統(tǒng)、內(nèi)存管理、場景樹結構、圖形節(jié)點的概念和分類、OSG的狀態(tài)屬性和模式控制、紋理映射、光照和材質(zhì)、I/O接口、場景渲染控制、更新回調(diào)、文字、動畫陰影及粒子系統(tǒng)添加等功能的具體介紹;最后探討了關于OSG地形與地理信息的應用,主要包括VirtualPlanetBuilder和OSGGIS的使用方法,還提出了關于大規(guī)模地形渲染的解決方案。 通過本書,讀者不但可以學習到OSG在虛擬現(xiàn)實開發(fā)中最重要、最實用的知識和技能,還可學習到一些開源軟件使用的基本技法。在學習完本書后,讀者將會對OSG有一個深入全面的了解,同時也將具備開發(fā)一個基于OSG的虛擬現(xiàn)實系統(tǒng)的能力?! ”緯鴧㈤喠藝鴥?nèi)外大量的最新圖形開發(fā)和虛擬現(xiàn)實實用技術的資料,所講解的內(nèi)容都是基于圖形開發(fā)的最新方法和技術。書中提供了大量豐富、新穎、實用的原創(chuàng)示例程序,并經(jīng)過嚴格的測試,可以完全應用到實際工程或者系統(tǒng)開發(fā)中。由于作者能力有限,書中難免存在錯誤和不足之處,懇請廣大讀者批評指正。同時,歡迎到OsgChina中國官方討論區(qū)(http://bbs.OsgChina.org)發(fā)帖提問,筆者會盡量在第一時間回復相關的問題?! ”緯軌蝽樌瓿刹⒊霭?,得到了這些人大量的幫助: 感謝編輯,他對本書傾注了大量的心血,給了我巨大的幫助和指導。 感謝我的師兄劉更代和徐明亮,沒有他們,難以想象這本書什么時候才能完成并出版?! 「兄x我的師兄楊石興和曹明亮,他們引導我進入OSG的開發(fā)領域。 感謝我的爸爸、媽媽和姐姐,他們給了我生活自主的空間,讓我能夠盡情地飛翔在自己的天空?! 「兄x我的女友雄英,她每天都給我很多鼓勵和幫助。
內(nèi)容概要
本書是一本全面深入介紹OpenSceneGraph(OSG)基礎及核心API函數(shù)的入門教程。OpenSceneGraph(OSG)是一個基于工業(yè)標準OpenGL跨平臺的三維開源場景圖形系統(tǒng)應用程序開發(fā)接口(API)。作為一個高性能的圖形開發(fā)引擎,它在3D程序開發(fā)中扮演著重要的角色?! ”緯凑誒SG的設計結構體系,逐一深入討論OSG的各個功能模塊。首先介紹了OSG的歷史和開源組織,以及配置開發(fā)環(huán)境;然后深入探討OSG的核心庫、NodeKits工具庫、OSG插件庫、互操作庫及擴展庫等,重點分析了如何將OSG集成到用戶應用開發(fā)程序的核心功能及各種應用技術,主要包括場景組織和管理、場景數(shù)據(jù)優(yōu)化、交互操作及數(shù)據(jù)實時動態(tài)更新等技術;最后探討了關于OSG地形與地理信息的應用?! ”緯笞x者有比較好的C++基礎知識和一些3D數(shù)學基礎知識,適合所有對OpenGL和OSG編程感興趣的讀者。
書籍目錄
第1章 OpenSceneGraph概述 1.1 OpenSceneGraph簡介 1.1.1 什么是OpenSceneGraph 1.1.2 OpenSceneGraph的歷史和發(fā)展 1.1.3 OSG中國 1.1.4 OSG組成模塊 1.2 開發(fā)的預備知識 1.3 OSG的安裝及編譯 1.3.1 OSG的獲取及安裝 1.3.2 編譯OSG 1.3.3 OSG郵件列表 1.4 OSG基礎 1.4.1 開發(fā)環(huán)境設置 1.4.2 OSG中的HelloWorld工程 1.4.3 OSG實用工具——場景瀏覽器osgViewer 1.4.4 OSG實用工具——版本信息查看器osgVersion 1.4.5 OSG實用工具——場景圖形壓縮歸檔工具osgArchive 1.4.6 OSG實用工具——數(shù)據(jù)轉換工具osgConv 第2章 OpenSceneGraph數(shù)學基礎 2.1 坐標系統(tǒng) 2.2 坐標系變換 2.2.1 世界坐標系-物體坐標系變換 2.2.2 物體坐標系-世界坐標系變換 2.2.3 世界坐標系-屏幕坐標系變換 2.3 向量、矩陣及四元數(shù) 2.3.1 向量 2.3.2 矩陣 2.3.3 四元數(shù) 2.3.4 矩陣與四元數(shù)之間的轉換 第3章 場景的組織及渲染 3.1 OSG場景樹 3.1.1 OSG場景樹節(jié)點 3.1.2 OSG中的父節(jié)點與子節(jié)點 3.2 Geode 3.2.1 Billboard節(jié)點 3.2.2 布告板示例 3.3 Group 3.3.1 位置變換節(jié)點 3.3.2 位置變換節(jié)點示例 3.3.3 矩陣變換節(jié)點 3.3.4 矩陣變換節(jié)點示例 3.3.5 自動對齊節(jié)點 3.3.6 自動對齊節(jié)點示例 3.3.7 開關節(jié)點 3.3.8 開關節(jié)點示例 3.3.9 細節(jié)層次節(jié)點 3.3.10 細節(jié)層次節(jié)點示例 3.3.11 分頁細節(jié)層次節(jié)點 3.3.12 分頁細節(jié)層次節(jié)點示例 3.3.13 替代節(jié)點 3.3.14 替代節(jié)點示例 3.3.15 遮擋裁剪節(jié)點 3.3.16 遮擋裁剪節(jié)點示例 3.3.17 坐標系節(jié)點 3.3.18 坐標系節(jié)點示例 3.4 場景中節(jié)點的拷貝——osg::CopyOp類 3.4.1 自定義場景拷貝示例(一) 3.4.2 自定義場景拷貝示例(二) 第4章 OSG中幾何體的繪制 第5章 渲染狀態(tài)、紋理與光照 第6章 文件的讀寫 第7章 場景圖形的工作機制 第8章 場景圖形管理 第9章 OSG文字 第10章 OSG動畫與聲音 第12章 osgFX擴展庫及osgSim擴展庫 第13章 OSG地形與地理信息 參考文獻
章節(jié)摘錄
早在1997年,DonBums便作為軟件設計顧問受雇于SiliconGraphics(SGI),他在業(yè)余時間還喜歡滑翔運動。正因為對計算機圖形和滑翔機同樣的熱衷及對尖端渲染設備的了解,他使用Performer場景圖形(SGI專有)系統(tǒng)設計了一套基于SGIOnyx的滑翔仿真軟件?! ∮捎谑艿狡渌钀酆谜叩墓膭睿珼on開始嘗試使用Linux上的Mesa3D和3dfx的Voodoo設備,以開發(fā)基于更多硬件平臺的仿真軟件。當這套軟件開始支持OpenGL時,場景圖形的概念還未能應用于Linux。為了填補這一空缺,Don開始編寫一套簡單的、類似于Performer的場景圖形系統(tǒng),開發(fā)強調(diào)樸素且易用,它滿足了當時人們對于場景圖形系統(tǒng)的需求,也使Don的滑翔仿真軟件能夠運行于低成本的Linux系統(tǒng)?! 〉搅?998年,Don在滑翔愛好者的郵件組中遇到了Robe~Osfield。那時Robert在MidlandValleyExploration工作,那是一個來自蘇格蘭格拉斯哥的油氣公司。Robert同樣對計算機圖形學和可視化技術有著濃厚的興趣。兩人開始合作,對仿真軟件進行改善。Robert倡導開源,并提議將SG作為獨立的開源場景圖形項目繼續(xù)開發(fā),并由自己擔任項目主導。項目的名稱改為OpenSceneGraph,當時共有9人加入了OSG的用戶郵件列表?! ?000年底,BredeJohansen為OpenSceneGraph作出了第一份貢獻,即添加了OSG的OpenFlight模塊?! ‘敃r他在挪威孔斯貝格的KongsbergMaritime船舶仿真公司工作,該公司后來設計了基于OSG的SeaViewR5視覺系統(tǒng)?! ⊥瑯釉?000年,Robe離開了原來的工作單位,作為OpenSceneGraph的專業(yè)服務商開始全職進行OSG的開發(fā)工作。在這段時間,他設計并實現(xiàn)了今天的OSG所使用的許多核心功能,并且是在完全沒有客戶和薪酬的情況下完成的。Don到了Keyhole數(shù)字地圖公司(現(xiàn)在是Google的GoogleEarth部門),于2001年辭職,他也組建了自己的公司——AndesComputerEngineering,位于加利福尼亞州的圣何塞,公司成立后繼續(xù)進行OSG的開發(fā)工作。第一屆OpenSceneGraph“同好”會在SIGGRAPH2001舉行,只有12個人參加。
編輯推薦
全面深入介紹opensceneGraph基礎知識及核心API函數(shù)?! ≈鹨惶接慞pensceneGraph中的各個功能模塊以及配置開發(fā)環(huán)境?! √峁┐罅康氖纠绦蜓菔?、源代碼分析以及豐富的實際開發(fā)經(jīng)驗?! ∽x者將具備開發(fā)一款基于OpenSceneGraph的虛擬現(xiàn)實系統(tǒng)的能力?! 碛胸S富的社區(qū)資源和強大的網(wǎng)絡支持,以方便讀者進一步的學習和交流?! 』诠I(yè)圖形標準OpenGL的高層次三維渲染引擎。 深入講解OpenSceneGraph)~染引擎的內(nèi)部實現(xiàn)及其應用?! ≡敿毥榻BOpenSceneGraph渲染引擎的組織架構及其實現(xiàn)流程?! penGL架構評估編委會(ARB)獨立撰稿人PauIMartz先生強力推薦?! 碛胸S富的社區(qū)資源和強大的網(wǎng)絡支持,以方便讀者進一步的學習和交流。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載
OpenSceneGraph三維渲染引擎編程指南 PDF格式下載