原創 | 學好opengl走遍天下都不怕系列《基礎篇》

2021-02-21 虛幻技術美術
前言

最近本來是想認真學習下《opengl es第三版》這本書,無奈內容過於生澀,有點看不下去,偶遇opengl-tutorial.org的翻譯教程,感覺正符合我急於實踐出真知的需求,便認真通讀了一遍該教程的基礎教程,共8個tutorials。

基礎篇主要面對初學朋友(比如豬哥),快速了解教程內容,具體細節需要自己去手動操作一遍才能體會到教程中的文字。

tutorial 1

首先,每個初學小白或者對c++開發環境不熟悉的朋友,都需要經歷一個痛苦地搭建環境的過程。習慣用vscode(visual studio code, vs 的輕量級小弟)作為開發環境的我,經歷了一臉懵逼的配置操作後,最終還是選擇老老實實地按教程中cmake生成vs(visual studio)工程文件去調試,果然,cmake的配置還是很穩的,你只需要下載一個cmake-gui,直接按教程配置即可。


來自http://t.cn/RV5ZoBl

tutorial 2

介紹著色器(Shader),頂點著色器、片段著色器。

從繪製一個三角形的角度,使用這兩個著色器渲染三角形。

來自http://t.cn/Ea8t8kZ

tutorial 3

真的是基礎中的基礎了,一定要認真理解好矩陣的變換在opengl坐標轉換的作用,主要講了平移矩陣(Translation Matrix)、縮放矩陣(Scale Matrix)、旋轉矩陣(Rotation Matrix)。學過線性代數的朋友入門很快,手動算一遍!不會也要強迫自己記下來!

另一部分主要介紹了在不同的空間M(模型空間)->W(世界空間)->V(觀察空間,攝像機空間)->P(投影空間)的轉換。

模型空間->世界空間:遵循縮放->旋轉->平移 

世界空間->觀察空間:設置觀察角度 觀察空間->投影空間:根據模型觀察的距離來顯示放大或縮小、遠或近的效果 來自http://t.cn/Rb3cYYH

tutorial 4

主要講怎麼給一個立方體上色,由於立方體的每個面都是由三角形劃分(openGl只支持畫三角形orz...),因此通過顏色緩存通過頂點著色器去傳遞顏色,讓片段著色器去對不同頂點的顏色渲染。

PS:片段著色器的數據來源於頂點著色器傳遞,頂點著色器來源於顏色緩存。

最後討論了怎麼讓繪製的三角形不受繪製順序的影響(Z深度值),從而達到一個明確層級的效果。

>>>> 

來自https://dwz.cn/Dp51TEI4

tutorial 5

主要講怎麼給一個立方體貼上紋理(Texture),所謂紋理就是圖片。根據UV坐標(除了正常坐標外,還需要這個坐標)把圖片變形貼在表面上。 

接著將怎麼讓紋理顯示的邊界毛刺弄得更加順滑合理,主要介紹了線性過濾、各向異性過濾、Mipmaps三種方法。

最後討論了壓縮紋理,提高了處理紋理的效率!

來自http://sina.lt/fXCP

tutorial 6

主要講怎麼處理鍵盤滑鼠事件,並且利用不同的事件來控制顯示不同角度的模型。

講述了每一幀繪製時,位置應該怎麼合理變化。 最後,因放大模型導致穿透到模型內部的問題,介紹了GPU檢查攝像機與三角形前後位置關係的方法(反轉法線)。


來自http://sina.lt/fXCN

tutorial 7

將怎麼將hardcode(硬編碼,寫死的數據)的模型換成使用Blender工具導出模型。

來自http://sina.lt/fXCM

tutorial 8

介紹了光照對著色的影響,不同的光照和材質會有不一樣的著色效果,用到了頂點法線(頂點所有面的法線均值)。

來自http://sina.lt/fXCK

QA

可以訪問相關的github倉庫哦 >> http://sina.lt/fXCR

實踐,耐心,有編程基礎的可以入門快,沒線性代數基礎的可以補!

首先谷歌百度奉上,其次再有問題(思考過無法解決的問題),可以聯繫我941090791@qq.com!踩坑經驗奉上!

更好的閱讀體驗請點擊【查看原文】

看到這裡不妨添加微信搜索公眾號《虛幻技術美術》或掃描以下二維碼,添加關注支持豬哥! 

虛幻技術美術,用心服務遊戲

