原创 從零開始構建自己的WebGL3D引擎—材質篇

引言: 第二篇本來想講講攝影機的內容,但是還是想從渲染開始講起。因爲我們希望引擎更專注於渲染,等渲染結束我們再去慢慢的寫攝影機和一些數學運算吧。 該篇主要思考基礎材質類如何封裝以及shader如何處理和優化、shader編譯、un

原创 從零開始構建自己的WebGL3D引擎---思考與設計

引言 : 學習webgl已經接近2年時間了,對常見的開源3D引擎也比較熟悉了,但是目前爲止three.js、babyLon、clayGL、cesium對webgl2新特性的支持也不是特別多。從今天開始,準備着手構建自己的3D引擎,

原创 用three.js構建自己的後處理渲染器第二篇---性能好要解決的問題

上一篇我們講了抗鋸齒的選擇,這一篇我們講一下常用的後處理功能的實現思路,如果想了解抗鋸齒https://blog.csdn.net/zhgu1992/article/details/103322528 首先看一下three.js自

原创 用three.js構建自己的後處理渲染器第三篇---架構設計

上一篇主要討論性能問題,這一篇我們開始設計後處理渲染器架構 effectComposer ---(默認生成 sourceTarget(原場景), readBuffer(後續每一個pass的最終結果),writeBuffer(負責與

原创 用three.js構建自己的後處理渲染器第一篇---抗鋸齒的選擇

說到渲染引擎就不得不提到延遲渲染,基本上一個引擎如果沒有實現延遲渲染就不能說是一個好的渲染引擎,不過可惜的是three.js並沒有實現延遲渲染(ps:呼籲作者趕緊實現mrt吧)。由於沒有mrt和延遲渲染,本來不打算寫後處理的,但是

原创 three.js性能研究——第一篇

現在開源的webgl引擎中,three.js是功能最豐富的,而且社區活躍,使用簡單,但是它的性能確實不太理想。本系列就和大家一一探究three.js的性能到底如何,原因是什麼,以及有什麼改進方案。 首先我們模擬一個理論上性能最好的

原创 用three.js實現炫酷的城市掃光效果

最近由於工作需要實現一些比較炫酷的3d城市掃光效果,現在分享給大家思路和方法 先看效果圖:具體怎麼實現的那? 首先像掃光這種效果是3D比較基本的效果,我們可以使用後處理、模版、材質三種方式來實現,鑑於後處理和模版這兩塊用three

原创 使用three.js渲染瓦片地球-第一篇

近期有個需求是想使用自己的3d引擎去渲染地球邏輯,如果從頭實現一遍會比較耗費時間,而且後續還要實現傾斜攝影等等,所以打算使用cesium來幫我們做調度然後用自己的3d引擎渲染。 在github上找到了個cesium-three發現

原创 使用pgrouting和geotools實現最短路徑,服務區分析

1本文主要講解服務區分析的實現(最優路徑已經有很多文章了) 設施服務範圍指在一定限制條件下(如時間、費用或路程等)設施所能提供服務的最大空間領域, 在道路網絡環境中,它通常由一系列結點及邊組成。例如, 某救助站在接到求救電話後10 mi

原创 用hlsl/glsl實現內發光效果

1近期由於工作需求,需要實現一些地球上行政區域的內發光效果,找了很多資料終於找到了一個比較好的算法,現在一步一步分享給大家 2.首先在學習shader的時候,特別是hlsl和cg語言的,我們可以使用NVIDIA FX Composer 2