原创 three.js 源碼分析 之 BoxBufferGeometry
// BoxBufferGeometry /* BufferGeometry中封裝了所有的對外的接口,BoxBufferGeometry類只是填充BufferGeometry中的數據 */ function
原创 three.js 添加座標軸
class WebGLCoordinateAxis { constructor(renderer) { this.renderer = renderer; this.sceneAxis = new
原创 three.js bloom添加深度測試
/** * @author alteredq / http://alteredqualia.com/ * * Convolution shader * ported from o3d sample to WebGL / GLSL
原创 three.js 場景編輯器 源碼解析(二)
three.js場景編輯器的一些初始配置信息存放在editor\js\Config.js下,當第一次加載的時候,編輯器會使用這個配置文件設置默認配置,並將這些配置信息存儲在瀏覽器的window.localStorage,當
原创 three.js 隨筆 之 shader中自定義裁切面clipping_planes解析
自定義裁切面在shader中有clipping_planes_pars_vertex、clipping_planes_vertex、clipping_planes_pars_fragment、clipping_planes_fragmen
原创 three.js 場景編輯器 源碼解析(一)
本文章是基於three.js的編輯器進行源碼解析,編輯器的版本是r103dev版本。 首先從感性認識上看看編輯器都包含哪些內容,讓我們從three.js-dev\editor\js\Strings.js開始。 Strings.js
原创 three.js 場景編輯器 源碼解析(九)
本章介紹場景編輯中關於腳本相關的ui部分,相關的文件爲editor\js\Sidebar.Script.js,後續的三個章節會逐個介紹腳本相關的三個命令editor\ js\commands\AddScriptCommand.js、edi
原创 three.js 隨筆 之 WebGLObjects解析
three.js場景中每個實體都會被WebGLObjects處理,這其中就有一個判斷不太引人注意,但是比較有用, if ( updateList[ buffergeometry.id ] !== frame ) //如果多個mesh
原创 three.js 場景編輯器 源碼解析(三)
這一章大概講解一下three.js場景編輯器的ui構成,編輯器的ui的基本控件封裝在了editor\js\libs\ui.js中,這是一個ui的封裝類,如果想改變ui的樣式只要改變這一個文件基本就可以了。
原创 three.js 場景編輯器 源碼解析(十一)
本章講解腳本的編輯命令SetScriptValueCommand.js,其中包含的功能主要是老腳本的保存和新腳本的設置,execute函數的功能是將新的腳本作爲當前對象的腳本,undo函數處理的過程是將老的腳本重新替換爲當前對象的當前腳本
原创 three.js 場景編輯器 源碼解析(十八)
本章講解editor\js\Sidebar.Scene.js場景面板,場景面板展示了場景圖的節點關係,以及場景背景色、霧。 場景節點會根據Object3D的具體的類型顯示不同的信息,包括camera、scene、light、group、m
原创 three.js 源碼分析之ImageLoader
/** * @author mrdoob / http://mrdoob.com/ */ 這個類用於圖像的下載,包括數據存儲在url中的下載過程,需要注意的是跨域問題 //圖片下載器 funct
原创 three.js 源碼分析 之 LoadingManager
LoadingManager是一個下載過程中記錄、下載完成情況類,當three.js中的一些文件被下載時通過設置LoadingManager可以及時獲取當前文件列表中的下載進度 //正在加載的文件管理 function Loadi
原创 three.js 源碼分析之FileLoader
var loading = {}; //封裝文件下載類 function FileLoader( manager ) { //使用默認的文件下載計數類 this.manager = ( ma
原创 three.js 場景編輯器 源碼解析(十九)
本章講解\editor\js\libs\app.js場景編輯完成之後的執行腳本,執行的過程包括 創建渲染器、加載場景編輯器中的場景、相機、解析各個場景節點、動態創建節點綁定的腳本。 //定義導出對象 var APP = {