Browse Source

Change priority order for float and half float on defaultrenderingpipeline

David Catuhe 8 years ago
parent
commit
2990b5c5b7

File diff suppressed because it is too large
+ 2805 - 2805
dist/preview release/babylon.d.ts


File diff suppressed because it is too large
+ 2805 - 2805
dist/preview release/babylon.module.d.ts


+ 12 - 2
src/PostProcess/RenderPipeline/Pipelines/babylon.defaultRenderingPipeline.ts

@@ -130,11 +130,21 @@
             this._cameras = cameras || [];
             this._cameras = cameras || [];
 
 
             // Initialize
             // Initialize
-            this._hdr = hdr;
+            var caps = this._scene.getEngine().getCaps();
+            this._hdr = hdr && (caps.textureHalfFloatRender || caps.textureFloatRender);
             this._scene = scene;
             this._scene = scene;
 
 
             // Misc
             // Misc
-            this._defaultPipelineTextureType = !hdr ? Engine.TEXTURETYPE_UNSIGNED_INT : (scene.getEngine().getCaps().textureFloatRender ? Engine.TEXTURETYPE_FLOAT : Engine.TEXTURETYPE_HALF_FLOAT);
+            if (this._hdr) {
+                if (caps.textureHalfFloatRender) {
+                    this._defaultPipelineTextureType  = Engine.TEXTURETYPE_HALF_FLOAT;
+                }
+                else if (caps.textureFloatRender) {
+                    this._defaultPipelineTextureType  = Engine.TEXTURETYPE_FLOAT;
+                }
+            } else {
+                this._defaultPipelineTextureType = Engine.TEXTURETYPE_UNSIGNED_INT;
+            }
 
 
             // Attach
             // Attach
             scene.postProcessRenderPipelineManager.addPipeline(this);
             scene.postProcessRenderPipelineManager.addPipeline(this);