소스 검색

Rename Render[*] files to PostProcessRender[*].
Updating babylonJS.xml
Replacing the eval function by another method in Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js

michael-korbas 11 년 전
부모
커밋
17f4e89872

+ 36 - 34
Babylon/PostProcess/RenderPipeline/babylon.renderEffect.js

@@ -3,7 +3,7 @@
 var BABYLON = BABYLON || {};
 
 (function () {
-	BABYLON.RenderEffect = function RenderEffect(engine, name, postProcessType, ratio, samplingMode, singleInstance) {
+	BABYLON.PostProcessRenderEffect = function PostProcessRenderEffect(engine, name, postProcessType, ratio, samplingMode, singleInstance) {
 		this._engine = engine;
 
 		this._name = name;
@@ -14,7 +14,7 @@ var BABYLON = BABYLON || {};
 
 		this._postProcessType = postProcessType;
 
-		this._ratio = ratio;
+		this._ratio = ratio || 1.0;
 		this._samplingMode = samplingMode || null;
 
 		this._cameras = [];
@@ -27,25 +27,25 @@ var BABYLON = BABYLON || {};
 
 	};
 
-	BABYLON.RenderEffect.prototype.addPass = function(renderPass) {
+	BABYLON.PostProcessRenderEffect.prototype.addPass = function(renderPass) {
 		this._renderPasses[renderPass._name] = renderPass;
 
 		this._linkParameters();
 	};
 
-	BABYLON.RenderEffect.prototype.removePass = function (renderPass) {
+	BABYLON.PostProcessRenderEffect.prototype.removePass = function (renderPass) {
 		delete this._renderPasses[renderPass._name];
 
 		this._linkParameters();
 	};
 
-	BABYLON.RenderEffect.prototype.addRenderEffectAsPass = function(renderEffect) {
+	BABYLON.PostProcessRenderEffect.prototype.addRenderEffectAsPass = function(renderEffect) {
 		this._renderEffectAsPasses[renderEffect._name] = renderEffect;
 
 		this._linkParameters();
 	};
 
-	BABYLON.RenderEffect.prototype.getPass = function (passName) {
+	BABYLON.PostProcessRenderEffect.prototype.getPass = function (passName) {
 	    for (var renderPassName in this._renderPasses) {
 	        if (renderPassName == passName) {
 	            return this._renderPasses[passName];
@@ -53,24 +53,24 @@ var BABYLON = BABYLON || {};
 	    }
 	};
 
-	BABYLON.RenderEffect.prototype.emptyPasses = function () {
+	BABYLON.PostProcessRenderEffect.prototype.emptyPasses = function () {
 		this._renderPasses.length = 0;
 
 		this._linkParameters();
 	};
 
-	BABYLON.RenderEffect.prototype.attachCameras = function (cameras) {
+	BABYLON.PostProcessRenderEffect.prototype.attachCameras = function (cameras) {
 		var postProcess = null;
 
 		cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		for (var i = 0; i < cameras.length; i++) {
 			if (this._singleInstance) {
-			    postProcess = this._postProcesses[0] || eval(BABYLON.RenderEffect.getStringToInstantiate(this._postProcessType, this._ratio, this._samplingMode));
+			    postProcess = this._postProcesses[0] || BABYLON.PostProcessRenderEffect.getInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
 				this._postProcesses[0] = postProcess;
 			}
 			else {
-			    postProcess = this._postProcesses[cameras[i]] || eval(BABYLON.RenderEffect.getStringToInstantiate(this._postProcessType, this._ratio, this._samplingMode));
+			    postProcess = this._postProcesses[cameras[i]] || BABYLON.PostProcessRenderEffect.getInstance(this._engine, this._postProcessType, this._ratio, this._samplingMode);
 				this._postProcesses[cameras[i].name] = postProcess;
 			}
 
@@ -94,7 +94,7 @@ var BABYLON = BABYLON || {};
 		this._linkParameters();
 	};
 
-	BABYLON.RenderEffect.prototype.detachCameras = function (cameras) {
+	BABYLON.PostProcessRenderEffect.prototype.detachCameras = function (cameras) {
 		cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		for (var i = 0; i < cameras.length; i++) {
@@ -114,7 +114,7 @@ var BABYLON = BABYLON || {};
 		}
 	};
 
-	BABYLON.RenderEffect.prototype._linkParameters = function () {
+	BABYLON.PostProcessRenderEffect.prototype._linkParameters = function () {
 		var that = this;
 		for (var index in this._postProcesses) {
 		    this._postProcesses[index].onApply = function (effect) {
@@ -124,7 +124,7 @@ var BABYLON = BABYLON || {};
 		}
 	};
 
-	BABYLON.RenderEffect.prototype._linkTextures = function (effect) {
+	BABYLON.PostProcessRenderEffect.prototype._linkTextures = function (effect) {
         for (var renderPassName in this._renderPasses) {
             effect.setTexture(renderPassName, this._renderPasses[renderPassName].getRenderTexture());
         }
@@ -135,13 +135,13 @@ var BABYLON = BABYLON || {};
 	};
 
     
-	BABYLON.RenderEffect.prototype._update = function () {
+	BABYLON.PostProcessRenderEffect.prototype._update = function () {
 		for (var renderPassName in this._renderPasses) {
 			this._renderPasses[renderPassName]._update();
 		}
 	};
 
-	BABYLON.RenderEffect.prototype.enable = function (cameras) {
+	BABYLON.PostProcessRenderEffect.prototype.enable = function (cameras) {
 	    cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		for (var i = 0; i < cameras.length; i++) {
@@ -162,7 +162,7 @@ var BABYLON = BABYLON || {};
 		}
 	};
 
-	BABYLON.RenderEffect.prototype.disable = function (cameras) {
+	BABYLON.PostProcessRenderEffect.prototype.disable = function (cameras) {
 		cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		for (var i = 0; i < cameras.length; i++) {
@@ -180,50 +180,52 @@ var BABYLON = BABYLON || {};
 	};
 
 
-	BABYLON.RenderEffect.prototype.getPostProcess = function(camera) {
+	BABYLON.PostProcessRenderEffect.prototype.getPostProcess = function(camera) {
 		return this._postProcess;
 	};
 
-	BABYLON.RenderEffect.getStringToInstantiate = function (postProcessType, ratio, samplingMode) {
-	    var stringToInstantiate = "new " + postProcessType + "(";
+	BABYLON.PostProcessRenderEffect.getInstance = function (engine, postProcessType, ratio, samplingMode) {
+	    var tmpClass;
+	    var instance;
+	    var args = new Array();
 
-	    var parameters = BABYLON.RenderEffect.getParametersNames(postProcessType);
+	    var parameters = BABYLON.PostProcessRenderEffect.getParametersNames(postProcessType);
 	    for (var i = 0; i < parameters.length; i++) {
 	        switch (parameters[i]) {
 	            case "name":
-	                stringToInstantiate += "\"" + postProcessType + "\"";
+	                args[i] = postProcessType.toString();
 	                break;
 	            case "ratio":
-	                stringToInstantiate += ratio;
+	                args[i] = ratio;
 	                break;
 	            case "camera":
-	                stringToInstantiate += "null";
+	                args[i] = null;
 	                break;
 	            case "samplingMode":
-	                stringToInstantiate += samplingMode;
+	                args[i] = samplingMode;
 	                break;
 	            case "engine":
-	                stringToInstantiate += "this._engine";
+	                args[i] = engine;
 	                break;
 	            case "reusable":
-	                stringToInstantiate += "true";
+	                args[i] = true;
 	                break;
 	            default:
-	                stringToInstantiate += "null";
+	                args[i] = null;
 	                break;
 	        }
-
-	        if (i + 1 < parameters.length) {
-	            stringToInstantiate += ",";
-	        }
 	    }
 
-	    stringToInstantiate += ")";
+	    tmpClass = function () { };
+	    tmpClass.prototype = postProcessType.prototype;
+
+	    instance = new tmpClass();
+	    postProcessType.apply(instance, args);
 
-	    return stringToInstantiate;
+	    return instance;
 	};
 
-	BABYLON.RenderEffect.getParametersNames = function (func) {
+	BABYLON.PostProcessRenderEffect.getParametersNames = function (func) {
 	    var commentsRegex = /((\/\/.*$)|(\/\*[\s\S]*?\*\/))/mg;
 	    var functWithoutComments = eval(func).toString().replace(commentsRegex, '');
 

+ 6 - 6
Babylon/PostProcess/RenderPipeline/babylon.renderPass.js

@@ -3,7 +3,7 @@
 var BABYLON = BABYLON || {};
 
 (function () {
-	BABYLON.RenderPass = function RenderPass(scene, name, size, renderList, beforeRender, afterRender) {
+	BABYLON.PostProcessRenderPass = function PostProcessRenderPass(scene, name, size, renderList, beforeRender, afterRender) {
 		this._name = name;
 		this._enabled = true;
 
@@ -20,7 +20,7 @@ var BABYLON = BABYLON || {};
 		this._refCount = 0;
 	};
 
-	BABYLON.RenderPass.prototype.incRefCount = function () {
+	BABYLON.PostProcessRenderPass.prototype.incRefCount = function () {
 	    if (this._refCount == 0) {
 	        this._scene.customRenderTargets.push(this._renderTexture);
 	    }
@@ -28,7 +28,7 @@ var BABYLON = BABYLON || {};
 	    this._refCount++;
 	};
 
-	BABYLON.RenderPass.prototype.decRefCount = function () {
+	BABYLON.PostProcessRenderPass.prototype.decRefCount = function () {
 	    this._refCount--;
 
 	    if (this._refCount <= 0) {
@@ -36,15 +36,15 @@ var BABYLON = BABYLON || {};
 	    }
 	};
 
-	BABYLON.RenderPass.prototype.setRenderList = function (renderList) {
+	BABYLON.PostProcessRenderPass.prototype.setRenderList = function (renderList) {
 		this._renderTexture.renderList = renderList;
 	};
 
-	BABYLON.RenderPass.prototype.getRenderTexture = function () {
+	BABYLON.PostProcessRenderPass.prototype.getRenderTexture = function () {
 		return this._renderTexture;
 	};
 
-	BABYLON.RenderPass.prototype._update = function () {
+	BABYLON.PostProcessRenderPass.prototype._update = function () {
 		this.setRenderList(this._renderList);
 	};
 })();

+ 14 - 14
Babylon/PostProcess/RenderPipeline/babylon.renderPipeline.js

@@ -3,7 +3,7 @@
 var BABYLON = BABYLON || {};
 
 (function () {
-	BABYLON.RenderPipeline = function RenderPipeline(engine, name) {
+	BABYLON.PostProcessRenderPipeline = function PostProcessRenderPipeline(engine, name) {
 		this._engine = engine;
 
 		this._name = name;
@@ -14,11 +14,11 @@ var BABYLON = BABYLON || {};
 		this._cameras = [];
 	};
 
-	BABYLON.RenderPipeline.prototype.addEffect = function (renderEffect) {
+	BABYLON.PostProcessRenderPipeline.prototype.addEffect = function (renderEffect) {
 		this._renderEffects[renderEffect._name] = renderEffect;
 	};
 
-	BABYLON.RenderPipeline.prototype.enableEffect = function (renderEffectName, cameras) {
+	BABYLON.PostProcessRenderPipeline.prototype.enableEffect = function (renderEffectName, cameras) {
 	    cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		var renderEffects = this._renderEffects[renderEffectName];
@@ -30,7 +30,7 @@ var BABYLON = BABYLON || {};
 		renderEffects.enable(cameras);
 	};
 
-	BABYLON.RenderPipeline.prototype.disableEffect = function (renderEffectName, cameras) {
+	BABYLON.PostProcessRenderPipeline.prototype.disableEffect = function (renderEffectName, cameras) {
 	    cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		var renderEffects = this._renderEffects[renderEffectName];
@@ -42,7 +42,7 @@ var BABYLON = BABYLON || {};
 		renderEffects.disable(cameras);
 	};
 
-	BABYLON.RenderPipeline.prototype.attachCameras = function (cameras, unique) {
+	BABYLON.PostProcessRenderPipeline.prototype.attachCameras = function (cameras, unique) {
 		cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 		
 		var indicesToDelete = [];
@@ -65,7 +65,7 @@ var BABYLON = BABYLON || {};
 		}
 	};
 
-	BABYLON.RenderPipeline.prototype.detachCameras = function (cameras) {
+	BABYLON.PostProcessRenderPipeline.prototype.detachCameras = function (cameras) {
 		cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		for (var renderEffectName in this._renderEffects) {
@@ -77,7 +77,7 @@ var BABYLON = BABYLON || {};
 		}
 	};
 
-	BABYLON.RenderPipeline.prototype.enableDisplayOnlyPass = function (passName, cameras) {
+	BABYLON.PostProcessRenderPipeline.prototype.enableDisplayOnlyPass = function (passName, cameras) {
 		cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		var pass = null;
@@ -98,21 +98,21 @@ var BABYLON = BABYLON || {};
 			this._renderEffects[renderEffectName].disable(cameras);
 		}
 		
-		pass._name = BABYLON.RenderPipeline.PASS_SAMPLER_NAME;
+		pass._name = BABYLON.PostProcessRenderPipeline.PASS_SAMPLER_NAME;
 		
 		for (var i = 0; i < cameras.length; i++) {
-		    this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new BABYLON.RenderEffect(this._engine, BABYLON.RenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0);
+		    this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new BABYLON.RenderEffect(this._engine, BABYLON.PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0);
 			this._renderEffectsPasses[cameras[i].name].emptyPasses();
 			this._renderEffectsPasses[cameras[i].name].addPass(pass);
 			this._renderEffectsPasses[cameras[i].name].attachCameras(cameras[i]);
 		}
 	};
 
-	BABYLON.RenderPipeline.prototype.disableDisplayOnlyPass = function (cameras) {
+	BABYLON.PostProcessRenderPipeline.prototype.disableDisplayOnlyPass = function (cameras) {
 	    cameras = BABYLON.Tools.MakeArray(cameras || this._cameras);
 
 		for (var i = 0; i < cameras.length; i++) {
-		    this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new BABYLON.RenderEffect(this._engine, BABYLON.RenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0);
+		    this._renderEffectsPasses[cameras[i].name] = this._renderEffectsPasses[cameras[i].name] || new BABYLON.RenderEffect(this._engine, BABYLON.PostProcessRenderPipeline.PASS_EFFECT_NAME, "BABYLON.DisplayPassPostProcess", 1.0);
 		    this._renderEffectsPasses[cameras[i].name].disable(cameras[i]);
 		}
 
@@ -121,7 +121,7 @@ var BABYLON = BABYLON || {};
 		}
 	};
 
-	BABYLON.RenderPipeline.prototype._update = function () {
+	BABYLON.PostProcessRenderPipeline.prototype._update = function () {
 		for (var renderEffectName in this._renderEffects) {
 			this._renderEffects[renderEffectName]._update();
 		}
@@ -133,6 +133,6 @@ var BABYLON = BABYLON || {};
 		}
 	};
 
-	BABYLON.RenderPipeline.PASS_EFFECT_NAME = "passEffect";
-	BABYLON.RenderPipeline.PASS_SAMPLER_NAME = "passSampler";
+	BABYLON.PostProcessRenderPipeline.PASS_EFFECT_NAME = "passEffect";
+	BABYLON.PostProcessRenderPipeline.PASS_SAMPLER_NAME = "passSampler";
 })();

+ 9 - 9
Babylon/PostProcess/RenderPipeline/babylon.renderPipelineManager.js

@@ -3,21 +3,21 @@
 var BABYLON = BABYLON || {};
 
 (function () {
-	BABYLON.RenderPipelineManager = function RenderPipelineManager() {
+	BABYLON.PostProcessRenderPipelineManager = function PostProcessRenderPipelineManager() {
 		this._renderPipelines = [];
 	};
 
-	BABYLON.RenderPipelineManager.prototype.addPipeline = function(renderPipeline) {
+	BABYLON.PostProcessRenderPipelineManager.prototype.addPipeline = function(renderPipeline) {
 		this._renderPipelines[renderPipeline._name] = renderPipeline;
 	};
 
-	BABYLON.RenderPipelineManager.prototype.update = function () {
+	BABYLON.PostProcessRenderPipelineManager.prototype.update = function () {
 		for (var renderPipelineName in this._renderPipelines) {
 			this._renderPipelines[renderPipelineName]._update();
 		}
 	};
 
-	BABYLON.RenderPipelineManager.prototype.attachCamerasToRenderPipeline = function (renderPipelineName, cameras, unique) {
+	BABYLON.PostProcessRenderPipelineManager.prototype.attachCamerasToRenderPipeline = function (renderPipelineName, cameras, unique) {
 		var renderPipeline = this._renderPipelines[renderPipelineName];
 
 		if (!renderPipeline) {
@@ -27,7 +27,7 @@ var BABYLON = BABYLON || {};
 		renderPipeline.attachCameras(cameras, unique);
 	};
 
-	BABYLON.RenderPipelineManager.prototype.detachCamerasFromRenderPipeline = function (renderPipelineName, cameras) {
+	BABYLON.PostProcessRenderPipelineManager.prototype.detachCamerasFromRenderPipeline = function (renderPipelineName, cameras) {
 		var renderPipeline = this._renderPipelines[renderPipelineName];
 
 		if (!renderPipeline) {
@@ -38,7 +38,7 @@ var BABYLON = BABYLON || {};
 	};
 
 
-	BABYLON.RenderPipelineManager.prototype.enableEffectInPipeline = function (renderPipelineName, renderEffectName, cameras) {
+	BABYLON.PostProcessRenderPipelineManager.prototype.enableEffectInPipeline = function (renderPipelineName, renderEffectName, cameras) {
 		var renderPipeline = this._renderPipelines[renderPipelineName];
 
 		if (!renderPipeline) {
@@ -48,7 +48,7 @@ var BABYLON = BABYLON || {};
 		renderPipeline.enableEffect(renderEffectName, cameras);
 	};
 
-	BABYLON.RenderPipelineManager.prototype.disableEffectInPipeline = function (renderPipelineName, renderEffectName, cameras) {
+	BABYLON.PostProcessRenderPipelineManager.prototype.disableEffectInPipeline = function (renderPipelineName, renderEffectName, cameras) {
 		var renderPipeline = this._renderPipelines[renderPipelineName];
 
 		if (!renderPipeline) {
@@ -59,7 +59,7 @@ var BABYLON = BABYLON || {};
 	};
 
 
-	BABYLON.RenderPipelineManager.prototype.enableDisplayOnlyPassInPipeline = function (renderPipelineName, passName, cameras) {
+	BABYLON.PostProcessRenderPipelineManager.prototype.enableDisplayOnlyPassInPipeline = function (renderPipelineName, passName, cameras) {
 		var renderPipeline = this._renderPipelines[renderPipelineName];
 
 		if (!renderPipeline) {
@@ -69,7 +69,7 @@ var BABYLON = BABYLON || {};
 		renderPipeline.enableDisplayOnlyPass(passName, cameras);
 	};
 
-	BABYLON.RenderPipelineManager.prototype.disableDisplayOnlyPassInPipeline = function (renderPipelineName, cameras) {
+	BABYLON.PostProcessRenderPipelineManager.prototype.disableDisplayOnlyPassInPipeline = function (renderPipelineName, cameras) {
 		var renderPipeline = this._renderPipelines[renderPipelineName];
 
 		if (!renderPipeline) {

+ 4 - 4
Tools/BuildOurOwnBabylonJS/BuildOurOwnBabylonJS/babylonJS.xml

@@ -16,10 +16,10 @@
   <script src="Babylon/LensFlare/babylon.lensFlareSystem.js"></script>
   <script src="Babylon/LensFlare/babylon.lensFlare.js"></script>
   <script src="Babylon/PostProcess/babylon.anaglyphPostProcess.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.renderPass.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.renderEffect.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.renderPipeline.js"></script>
-  <script src="Babylon/PostProcess/RenderPipeline/babylon.renderPipelineManager.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPass.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderEffect.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipeline.js"></script>
+  <script src="Babylon/PostProcess/RenderPipeline/babylon.postProcessRenderPipelineManager.js"></script>
   <script src="Babylon/PostProcess/babylon.displayPassPostProcess.js"></script>
   <script src="Babylon/PostProcess/babylon.fxaaPostProcess.js"></script>
   <script src="Babylon/PostProcess/babylon.filterPostProcess.js"></script>