OpenGL学习小结
一、書寫背景:
做為井底之蛙的我,之前一直做的2D游戲開發,最近搞了一個3D項目發現自己原來還有這么多欠缺的地方。另外看到群里大家討論的各種渲染流程,渲染shader的實現自己竟然不知道別人說的專業名詞都不知道是啥。于是決定開始沉下心來把openGL好好學習一下。
? ? ? ? 一開始學習的時候沒摸準門路各種找書看各種看完就忘記,而且一直都浪費時間在openGL 那些api的功能查詢中,而且又時間一久很多api又忘記了。發現自己走了不少彎路。最后在github看到了一個openGL的好書(簡介 - LearnOpenGL CN)。跟著學習一下子門路摸清了。
? ? ? ? 把這本書看了幾遍發現看了雖然對一些概念有所了解但是發現還是知之深淺。于是決定跟著書一邊學習一邊將自己做游戲這么多年對游戲引擎的理解和對cocos 引擎代碼閱讀總結經驗。寫一個opengl的簡易引擎,這個引擎主要目標是吸收總結學習到的opengl知識,并且寫出來變成可視的效果。于是有了(GitHub - xzben/openGLStudy: 我的openGL學習)這個庫。
? ? ? ? 目前已經實現了一些基本的渲染功能,包括了 紋理加載處理,燈光處理,shader 處理,攝像機,天空盒子等功能。后續隨著學習的深入還會繼續加強功能,并且優化代碼設計提升性能。目前編碼的第一目標是先完成要的渲染目的(所以有些設計并不是最優的后續等到全部渲染的功能都寫好了再進行優化整理)。
? ? ? ? 本來想等全部寫完整個渲染的所有周邊功能再寫總結文章的。但是發現這個過程可能會持續很長時間,擔心時間長了寫代碼時發現的一些看文章會忽略的點和自己的一些心得會遺忘所以決定還是要定期的把一些內容記錄下來。所以本系列文章會隨著學習的深入經常會有所改變調整。
二、OpenGL大綱總結
? ? ? ? 可能用過3D 引擎的同學發現普遍存在幾個常見的類,Camera、Model、Material、Texture,天空盒子、shader 就是 頂點著色器,片段著色器,幾何著色器,可能看得深入點還會看到 渲染管線,framebuffer 等內容。作為剛入門的同學肯定會對這些東西只是知道有,知道能用來能做啥效果,但是背后的細節就不太清楚了。本系列文章將安裝這些對象逐一分析。
1、OpenGL 渲染流程
2、Camera 和 矩陣變換
3、Texture
4、Mesh 物體的骨骼
5、Shader
6、Material
7、framebuffer (幀緩沖)
8、渲染管線
9、后期處理??
總結
以上是生活随笔為你收集整理的OpenGL学习小结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 智慧物联网平台源码 物联网源码 java
- 下一篇: 7.volatile怎么通过内存屏障保证