日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

现代3D图形编程学习-关于本书(译)

發布時間:2024/7/5 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 现代3D图形编程学习-关于本书(译) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本書系列

現代3D圖形編程學習

關于這本書

三維圖像處理硬件很快成為了必不可少的組件。很多操作系統能夠直接使用三維圖像硬件,有些甚至要求需要有3D渲染能力的硬件。同時對于日益增加的手機系統,3D圖像硬件,也成為了它們的必備特征。

對于大多數剛剛接觸圖像以及渲染的人,想要深入理解圖像硬件是一件有挑戰的事情。

為什么閱讀這本書

現在已經有很多教授圖形學相關的實體書。網絡上關于圖形學的介紹將更多,常見的形式有,wikis,博客,入門類型的,以及論壇。那么這本書提供了哪些其他書籍所沒有提供的內容呢?

從編程性上講,所有先前提到的資源都是指導初學者按照特定的流程學習新的事物。這樣的流程如,將特定的參數設置到較舊的圖形顯卡上,從而實現特定的渲染過程。這樣的按照固定函數流實現編程的方式,通常被認為是教授新的圖像編程者的最佳方式。

這種考慮被認為是正確的,因為它能夠很快讓初學者實現某種特定的功能。如,讓一張圖片看起來更加的真實。固定函數流的實現方式就像是教騎自行車,照著做就行。

這種方法也存在一些弊端。首先,通過這種方式學習得到的東西在遇到必須通過編程性解決的實際問題時,就沒法搞定了。通常的編程能力并不能簡單的通過流水線的方式學習到,因此學習得到的只是也不能很好的得到轉換。

還有一種潛在的問題是,按照固定的函數來進行學習,會產生掌握某種知識的錯覺。學習者可能會認為他們已經對他們為什么這么做有了充分的理解,但是他們僅僅是進行了粘貼復制而已。因此,編程也成為了一種類似于魔術的存在:當你將部分代碼粘貼到另一部分代碼之前,然后所有的事情貌似開始正常工作了。

這個就使得調試成為了初學者的噩夢。因為,他們從來沒有真正理解過代碼,也就沒有能力去診斷這個特殊的問題到底是什么原因引起的。沒有這樣的能力,那么調試就成為了猜測性的活動,去猜這個問題到底是什么,以及產生問題的原因。

類似的是,你在理解變成系統之前,并不能很好的使用它。面對可編程的圖像硬件意味著面對固定函數式的變成材料通常掩飾的問題。因此,通常在開始階段,學習進階的會相對而言比較慢,但當你堅持到最后,你真的會知道每一件事情具體是怎么工作的。

另一個問題是,即使你對固定的函數流程有了很好的掌握,它也將會限制你思考如何解決問題的能力。由于固定函數的不可變性,它會將你限制在問題的解決過程中,而不會考慮問題或解決過程的來源。它會鼓勵你將紋理想象成圖片,把頂點的數據想象成紋理坐標,顏色,或是位置等。從它的本質可以看出,它會限制創造力和問題的解決能力。

最后,甚至在便攜系統中,固定的函數式功能通常不能在對應的圖像硬件上實現。對于大多數圖形硬件,可變成性是當前的基本需求,在未來可編程性將成為不可或缺的一部分。

這本書提供了關于那些內容是高級概念的的入門級指導。從基礎教授可編程的圖形渲染。

這本書也包括了其他材料通常會忽略“高級概念”。這些概念并不是真正高級,而是很多入門級材料由于固定函數難以實現而將其忽略。

這本書是最早的,最重要的講述如何成為圖形編程者的書。因此,在任何可能的地方,這本書會以有趣的方式鼓勵讀者探索圖形硬件能夠干什么。一個好的圖形編程者將圖形硬件視為一系列滿足他們需求的工具,這本書正式鼓勵采取這樣的想法。

但是,這本書并不是講述圖形api的書籍。盡管它使用了OpenGL,并且通過OpenGL的方式來講述渲染的概念,但是它并不是一本詳細知道使用OpenGL API的書籍。為了說明不同的圖形的概念,該書并沒有覆蓋所有的API,也沒有詳細的介紹用到的API所能夠支持的所有功能。如果,你已經對圖形有了一定的了解,并且需要一本書來交你現代OpenGL的編程模式,那么這本書就是你所需要的。這本書雖然會涉及到不同的API,但是它對概念的介紹會比API的介紹更加的詳細。