相關焦點

  • 為什麼說學好數理化走遍天下都不怕?
    「學好數理化,走遍天下都不怕」,這不是因為數學的用處特別多,而是因為有數學思維的人,總能化繁為簡,直擊本質,做起事來一通百通。但問題是:究竟怎麼才能建立數學思維呢?數學好的人就一定有數學思維嗎?數學不好的人就再也沒有機會了嗎? 為什麼要學數學?數學不是理工科人才的專屬,而是所有人都需要的「武器」。
  • 高考在線 | 學好數理化走遍天下都不怕
    除了面對考試的要求,孩子要想在未來社會中更具競爭力,學好數學、物理、化學也是必不可少的。有句俗話說的好:學好數理化,走遍天下都不怕。 但話說回來,如何學好數理化,一直是許多同學所頭疼的問題,所以視野公益課堂帶來了今天的數理化專題內容《高三數學:高考中概率與統計問題突破》《高三物理:雙星問題》和《高中化學:理綜化學熱點一(電化學選擇題)》,快快收藏學習吧。
  • 【我不是郝老師】學好廚師和理髮,走遍天下都不怕!聊聊HomeStay
    【我不是郝老師】學好廚師和理髮,走遍天下都不怕!聊聊HomeStay 獨家原創視頻 出國留學住在哪裡最安心、放心?
  • 高考何去何從,學好數理化走遍天下都不怕,真的要走進歷史了嗎?
    學好數理化、走遍天下都不怕那麼,數學,或者物理,到底在高考中應該佔據一個什麼樣的位置呢「學好數理化、走遍天下都不怕」成為新中國教育的最濃縮的縮影,從40後到80後,基本上都是在這一大的教育背景和理念下成長起來的。從1980年到2020年,這四十年間,正是40後,50後,60後,70後,80後成為我國生產建設主力的時代,這四十年,雖然沒有科學大師出現,但是,在工程製造領域所取得的進步也是舉世矚目,也是這四十年來國力逐漸恢復的重要力量源泉。
  • 「學好數理化,走遍天下都不怕」?刻板效應對孩子的影響,要謹慎
    文章純屬原創,版權歸本作者所有,歡迎個人轉發分享"學好數理化,走遍天下都不怕!"不單是在我國,很多其他國家也都是存在文理分科的情況,雖然現在國家的考試教育政策有改動,但是大家還是在思想觀念上存在文理分家的心理暗示。而很多家長受到了"學好數理化走遍天下都不怕"這樣的思想觀念影響,都希望孩子能夠在理科方面的學習上有一番早就,根據相關調查顯示——每年理科生報名高考的人數遠遠超過文科生。
  • 學好英語走遍天下都不怕!
    學好英語走遍天下都不怕,今天來和我一起學習下出行必備口語吧!What time do you start check-in?你們什麼時候開始辦理登機?我在這裡等你!
  • 學好普通話,走遍天下都不怕,普通話學習訓練技巧
    學好普通話,走遍天下都不怕。普通話的重要性清楚明晰,關於版圖廣闊的我國來說,許多當地的方言口音較重,與普通話的發音相差甚遠,所以普通話的學習與廣泛也很有必要。01學習普通話的第一個條件就是學好拼音。只學好根底的漢語拼音是不可的,普通話中有許多變調,運用得好,可以使說話、朗讀顯得更為天然,賦有改變,簡略表達豐厚的情感。
  • 曾經那句「學好數理化,走遍天下都不怕」,擔誤了多少人?
    1 記得讀初中那會,家長和同學口中就流行著這麼一句話:「學好數理化,走遍天下都不怕。」 事實上,文科和理科思維,就像我們的左右腦思維一樣,一個代表感性,另一個代表理性,都是非常重要的能力。 抬高一方而貶低另一方,都會讓人的能力發展產生偏頗,就是我們常說的偏科。 語言表達能力,公文寫作能力,寫文章的能力,相對於數理化這些理科知識來說,更像是一種軟實力,在很多工作中都極為重要。
  • 中學階段最重要的一門學科,不是數理化,學好了走遍天下都不怕
    「學好數理化,走遍天下都不怕」如今在許多地方其實已經不被認同,比如筆者所在的安徽,今年中考改革後理化分數降低了,從中似乎可以看出今後的發展方向。數理化總分300,可是一門語文總分150,據說今後可能會提升到180分。因此,今後要想在中考、高考中取得好的成績,學好語文才是最為重要的(文末有彩蛋哦!)
  • 學好數理化走遍天下都不怕?已經過時了,現在是大語文時代!
    在過去,常聽父輩們說「學好數理化,走遍天下都不怕。」而現在乃至將來,對於中國的基礎教育,語文是首當其衝,重中之重。原國家副總督學、教育部基教司原司長王文湛提到,語文是第一大科,佔總課時的21%以上,是學習其他各科的基礎前提,中小學語文則是基礎中的基礎,「 今後高考的區分度主要在語文。」
  • 學好「自動化」,走遍天下都不怕
    核心課程軟體工程基礎、Python語言及應用、工程力學基礎、圖學基礎及CAD、電路、模擬電子技術、數字電子技術、信號與系統、電機及拖動、自動控制理論、檢測與傳感技術、電力電子技術、通信原理、數字圖像處理、微機原理及接口技術、過程控制與自動化儀表、自動控制系統、計算機控制及應用、計算機網絡與通信、電器控制及應用、模式識別、機器學習、機器人技術基礎
  • 「學好數理化,走遍天下都不怕」?新高考選科當心「入坑」
    有人經常說「學好數理化,走遍天下都不怕」,在新高考改革中實行選科組合,數學的必修科目,選科選擇物理和化學雖說可報考專業覆蓋率很高,但是現實中,能夠學好數理化的學生並不多,而且即便是學了,也可能一不小心「掉坑」裡了。
  • 一機在手走遍天下都不怕:華為Mate 20系列暢享AI翻譯
    英語是國際通用語言,但理想豐滿現實骨感,不少中國人無法流利說一口英語,還有一些甚至還處於聽得懂簡單單詞階段,面對國人平均英語水平還處於尚需提高的階段,不得不被「曲線救國」,比如近年來手機廠商都讓自家手機支持拍照識別英文,再轉換為中文功能,以此來幫助國內用戶更好理解英語或是與外國人溝通交流。
  • 走遍天下都不怕 卡西歐E-Y200辭典熱賣
    (原標題:走遍天下都不怕 卡西歐E-Y200辭典熱賣)
  • 「學好數理化,走遍天下都不怕」對現在的孩子而言還適用嗎?
    在我們還上學的時候,有一句名言幾乎貫穿了整個學生生涯:「學好數理化,走遍天下都不怕。」孩子的理科思維,一定要打好基礎,越早培養越好!那麼,應該如何培養孩子的理科思維呢?最直接簡單的方式,就是讓孩子扎紮實實學好「數理化」。
  • 小學生:學好普通話走遍天下都不怕
    前幾天帶孩子在小區玩,碰到一個四歲多的小男孩,他主動過來打招呼,但是說了幾句話我都不明白他在表達什麼意思?最後不得不提醒他:「你可以給阿姨指一下你在表達什麼意思嗎?」男孩用手指了一下左腿的小肚子,看到他腿部有擦傷,於是問他是不是剛才受傷了?
  • 學好數學,走遍天下都不怕!孩子數學成績差,想要逆襲怎麼辦?
    文章原創,歡迎個人轉載分享!網上有這樣一個段子:學生:「我告訴你,別把我逼急了,不然我什麼都做得出來!」老師:「好的,麻煩把這道數學題解了。」學生:「除了數學題!」但是,這個過程中有人成功,有人失敗,想要學好數學,可不是一件簡單的事情。數學成績差,對孩子的影響有多大?·影響孩子的擇校作為九年義務教育的三大主科之一,數學對於孩子的重要性不言而喻。
  • 什麼叫走遍天下都不怕?06年的桑旅,現在是什麼樣子
    『擁有一輛桑塔納,走遍天下都不怕』,不知這句廣告詞兒是否能勾起你靈魂深處的回憶,最近我們收了一輛14年前的桑塔納……確切的說,是桑塔納旅行車。因為在那個以硬朗為設計核心的年代,能開上車的,非富即貴,腰板都是賊硬賊硬的。外形處處都是方的,最有特點的就是方形的車燈,氙氣、透鏡、遠近一體等……一個都沒有!滷素大燈就是那麼素,泛黃的燈光照亮的是當年的碎石小路。
  • 學好PPT,走遍天下都不怕
    相信很多人都有這種經歷,在公司匯報會上,想做一份精美的PPT展示成果,順便展示才能,希望能夠以此得到領導的賞識。但是,煩惱來了:現在社會節奏很快,特別是職場中人,時間異常寶貴,如果決定投入時間來學習PPT,付出和匯報如果不成正比,那就好像不值得了。
  • 學會這12個CAD製圖命令,走遍天下都不怕,有沒有興趣?
    每天都有分享。完全是免費訂閱,請放心關注。學習CAD最主要就是掌握快捷鍵命令,如果不會快捷鍵只能用滑鼠在屏幕上點,這樣製圖效率特別慢,大家一定掌握這12個CAD製圖命令,學會了走遍天下都不怕。三、掌握這12個命令熟悉這12個命令幾乎就可以走遍天下都不怕!因為CAD功能非常強大,操作也可以非常的靈活,比如隨意挑出上面的幾個命令,畫一個正方形出來。1、用線的命令 +相對坐標,組成一個正方形。