浏览代码

Merge pull request #5976 from sebavan/master

Allow Webpacked lib to be used in node.js
David Catuhe 6 年之前
父节点
当前提交
c7681f9f60

+ 2 - 1
Tools/WebpackPlugins/babylonWebpackConfig.js

@@ -31,7 +31,8 @@ module.exports = function defaultConfig(options) {
                 amd: settings.build.umd.packageName,
                 commonjs: settings.build.umd.packageName
             },
-            umdNamedDefine: true
+            umdNamedDefine: true,
+            globalObject: '(typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this)'
         },
         resolve: options.resolve || {
             extensions: [".ts", ...options.resolveExtensions]

+ 6 - 3
src/Engines/nullEngine.ts

@@ -10,6 +10,9 @@ import { Effect } from "../Materials/effect";
 import { _TimeToken } from "../Instrumentation/timeToken";
 import { _DepthCullingState, _StencilState, _AlphaState } from "../States/index";
 import { Constants } from "./constants";
+
+declare const global: any;
+
 /**
  * Options to create the null engine
  */
@@ -129,15 +132,15 @@ export class NullEngine extends Engine {
         Logger.Log(`Babylon.js v${Engine.Version} - Null engine`);
 
         // Wrappers
+        const theCurrentGlobal = (typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : window);
         if (typeof URL === "undefined") {
-            (<any>URL) = {
+            theCurrentGlobal.URL = {
                 createObjectURL: function() { },
                 revokeObjectURL: function() { }
             };
         }
-
         if (typeof Blob === "undefined") {
-            (<any>Blob) = function() { };
+            theCurrentGlobal.Blob = function() { };
         }
     }
 

+ 1 - 1
src/Shaders/ShadersInclude/pbrDebug.fx

@@ -132,7 +132,7 @@
     #elif DEBUGMODE == 74 && defined(CLEARCOAT) && defined(ENVIRONMENTBRDF) && !defined(REFLECTIONMAP_SKYBOX)
         gl_FragColor.rgb = clearCoatEnvironmentReflectance;
         #define DEBUGMODE_GAMMA
-    #elif DEBUGMODE == 75 && defined(SHEEN)
+    #elif DEBUGMODE == 75 && defined(SHEEN) && defined(REFLECTION)
         gl_FragColor.rgb = sheenEnvironmentReflectance;
         #define DEBUGMODE_GAMMA
     #elif DEBUGMODE == 76 && defined(ALPHABLEND)

+ 1 - 1
src/Shaders/pbr.fragment.fx

@@ -1028,7 +1028,7 @@ void main(void) {
     #endif
 
     // _____________________________ Sheen Environment Oclusion __________________________
-    #ifdef SHEEN
+    #if defined(SHEEN) && defined(REFLECTION)
         vec3 sheenEnvironmentReflectance = getSheenReflectanceFromBRDFLookup(sheenColor, NdotV, sheenAlphaG);
 
         #ifdef RADIANCEOCCLUSION

+ 2 - 2
tests/nullEngine/app.js

@@ -1,5 +1,5 @@
-var BABYLON = require("../../dist/preview release/babylon.max");
-var LOADERS = require("../../dist/preview release/loaders/babylonjs.loaders");
+var BABYLON = require("babylonjs");
+var LOADERS = require("babylonjs-loaders");
 global.XMLHttpRequest = require('xhr2').XMLHttpRequest;
 
 var engine = new BABYLON.NullEngine();