這本書主要是為了教你如何成為一個圖形編程者。并不是特定的圖形領域,它主要是為了涵蓋幾乎所有的基本3D渲染操作。所以,你如果想要成為游戲開發,CAD程序設計者,做一些計算機視覺,或者其他類似的事情,這本書就恰好適合你。這并不意味著它將會涵蓋所有3G圖形相關的內容。通俗的講,它是為了你在3D圖形領域進一步發展打基礎用的。

最優化的概念在這本書中并沒有深入的展開。主要是因為,這一系列相關的內容是高級的話題。最優化通常也與操作系統,硬件密切相關。它們也有可能和使用到的API相關。最優化會在文章的不同地方有所涉及,但對于一個圖形編程初學者而言還是一個很復雜的話題。在本書的附錄中,有關于最優化的一些大體的介紹。

你想要什么

這是一本給圖像編程初學者的書,也可以幫助那些對固定函數流的實現方式比較熟悉的讀者進一步的理解可編程渲染的原理。

這本書并不適合編程初學者。

希望讀者具有能夠讀懂C和C++代碼的能力。如果C/C++知識的掌握程度僅僅是hello world,那么在進一步學習這本書之前,需要掌握更多的編程知識,直到能夠寫出更有深度的代碼。三維圖像渲染根本不是一個入門的編程任務,對于傳統的圖像學習和現代圖像學習也是如此。

這本書中的輔導材料也可以用別的編程語言實現。如果你可以閱讀C/C++的代碼,對于理解這本書中的代碼已經足夠了。文中還對輔導材料中出現的代碼進行了進一步的解釋。

任何大量的關于3D渲染的討論都會有數學的相關論述。這些數學知識都是3D圖形學的基礎。想要更好的理解這本書,需要你具有基本的集合和代數能力。當必要的時候,本書會介紹一些更高級的數學知識。但是,你至少需要了解集合和代數知識,并不包括線性代數。

這本書中的源代碼采用OpenGL作為圖形渲染的API。當開始的時候,你并不需要認識什么是OpenGL,但是需要對代碼進行編譯和運行,所以你還是需要有個OpenGL的開發環境。

需要特別說明的是,你的圖形顯卡需要能夠支持OpenGL3.3的版本。這意味著任何一款GeForce 8xxx或更好的顯卡,或是Radeon HD類型的顯卡都可以。這些顯卡也被稱為Direct3D 10顯卡,但是你并不需要window vista或window 7的操作系統來運行OpenGL。你還需要從顯卡的官方網站上下載和安裝最新的驅動。除了顯卡驅動和輔助材料中的代碼,你并不需要下載或安裝其他的東西。

開放的

這本書是為了教授圖形編程者基本的圖形開發知識。最重要的事情是,你樂意去學習它們。

通常情況下,程序員會通過上網搜索或在書本中查找的方式來尋找解決特殊問題的方法。當他們找到的時候,會將代碼拷貝到他們的應用中,然后執行代碼來檢驗這段代碼是否可行。這種方式能夠很快的找到結果,但是這樣并不能真正的理解這段代碼。

當第一次閱讀這本書的時候,可以對一些特別的問題不進行過多的思索。你可以帶著問題進行閱讀,但是不建議,帶著尋找問題答案的方式來驅動你閱讀本書。正確的方式,應該是關注內容本身。當你看完這本書的時候,你可以反過來再回顧一下,看一下你是否對想要解決的問題有了深入的了解。

也許,你會發現你有更好的解決方案。

這本書的組織結構

這本書被分解成一些普通的主題。每個主題都包含了幾章內容。每一章中的輔導材料都描述了相近的問題。幾乎每一個概念都是通過代碼片段的方式進行闡述。

每一個輔導材料都是從即將被討論和證實的概念出發。在每一章的結尾都包含了對本章內容的回顧,以及本章內容中涉及的術語。回顧的小節會對本章中出現的概念進行解釋,也會包含一些與代碼本身相關的建議,這些會有助于你更深層次的理解這些概念。如果這章節中引入了新的OpenGL函數,或OpenGL紋理函數,在這里也會進行回顧。

這本書是面向圖形編程初學者的。圖形是一個很大的領域,不存在可以涵蓋所有內容的一本書。這本書同樣沒能涵蓋所有的技術內容。有些時候,前面提到過的技術內容會在后面的材料中給出詳細的介紹,但是并沒有足夠的空間將所有相關的內容講清楚。因此,本書中在介紹一些技術內容的時候,會在接下來的小節中粗略的涉及到相關的更高級的技術。這將有助于讀者在圖形編程的研究中,認識到哪些內容將會對你有所幫助。

在每一章的結尾,都會對本章中出現的術語進行總結。

轉載于:https://www.cnblogs.com/grass-and-moon/p/6146496.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的现代3D图形编程学习-关于本书(译)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。