最近這半年一直在整畢業的事情,這個畢業真的支配了我三年,說實在我這個碩士確實有點水,我本身測繪工程出身的,研究生選的三維可視化方向,畢業論文卻寫的遙感方向,找的工作又是三維開發,兜兜轉轉又回到了原點,這一切應該就是所謂的緣分,最近看了一些three.js的源碼,與cesium的源碼的相比three的源碼通俗易懂,前提你對webgl熟悉,準備用業餘時間寫一套基於webgl底層的自己的三維引擎。先寫一點關於three的WebGLRender基本渲染東西后續的再次補充。
一、兩個重要的渲染函數
1、renderBufferDirect//直接渲染
2、renderObjectImmediate//objec解析渲染
二、渲染的分類
//透明與不透明的分開渲染
var opaqueObjects = currentRenderList.opaque;//不透明實體
var transparentObjects = currentRenderList.transparent;//透明實體
三、WebGLRender渲染流程
render->renderObjects->renderObject->renderObjectImmediate->renderBufferImmediate
->renderBufferDirect
四、關於object狀態更新與渲染優先級的排序