Jelajahi Sumber

Merge branch 'master' of https://github.com/BabylonJS/Babylon.js

Julian 8 tahun lalu
induk
melakukan
655801942b
47 mengubah file dengan 24556 tambahan dan 25017 penghapusan
  1. 0 573
      Babylon.csproj
  2. 0 34
      Babylon.sln
  3. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonAbstractMesh.cs
  4. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonActions.cs
  5. 2 2
      Exporters/3ds Max/BabylonExport.Entities/BabylonAnimation.cs
  6. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonAnimationKey.cs
  7. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonBone.cs
  8. 6 2
      Exporters/3ds Max/BabylonExport.Entities/BabylonExport.Entities.csproj
  9. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonFresnelParameters.cs
  10. 12 7
      Exporters/3ds Max/BabylonExport.Entities/BabylonHDRCubeTexture.cs
  11. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonIAnimatable.cs
  12. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonLensFlare.cs
  13. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonLensFlareSystem.cs
  14. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonMultiMaterial.cs
  15. 6 3
      Exporters/3ds Max/BabylonExport.Entities/BabylonPBRMaterial.cs
  16. 4 4
      Exporters/3ds Max/BabylonExport.Entities/BabylonParticleSystem.cs
  17. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonProducer.cs
  18. 21 16
      Exporters/3ds Max/BabylonExport.Entities/BabylonShaderMaterial.cs
  19. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonSkeleton.cs
  20. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonSound.cs
  21. 13 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonStandardMaterial.cs
  22. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonSubMesh.cs
  23. 1 1
      Exporters/3ds Max/BabylonExport.Entities/BabylonUniversalCamera.cs
  24. 0 0
      Exporters/3ds Max/BabylonExport.Entities/BabylonVector3.cs
  25. 0 0
      Exporters/3ds Max/BabylonExport.Entities/Properties/AssemblyInfo.cs
  26. 0 0
      Exporters/3ds Max/BabylonExport.Entities/packages.config
  27. 0 33
      Web.config
  28. 5055 5048
      dist/preview release/babylon.d.ts
  29. 24 24
      dist/preview release/babylon.js
  30. 53 16
      dist/preview release/babylon.max.js
  31. 5055 5048
      dist/preview release/babylon.module.d.ts
  32. 24 24
      dist/preview release/babylon.worker.js
  33. 7063 7056
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts
  34. 22 22
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js
  35. 61 22
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js
  36. 7063 7056
      dist/preview release/customConfigurations/minimalGLTFViewer/babylon.module.d.ts
  37. 7 5
      dist/preview release/loaders/babylon.glTF2FileLoader.js
  38. 1 1
      dist/preview release/loaders/babylon.glTF2FileLoader.min.js
  39. 7 5
      dist/preview release/loaders/babylon.glTFFileLoader.js
  40. 1 1
      dist/preview release/loaders/babylon.glTFFileLoader.min.js
  41. 6 4
      loaders/src/glTF/2.0/babylon.glTFLoader.ts
  42. 13 2
      src/Materials/babylon.material.ts
  43. 8 1
      src/Materials/babylon.multiMaterial.ts
  44. 20 1
      src/PostProcess/RenderPipeline/Pipelines/babylon.defaultRenderingPipeline.ts
  45. 5 5
      src/PostProcess/babylon.imageProcessingPostProcess.ts
  46. TEMPAT SAMPAH
      tests/validation/ReferenceImages/Espilit.png
  47. 3 1
      tests/validation/config.json

+ 0 - 573
Babylon.csproj

@@ -1,573 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
-  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
-  <PropertyGroup>
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
-    <ProductVersion>
-    </ProductVersion>
-    <SchemaVersion>2.0</SchemaVersion>
-    <ProjectGuid>{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}</ProjectGuid>
-    <ProjectTypeGuids>{349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
-    <OutputType>Library</OutputType>
-    <AppDesignerFolder>Properties</AppDesignerFolder>
-    <RootNamespace>BabylonExport</RootNamespace>
-    <AssemblyName>Babylon</AssemblyName>
-    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
-    <UseIISExpress>true</UseIISExpress>
-    <IISExpressSSLPort />
-    <IISExpressAnonymousAuthentication />
-    <IISExpressWindowsAuthentication />
-    <IISExpressUseClassicPipelineMode />
-    <SccProjectName>SAK</SccProjectName>
-    <SccLocalPath>SAK</SccLocalPath>
-    <SccAuxPath>SAK</SccAuxPath>
-    <SccProvider>SAK</SccProvider>
-    <TypeScriptToolsVersion>2.1</TypeScriptToolsVersion>
-    <UseGlobalApplicationHostFile />
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
-    <DebugSymbols>true</DebugSymbols>
-    <DebugType>full</DebugType>
-    <Optimize>false</Optimize>
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
-    <DebugType>pdbonly</DebugType>
-    <Optimize>true</Optimize>
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <ErrorReport>prompt</ErrorReport>
-    <WarningLevel>4</WarningLevel>
-  </PropertyGroup>
-  <ItemGroup>
-    <Reference Include="Microsoft.CSharp" />
-    <Reference Include="System.Web.DynamicData" />
-    <Reference Include="System.Web.Entity" />
-    <Reference Include="System.Web.ApplicationServices" />
-    <Reference Include="System.ComponentModel.DataAnnotations" />
-    <Reference Include="System" />
-    <Reference Include="System.Data" />
-    <Reference Include="System.Core" />
-    <Reference Include="System.Data.DataSetExtensions" />
-    <Reference Include="System.Web.Extensions" />
-    <Reference Include="System.Xml.Linq" />
-    <Reference Include="System.Drawing" />
-    <Reference Include="System.Web" />
-    <Reference Include="System.Xml" />
-    <Reference Include="System.Configuration" />
-    <Reference Include="System.Web.Services" />
-    <Reference Include="System.EnterpriseServices" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="Playground\babylon.d.txt" />
-    <Content Include="Playground\debug.html" />
-    <Content Include="Playground\index-local.html" />
-    <Content Include="Playground\sounds\gunshot.wav" />
-    <Content Include="Playground\sounds\violons11.wav" />
-    <Content Include="Playground\textures\albedo.png" />
-    <Content Include="Playground\textures\reflectivity.png" />
-    <Content Include="Playground\textures\room.hdr" />
-    <Content Include="Playground\package.json" />
-    <Content Include="src\Shaders\glowBlurPostProcess.fragment.fx" />
-    <Content Include="src\Shaders\glowMapGeneration.fragment.fx" />
-    <Content Include="src\Shaders\glowMapGeneration.vertex.fx" />
-    <Content Include="src\Shaders\glowMapMerge.fragment.fx" />
-    <Content Include="src\Shaders\glowMapMerge.vertex.fx" />
-    <None Include="Web.Debug.config">
-      <DependentUpon>Web.config</DependentUpon>
-    </None>
-    <None Include="Web.Release.config">
-      <DependentUpon>Web.config</DependentUpon>
-    </None>
-    <Content Include="Playground\frame.css" />
-    <Content Include="Playground\frame.js" />
-    <Content Include="Playground\scripts\pbr.js" />
-    <Content Include="Playground\scripts\refraction and reflection.js" />
-    <Content Include="Playground\frame.html" />
-    <Content Include="Playground\textures\mask.png" />
-    <Content Include="Playground\hand.minified-1.2.js" />
-    <Content Include="Playground\textures\equirectangular.jpg" />
-    <Content Include="Playground\textures\sphereMap.png" />
-    <Content Include="Playground\textures\waterbump.png" />
-    <TypeScriptCompile Include="src\Actions\babylon.action.ts" />
-    <TypeScriptCompile Include="src\Actions\babylon.actionManager.ts" />
-    <TypeScriptCompile Include="src\Actions\babylon.condition.ts" />
-    <TypeScriptCompile Include="src\Actions\babylon.directActions.ts" />
-    <TypeScriptCompile Include="src\Actions\babylon.interpolateValueAction.ts" />
-    <TypeScriptCompile Include="src\Animations\babylon.easing.ts" />
-    <TypeScriptCompile Include="src\Audio\babylon.analyser.ts" />
-    <TypeScriptCompile Include="src\Audio\babylon.audioEngine.ts" />
-    <TypeScriptCompile Include="src\Audio\babylon.sound.ts" />
-    <TypeScriptCompile Include="src\Audio\babylon.soundtrack.ts" />
-    <TypeScriptCompile Include="src\Bones\babylon.bone.ts" />
-    <TypeScriptCompile Include="src\Bones\babylon.skeleton.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.arcRotateCameraInputsManager.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.cameraInputsManager.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.followCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.freeCameraInputsManager.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.gamepadCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.stereoscopicCameras.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.targetCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.universalCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.touchCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.deviceOrientationCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.virtualJoysticksCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.arcrotatecamera.input.gamepad.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.arcrotatecamera.input.keyboard.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.arcrotatecamera.input.mousewheel.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.arcrotatecamera.input.pointers.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.freecamera.input.deviceorientation.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.freecamera.input.gamepad.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.freecamera.input.keyboard.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.freecamera.input.mouse.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.freecamera.input.touch.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.freecamera.input.virtualjoystick.ts" />
-    <TypeScriptCompile Include="src\Cameras\Inputs\babylon.arcrotatecamera.input.vrdeviceorientation.ts" />
-    <TypeScriptCompile Include="src\Cameras\VR\babylon.vrCameraMetrics.ts" />
-    <TypeScriptCompile Include="src\Cameras\VR\babylon.vrDeviceOrientationCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\VR\babylon.webVRCamera.ts" />
-    <TypeScriptCompile Include="src\Collisions\babylon.collisionCoordinator.ts" />
-    <TypeScriptCompile Include="src\Collisions\babylon.collisionWorker.ts" />
-    <TypeScriptCompile Include="src\Culling\babylon.ray.ts" />
-    <TypeScriptCompile Include="src\Debug\babylon.axesViewer.ts" />
-    <TypeScriptCompile Include="src\Debug\babylon.boneAxesViewer.ts" />
-    <TypeScriptCompile Include="src\Debug\babylon.skeletonViewer.ts" />
-    <TypeScriptCompile Include="src\Debug\babylon.debugLayer.ts" />
-    <TypeScriptCompile Include="src\Debug\babylon.physicsViewer.ts" />
-    <TypeScriptCompile Include="src\Layer\babylon.highlightlayer.ts" />
-    <TypeScriptCompile Include="src\Loading\babylon.sceneLoader.ts" />
-    <TypeScriptCompile Include="src\Loading\Plugins\babylon.babylonFileLoader.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.colorCurves.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.effect.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.fresnelParameters.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.material.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.materialHelper.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.multiMaterial.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.pbrMaterial.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.shaderMaterial.ts" />
-    <TypeScriptCompile Include="src\Materials\babylon.standardMaterial.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.baseTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.colorGradingTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.cubeTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.dynamicTexture.ts" />
-    <TypeScriptCompile Include="canvas2D\src\Engine\babylon.fontTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.mapTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.refractionTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.mirrorTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.rawTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.renderTargetTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.texture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.videoTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\babylon.hdrCubeTexture.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.buffer.ts" />
-    <TypeScriptCompile Include="src\Physics\babylon.physicsImpostor.ts" />
-    <TypeScriptCompile Include="src\Physics\babylon.physicsJoint.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.standardRenderingPipeline.ts" />
-    <TypeScriptCompile Include="src\States\babylon.alphaCullingState.ts" />
-    <TypeScriptCompile Include="src\States\babylon.depthCullingState.ts" />
-    <TypeScriptCompile Include="src\States\babylon.stencilState.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.decorators.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.dynamicFloatArray.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.earcut.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.khronosTextureContainer.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.observable.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.rectPackingMap.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.stringDictionary.ts" />
-    <TypeScriptCompile Include="src\Tools\HDR\babylon.tools.cubemapToSphericalPolynomial.ts" />
-    <TypeScriptCompile Include="src\Tools\HDR\babylon.tools.hdr.ts" />
-    <TypeScriptCompile Include="src\Tools\HDR\babylon.tools.panoramaToCubemap.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\Procedurals\babylon.customProceduralTexture.ts" />
-    <TypeScriptCompile Include="src\Materials\Textures\Procedurals\babylon.proceduralTexture.ts" />
-    <TypeScriptCompile Include="src\Math\babylon.math.SIMD.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.abstractMesh.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.geometry.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.groundMesh.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.instancedMesh.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.linesMesh.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.meshBuilder.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.meshLODLevel.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.meshSimplification.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.polygonMesh.ts" />
-    <TypeScriptCompile Include="src\Particles\babylon.solidParticle.ts" />
-    <TypeScriptCompile Include="src\Particles\babylon.solidParticleSystem.ts" />
-    <TypeScriptCompile Include="src\Physics\Plugins\babylon.oimoJSPlugin.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.colorCorrectionPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.displayPassPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.filterPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.convolutionPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.fxaaPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.hdrRenderingPipeline.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.lensRenderingPipeline.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.ssaoRenderingPipeline.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.stereoscopicInterlacePostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.tonemapPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.volumetricLightScatteringPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.vrDistortionCorrectionPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.refractionPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\RenderPipeline\babylon.postProcessRenderEffect.ts" />
-    <TypeScriptCompile Include="src\PostProcess\RenderPipeline\babylon.postProcessRenderPass.ts" />
-    <Content Include="Playground\splitbox.css" />
-    <Content Include="Playground\splitbox.js" />
-    <Content Include="Playground\textures\amiga.jpg" />
-    <Content Include="Playground\textures\grass.dds" />
-    <Content Include="Playground\textures\specmap.png" />
-    <Content Include="Playground\textures\specularglossymap.png" />
-    <Content Include="Playground\xtag.min.js" />
-    <Content Include="src\Shaders\anaglyph.fragment.fx" />
-    <Content Include="src\Shaders\chromaticAberration.fragment.fx" />
-    <Content Include="src\Shaders\ShadersInclude\colorCurves.fx" />
-    <Content Include="src\Shaders\ShadersInclude\colorCurvesDefinition.fx" />
-    <Content Include="src\Shaders\ShadersInclude\colorGrading.fx" />
-    <Content Include="src\Shaders\ShadersInclude\colorGradingDefinition.fx" />
-    <Content Include="src\Shaders\standard.fragment.fx" />
-    <Content Include="src\Shaders\legacypbr.fragment.fx" />
-    <Content Include="src\Shaders\legacypbr.vertex.fx" />
-    <Content Include="src\Shaders\line.fragment.fx" />
-    <Content Include="src\Shaders\line.vertex.fx" />
-    <Content Include="src\Shaders\colorCorrection.fragment.fx" />
-    <Content Include="src\Shaders\depthBoxBlur.fragment.fx" />
-    <Content Include="src\Shaders\depthOfField.fragment.fx" />
-    <Content Include="src\Shaders\hdr.fragment.fx" />
-    <Content Include="src\Shaders\lensHighlights.fragment.fx" />
-    <Content Include="src\Shaders\pbr.fragment.fx" />
-    <Content Include="src\Shaders\pbr.vertex.fx" />
-    <Content Include="src\Shaders\procedural.vertex.fx" />
-    <Content Include="src\Shaders\outline.fragment.fx" />
-    <Content Include="src\Shaders\color.fragment.fx" />
-    <Content Include="src\Shaders\outline.vertex.fx" />
-    <Content Include="src\Shaders\color.vertex.fx" />
-    <Content Include="src\Shaders\displayPass.fragment.fx" />
-    <Content Include="src\Shaders\filter.fragment.fx" />
-    <Content Include="src\Shaders\convolution.fragment.fx" />
-    <Content Include="src\Shaders\blackAndWhite.fragment.fx" />
-    <Content Include="src\Shaders\fxaa.fragment.fx" />
-    <Content Include="src\Shaders\lensFlare.fragment.fx" />
-    <Content Include="src\Shaders\lensFlare.vertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\bumpFragment.fx" />
-    <Content Include="src\Shaders\ShadersInclude\clipPlaneFragment.fx" />
-    <Content Include="src\Shaders\ShadersInclude\clipPlaneVertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\clipPlaneFragmentDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\clipPlaneVertexDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\harmonicsFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\helperFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\lightFragment.fx" />
-    <Content Include="src\Shaders\ShadersInclude\pbrFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\pbrLightFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\pbrLightFunctionsCall.fx" />
-    <Content Include="src\Shaders\ShadersInclude\pbrShadowFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\reflectionFunction.fx" />
-    <Content Include="src\Shaders\ShadersInclude\fresnelFunction.fx" />
-    <Content Include="src\Shaders\ShadersInclude\pointCloudVertexDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\pointCloudVertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\logDepthDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\logDepthFragment.fx" />
-    <Content Include="src\Shaders\ShadersInclude\logDepthVertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\lightsFragmentFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\lightFragmentDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\bumpFragmentFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\shadowsVertexDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\shadowsVertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\shadowsFragmentFunctions.fx" />
-    <Content Include="src\Shaders\ShadersInclude\fogVertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\fogVertexDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\fogFragment.fx" />
-    <Content Include="src\Shaders\ShadersInclude\fogFragmentDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\instancesVertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\instancesDeclaration.fx" />
-    <Content Include="src\Shaders\ShadersInclude\bonesVertex.fx" />
-    <Content Include="src\Shaders\ShadersInclude\bonesDeclaration.fx" />
-    <Content Include="src\Shaders\stereoscopicInterlace.fragment.fx" />
-    <Content Include="src\Shaders\tonemap.fragment.fx" />
-    <Content Include="src\Shaders\vrDistortionCorrection.fragment.fx" />
-    <Content Include="src\Shaders\pass.fragment.fx" />
-    <Content Include="src\Shaders\refraction.fragment.fx" />
-    <TypeScriptCompile Include="src\PostProcess\RenderPipeline\babylon.postProcessRenderPipeline.ts" />
-    <TypeScriptCompile Include="src\PostProcess\RenderPipeline\babylon.postProcessRenderPipelineManager.ts" />
-    <TypeScriptCompile Include="src\Probes\babylon.reflectionProbe.ts" />
-    <TypeScriptCompile Include="src\Rendering\babylon.boundingBoxRenderer.ts" />
-    <TypeScriptCompile Include="src\Rendering\babylon.depthRenderer.ts" />
-    <TypeScriptCompile Include="src\Rendering\babylon.edgesRenderer.ts" />
-    <TypeScriptCompile Include="src\Rendering\babylon.outlineRenderer.ts" />
-    <Content Include="src\Shaders\depth.fragment.fx" />
-    <Content Include="src\Shaders\shadowMap.vertex.fx" />
-    <Content Include="src\Shaders\ssao.fragment.fx" />
-    <Content Include="src\Shaders\ssaoCombine.fragment.fx" />
-    <Content Include="src\Shaders\volumetricLightScattering.fragment.fx" />
-    <Content Include="src\Shaders\volumetricLightScatteringPass.fragment.fx" />
-    <TypeScriptCompile Include="src\Tools\babylon.assetsManager.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.filesInput.ts" />
-    <Content Include="Playground\scripts\hdr rendering pipeline.js" />
-    <Content Include="Playground\bootstrap\css\bootstrap-responsive.css" />
-    <Content Include="Playground\bootstrap\css\bootstrap-responsive.min.css" />
-    <Content Include="Playground\bootstrap\css\bootstrap.css" />
-    <Content Include="Playground\bootstrap\css\bootstrap.min.css" />
-    <Content Include="Playground\bootstrap\img\glyphicons-halflings-white.png" />
-    <Content Include="Playground\bootstrap\img\glyphicons-halflings.png" />
-    <Content Include="Playground\bootstrap\js\bootstrap.js" />
-    <Content Include="Playground\bootstrap\js\bootstrap.min.js" />
-    <Content Include="Playground\fileSaver.js" />
-    <Content Include="Playground\index.css" />
-    <Content Include="Playground\index.html" />
-    <Content Include="Playground\scenes\0.jpg" />
-    <Content Include="Playground\scenes\Dude\0.jpg" />
-    <Content Include="Playground\scenes\Dude\1.jpg" />
-    <Content Include="Playground\scenes\Dude\2.jpg" />
-    <Content Include="Playground\scenes\Dude\3.jpg" />
-    <Content Include="Playground\scripts\Easing functions.js" />
-    <Content Include="Playground\scripts\proceduralTexture.js" />
-    <Content Include="Playground\scripts\ssao rendering pipeline.js" />
-    <Content Include="Playground\scripts\volumetric light scattering.js" />
-    <Content Include="Playground\index.js" />
-    <Content Include="Playground\jszip.min.js" />
-    <Content Include="Playground\scripts\drag and drop.js" />
-    <Content Include="Playground\scripts\actions.js" />
-    <Content Include="Playground\scripts\Environment.js" />
-    <Content Include="Playground\scripts\cameras.js" />
-    <Content Include="Playground\scripts\collisions.js" />
-    <Content Include="Playground\scripts\height Map.js" />
-    <Content Include="Playground\scripts\import meshes.js" />
-    <Content Include="Playground\scripts\Intersections.js" />
-    <Content Include="Playground\scripts\fresnel.js" />
-    <Content Include="Playground\scripts\lights.js" />
-    <Content Include="Playground\scripts\particles.js" />
-    <Content Include="Playground\scripts\rotation and scaling.js" />
-    <Content Include="Playground\scripts\basic elements.js" />
-    <Content Include="Playground\scripts\basic scene.js" />
-    <Content Include="Playground\scripts\materials.js" />
-    <Content Include="Playground\scripts\animations.js" />
-    <Content Include="Playground\scripts\scripts.txt" />
-    <Content Include="Playground\scripts\shadows.js" />
-    <Content Include="Playground\scripts\sprites.js" />
-    <Content Include="Playground\textures\babylonjs.mp4" />
-    <Content Include="Playground\textures\bloc.jpg" />
-    <Content Include="Playground\textures\cloud.png" />
-    <Content Include="Playground\textures\crate.png" />
-    <Content Include="Playground\textures\customProceduralTextures\land\custom.fragment.fx" />
-    <Content Include="Playground\textures\customProceduralTextures\land\textures\dirt.jpg" />
-    <Content Include="Playground\textures\customProceduralTextures\land\textures\grass.png" />
-    <Content Include="Playground\textures\earth.jpg" />
-    <Content Include="Playground\textures\flare.png" />
-    <Content Include="Playground\textures\grass.jpg" />
-    <Content Include="Playground\textures\ground.jpg" />
-    <Content Include="Playground\textures\heightMap.png" />
-    <Content Include="Playground\textures\impact.png" />
-    <Content Include="Playground\textures\normalMap.jpg" />
-    <Content Include="Playground\textures\orient.jpg" />
-    <Content Include="Playground\textures\palm.png" />
-    <Content Include="Playground\textures\player.png" />
-    <Content Include="Playground\textures\skybox_nx.jpg" />
-    <Content Include="Playground\textures\skybox_ny.jpg" />
-    <Content Include="Playground\textures\skybox_nz.jpg" />
-    <Content Include="Playground\textures\skybox_px.jpg" />
-    <Content Include="Playground\textures\skybox_py.jpg" />
-    <Content Include="Playground\textures\skybox_pz.jpg" />
-    <Content Include="Playground\textures\sun.png" />
-    <Content Include="Playground\textures\tree.png" />
-    <Content Include="Playground\textures\misc.jpg" />
-    <Content Include="Playground\textures\TropicalSunnyDay_ny.jpg" />
-    <Content Include="Playground\textures\TropicalSunnyDay_nx.jpg" />
-    <Content Include="Playground\textures\TropicalSunnyDay_nz.jpg" />
-    <Content Include="Playground\textures\TropicalSunnyDay_px.jpg" />
-    <Content Include="Playground\textures\TropicalSunnyDay_py.jpg" />
-    <Content Include="Playground\textures\TropicalSunnyDay_pz.jpg" />
-    <Content Include="Playground\textures\worldHeightMap.jpg" />
-    <Content Include="Playground\textures\xStrip.jpg" />
-    <Content Include="Playground\textures\yStrip.jpg" />
-    <Content Include="Playground\textures\zStrip.jpg" />
-    <Content Include="Playground\zipContent\index.html" />
-    <Content Include="src\Shaders\blur.fragment.fx" />
-    <Content Include="src\Shaders\postprocess.vertex.fx" />
-    <Content Include="src\Shaders\shadowMap.fragment.fx" />
-    <Content Include="src\Shaders\depth.vertex.fx" />
-    <Content Include="src\Shaders\layer.fragment.fx" />
-    <Content Include="src\Shaders\layer.vertex.fx" />
-    <Content Include="src\Shaders\particles.fragment.fx" />
-    <Content Include="src\Shaders\particles.vertex.fx" />
-    <Content Include="src\Shaders\sprites.fragment.fx" />
-    <Content Include="src\Shaders\sprites.vertex.fx" />
-    <Content Include="Playground\scripts\picking.js" />
-    <Content Include="Web.config">
-      <SubType>Designer</SubType>
-    </Content>
-    <TypeScriptCompile Include="src\Tools\babylon.gamepads.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.database.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.loadingScreen.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.sceneOptimizer.ts" />
-    <TypeScriptCompile Include="src\Tools\HDR\babylon.tools.pmremGenerator.ts" />
-  </ItemGroup>
-  <ItemGroup>
-    <Content Include="src\Shaders\default.fragment.fx" />
-    <Content Include="src\Shaders\default.vertex.fx" />
-    <Content Include="Playground\textures\babylonjs.webm" />
-    <Content Include="Playground\scenes\skull.babylon" />
-    <Content Include="Playground\textures\customProceduralTextures\land\config.json" />
-    <Content Include="Playground\scenes\SSAOcat.babylon" />
-    <Content Include="Playground\scenes\Rabbit.babylon" />
-    <Content Include="Playground\scenes\Dude\dude.babylon" />
-  </ItemGroup>
-  <ItemGroup>
-    <Folder Include="Properties\" />
-  </ItemGroup>
-  <ItemGroup>
-    <TypeScriptCompile Include="src\Animations\babylon.animatable.ts" />
-    <TypeScriptCompile Include="src\Animations\babylon.animation.ts" />
-    <TypeScriptCompile Include="src\babylon.engine.ts" />
-    <TypeScriptCompile Include="src\babylon.mixins.ts" />
-    <TypeScriptCompile Include="src\babylon.scene.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.arcRotateCamera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.camera.ts" />
-    <TypeScriptCompile Include="src\Cameras\babylon.freeCamera.ts" />
-    <TypeScriptCompile Include="src\Collisions\babylon.collider.ts" />
-    <TypeScriptCompile Include="src\Collisions\babylon.pickingInfo.ts" />
-    <TypeScriptCompile Include="src\Culling\babylon.boundingBox.ts" />
-    <TypeScriptCompile Include="src\Culling\babylon.boundingInfo.ts" />
-    <TypeScriptCompile Include="src\Culling\babylon.boundingSphere.ts" />
-    <TypeScriptCompile Include="src\Culling\Octrees\babylon.octree.ts" />
-    <TypeScriptCompile Include="src\Culling\Octrees\babylon.octreeBlock.ts" />
-    <TypeScriptCompile Include="src\Layer\babylon.layer.ts" />
-    <TypeScriptCompile Include="src\LensFlare\babylon.lensFlare.ts" />
-    <TypeScriptCompile Include="src\LensFlare\babylon.lensFlareSystem.ts" />
-    <TypeScriptCompile Include="src\Lights\babylon.directionalLight.ts" />
-    <TypeScriptCompile Include="src\Lights\babylon.hemisphericLight.ts" />
-    <TypeScriptCompile Include="src\Lights\babylon.light.ts" />
-    <TypeScriptCompile Include="src\Lights\babylon.pointLight.ts" />
-    <TypeScriptCompile Include="src\Lights\babylon.spotLight.ts" />
-    <TypeScriptCompile Include="src\Lights\Shadows\babylon.shadowGenerator.ts" />
-    <TypeScriptCompile Include="src\Math\babylon.math.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.csg.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.mesh.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.mesh.vertexData.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.subMesh.ts" />
-    <TypeScriptCompile Include="src\Mesh\babylon.vertexBuffer.ts" />
-    <TypeScriptCompile Include="src\babylon.node.ts" />
-    <TypeScriptCompile Include="src\Particles\babylon.particle.ts" />
-    <TypeScriptCompile Include="src\Particles\babylon.particleSystem.ts" />
-    <TypeScriptCompile Include="src\Physics\babylon.physicsEngine.ts" />
-    <TypeScriptCompile Include="src\Physics\Plugins\babylon.cannonJSPlugin.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.anaglyphPostProcess.ts">
-      <SubType>Code</SubType>
-    </TypeScriptCompile>
-    <TypeScriptCompile Include="src\PostProcess\babylon.blackAndWhitePostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.blurPostProcess.ts" />
-    <TypeScriptCompile Include="src\PostProcess\babylon.passPostProcess.ts">
-      <SubType>Code</SubType>
-    </TypeScriptCompile>
-    <TypeScriptCompile Include="src\PostProcess\babylon.postProcess.ts">
-      <SubType>Code</SubType>
-    </TypeScriptCompile>
-    <TypeScriptCompile Include="src\PostProcess\babylon.postProcessManager.ts" />
-    <TypeScriptCompile Include="src\Rendering\babylon.renderingGroup.ts" />
-    <TypeScriptCompile Include="src\Rendering\babylon.renderingManager.ts" />
-    <TypeScriptCompile Include="src\Sprites\babylon.sprite.ts" />
-    <TypeScriptCompile Include="src\Sprites\babylon.spriteManager.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.andOrNotEvaluator.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.sceneSerializer.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.smartArray.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.tags.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.tools.dds.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.tools.tga.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.tools.ts" />
-    <TypeScriptCompile Include="src\Tools\babylon.virtualJoystick.ts" />
-  </ItemGroup>
-  <PropertyGroup>
-    <VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
-    <VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x64</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
-    <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-    <DebugType>full</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
-    <OutputPath>bin\</OutputPath>
-    <DefineConstants>TRACE</DefineConstants>
-    <Optimize>true</Optimize>
-    <DebugType>pdbonly</DebugType>
-    <PlatformTarget>x86</PlatformTarget>
-    <ErrorReport>prompt</ErrorReport>
-    <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
-  </PropertyGroup>
-  <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
-  <PropertyGroup Condition="'$(Configuration)' == 'Debug'">
-    <TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
-    <TypeScriptModuleKind>none</TypeScriptModuleKind>
-    <TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
-    <TypeScriptTarget>ES5</TypeScriptTarget>
-    <TypeScriptCompileOnSaveEnabled>False</TypeScriptCompileOnSaveEnabled>
-    <TypeScriptRemoveComments>False</TypeScriptRemoveComments>
-    <TypeScriptOutFile />
-    <TypeScriptOutDir />
-    <TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
-    <TypeScriptSourceMap>True</TypeScriptSourceMap>
-    <TypeScriptMapRoot />
-    <TypeScriptSourceRoot />
-    <TypeScriptExperimentalDecorators>true</TypeScriptExperimentalDecorators>
-  </PropertyGroup>
-  <PropertyGroup Condition="'$(Configuration)' == 'Release'">
-    <TypeScriptTarget>ES5</TypeScriptTarget>
-  </PropertyGroup>
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
-  <Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
-  <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
-  <ProjectExtensions>
-    <VisualStudio>
-      <FlavorProperties GUID="{349c5851-65df-11da-9384-00065b846f21}">
-        <WebProjectProperties>
-          <UseIIS>True</UseIIS>
-          <AutoAssignPort>True</AutoAssignPort>
-          <DevelopmentServerPort>0</DevelopmentServerPort>
-          <DevelopmentServerVPath>/</DevelopmentServerVPath>
-          <IISUrl>http://localhost:10683/</IISUrl>
-          <NTLMAuthentication>False</NTLMAuthentication>
-          <UseCustomServer>False</UseCustomServer>
-          <CustomServerUrl>
-          </CustomServerUrl>
-          <SaveServerSettingsInUserFile>False</SaveServerSettingsInUserFile>
-        </WebProjectProperties>
-      </FlavorProperties>
-      <UserProperties node__modules_2grunt-contrib-uglify_2package_1json__JSONSchema="http://json.schemastore.org/package" />
-    </VisualStudio>
-  </ProjectExtensions>
-  <PropertyGroup>
-    <PreBuildEvent>
-    </PreBuildEvent>
-  </PropertyGroup>
-  <PropertyGroup>
-    <PostBuildEvent>
-    </PostBuildEvent>
-  </PropertyGroup>
-  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
-       Other similar extension points exist, see Microsoft.Common.targets.
-  <Target Name="BeforeBuild">
-  </Target>
-  <Target Name="AfterBuild">
-  </Target>
-  -->
-</Project>

+ 0 - 34
Babylon.sln

@@ -1,34 +0,0 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.25914.0
-MinimumVisualStudioVersion = 10.0.40219.1
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Babylon", "Babylon.csproj", "{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}"
-EndProject
-Global
-	GlobalSection(SolutionConfigurationPlatforms) = preSolution
-		Debug|Any CPU = Debug|Any CPU
-		Debug|x64 = Debug|x64
-		Debug|x86 = Debug|x86
-		Release|Any CPU = Release|Any CPU
-		Release|x64 = Release|x64
-		Release|x86 = Release|x86
-	EndGlobalSection
-	GlobalSection(ProjectConfigurationPlatforms) = postSolution
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Debug|x64.ActiveCfg = Debug|x64
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Debug|x64.Build.0 = Debug|x64
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Debug|x86.ActiveCfg = Debug|x86
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Debug|x86.Build.0 = Debug|x86
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Release|Any CPU.Build.0 = Release|Any CPU
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Release|x64.ActiveCfg = Release|x64
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Release|x64.Build.0 = Release|x64
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Release|x86.ActiveCfg = Release|x86
-		{BA85B096-DDB8-4324-BB47-5F4EC2C5DB6A}.Release|x86.Build.0 = Release|x86
-	EndGlobalSection
-	GlobalSection(SolutionProperties) = preSolution
-		HideSolutionNode = FALSE
-	EndGlobalSection
-EndGlobal

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonAbstractMesh.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonActions.cs


+ 2 - 2
Exporters/3ds Max/BabylonExport.Entities/BabylonAnimation.cs

@@ -47,8 +47,8 @@ namespace BabylonExport.Entities
 
         public BabylonAnimation()
         {
-            this.enableBlending = false;
-            this.blendingSpeed = 0.01f;
+            enableBlending = false;
+            blendingSpeed = 0.01f;
         }
     }
 }

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonAnimationKey.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonBone.cs


+ 6 - 2
Exporters/3ds Max/BabylonExport.Entities/BabylonExport.Entities.csproj

@@ -59,13 +59,16 @@
     <Compile Include="BabylonAnimationKey.cs" />
     <Compile Include="BabylonBone.cs" />
     <Compile Include="BabylonCamera.cs" />
+    <Compile Include="BabylonDirectionalLight.cs" />
     <Compile Include="BabylonFresnelParameters.cs" />
+    <Compile Include="BabylonHDRCubeTexture.cs" />
     <Compile Include="BabylonIAnimatable.cs" />
     <Compile Include="BabylonLensFlare.cs" />
     <Compile Include="BabylonLensFlareSystem.cs" />
     <Compile Include="BabylonLight.cs" />
     <Compile Include="BabylonMaterial.cs" />
     <Compile Include="BabylonPBRMaterial.cs" />
+    <Compile Include="BabylonShaderMaterial.cs" />
     <Compile Include="BabylonStandardMaterial.cs" />
     <Compile Include="BabylonAbstractMesh.cs" />
     <Compile Include="BabylonMesh.cs" />
@@ -78,6 +81,7 @@
     <Compile Include="BabylonSound.cs" />
     <Compile Include="BabylonSubMesh.cs" />
     <Compile Include="BabylonTexture.cs" />
+    <Compile Include="BabylonUniversalCamera.cs" />
     <Compile Include="BabylonVector3.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
   </ItemGroup>
@@ -85,12 +89,12 @@
     <None Include="packages.config" />
   </ItemGroup>
   <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
-  <Import Project="..\packages\SharpDX.2.6.3\build\SharpDX.targets" Condition="Exists('..\packages\SharpDX.2.6.3\build\SharpDX.targets')" />
+  <Import Project=".\packages\SharpDX.2.6.3\build\SharpDX.targets" Condition="Exists('.\packages\SharpDX.2.6.3\build\SharpDX.targets')" />
   <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
     <PropertyGroup>
       <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
     </PropertyGroup>
-    <Error Condition="!Exists('..\packages\SharpDX.2.6.3\build\SharpDX.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\SharpDX.2.6.3\build\SharpDX.targets'))" />
+    <Error Condition="!Exists('.\packages\SharpDX.2.6.3\build\SharpDX.targets')" Text="$([System.String]::Format('$(ErrorText)', '.\packages\SharpDX.2.6.3\build\SharpDX.targets'))" />
   </Target>
   <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
        Other similar extension points exist, see Microsoft.Common.targets.

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonFresnelParameters.cs


+ 12 - 7
Exporters/3ds Max/BabylonExport.Entities/BabylonHDRCubeTexture.cs

@@ -25,13 +25,18 @@ namespace BabylonExport.Entities
 
         public BabylonHDRCubeTexture()
         {
-            this.customType = "BABYLON.HDRCubeTexture";
-            this.size = 0;
-            this.isCube = true;
-            this.useInGammaSpace = false;
-            this.generateHarmonics = true;
-            this.usePMREMGenerator = false;
-            this.isBABYLONPreprocessed = false;
+            SetCustomType("BABYLON.HDRCubeTexture");
+            size = 0;
+            isCube = true;
+            useInGammaSpace = false;
+            generateHarmonics = true;
+            usePMREMGenerator = false;
+            isBABYLONPreprocessed = false;
+        }
+
+        public void SetCustomType(string type)
+        {
+            customType = type;
         }
     }
 }

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonIAnimatable.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonLensFlare.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonLensFlareSystem.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonMultiMaterial.cs


+ 6 - 3
Exporters/3ds Max/BabylonExport.Entities/BabylonPBRMaterial.cs

@@ -130,10 +130,12 @@ namespace BabylonExport.Entities
         [DataMember]
         public bool twoSidedLighting { get; set; }
 
+        [DataMember]
+        public int maxSimultaneousLights { get; set; }
+
         public BabylonPBRMaterial() : base()
         {
-            customType = "BABYLON.PBRMaterial";
-
+            SetCustomType("BABYLON.PBRMaterial");
             directIntensity = 1.0f;
             emissiveIntensity = 1.0f;
             environmentIntensity = 1.0f;
@@ -142,6 +144,7 @@ namespace BabylonExport.Entities
             cameraContrast = 1.0f;
             indexOfRefraction = 0.66f;
             twoSidedLighting = false;
+            maxSimultaneousLights = 4;
             useRadianceOverAlpha = true;
             useSpecularOverAlpha = true;
             usePhysicalLightFalloff = true;
@@ -165,7 +168,7 @@ namespace BabylonExport.Entities
 
         public void SetCustomType(string type)
         {
-            this.customType = type;
+            customType = type;
         }
     }
 }

+ 4 - 4
Exporters/3ds Max/BabylonExport.Entities/BabylonParticleSystem.cs

@@ -97,10 +97,10 @@ namespace BabylonExport.Entities
 
         public BabylonParticleSystem()
         {
-            this.preventAutoStart = true;
-            this.autoAnimate = false;
-            this.animations = null;
-            this.customShader = null;
+            preventAutoStart = true;
+            autoAnimate = false;
+            animations = null;
+            customShader = null;
         }
     }
 }

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonProducer.cs


+ 21 - 16
Exporters/3ds Max/BabylonExport.Entities/BabylonShaderMaterial.cs

@@ -56,22 +56,27 @@ namespace BabylonExport.Entities
 
         public BabylonShaderMaterial()
         {
-            this.customType = "BABYLON.ShaderMaterial";
-            this.shaderPath = null;
-            this.options = new BabylonShaderOptions();
-            this.textures = new Dictionary<string, object>();
-            this.textureArrays = new Dictionary<string, object[]>();
-            this.floats = new Dictionary<string, object>();
-            this.floatArrays = new Dictionary<string, object[]>();
-            this.colors3 = new Dictionary<string, object>();
-            this.colors4 = new Dictionary<string, object>();
-            this.vectors2 = new Dictionary<string, object>();
-            this.vectors3 = new Dictionary<string, object>();
-            this.vectors4 = new Dictionary<string, object>();
-            this.matrices = new Dictionary<string, object>();
-            this.matrices2x2 = new Dictionary<string, object>();
-            this.matrices3x3 = new Dictionary<string, object>();
-            this.vectors3Arrays = new Dictionary<string, object[]>();
+            SetCustomType("BABYLON.ShaderMaterial");
+            shaderPath = null;
+            options = new BabylonShaderOptions();
+            textures = new Dictionary<string, object>();
+            textureArrays = new Dictionary<string, object[]>();
+            floats = new Dictionary<string, object>();
+            floatArrays = new Dictionary<string, object[]>();
+            colors3 = new Dictionary<string, object>();
+            colors4 = new Dictionary<string, object>();
+            vectors2 = new Dictionary<string, object>();
+            vectors3 = new Dictionary<string, object>();
+            vectors4 = new Dictionary<string, object>();
+            matrices = new Dictionary<string, object>();
+            matrices2x2 = new Dictionary<string, object>();
+            matrices3x3 = new Dictionary<string, object>();
+            vectors3Arrays = new Dictionary<string, object[]>();
+        }
+
+        public void SetCustomType(string type)
+        {
+            customType = type;
         }
     }
 

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonSkeleton.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonSound.cs


+ 13 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonStandardMaterial.cs

@@ -5,6 +5,9 @@ namespace BabylonExport.Entities
     public class BabylonStandardMaterial: BabylonMaterial
     {
         [DataMember]
+        public string customType { get; private set; }
+
+        [DataMember]
         public float[] ambient { get; set; }
 
         [DataMember]
@@ -71,16 +74,26 @@ namespace BabylonExport.Entities
         [DataMember]
         public bool twoSidedLighting { get; set; }
 
+        [DataMember]
+        public int maxSimultaneousLights { get; set; }
+
         public BabylonStandardMaterial() : base()
         {
+            SetCustomType("BABYLON.StandardMaterial");
             ambient = new[] {1.0f, 1.0f, 1.0f};
             diffuse = new[] { 1.0f, 1.0f, 1.0f };
             specular = new[] { 1.0f, 1.0f, 1.0f };
             emissive = new[] { 0f, 0f, 0f };
             specularPower = 64;
+            maxSimultaneousLights = 4;
             useSpecularOverAlpha = true;
             useEmissiveAsIllumination = false;
             linkEmissiveWithDiffuse = false;
         }
+
+        public void SetCustomType(string type)
+        {
+            customType = type;
+        }
     }
 }

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonSubMesh.cs


+ 1 - 1
Exporters/3ds Max/BabylonExport.Entities/BabylonUniversalCamera.cs

@@ -6,7 +6,7 @@ namespace BabylonExport.Entities
     {
         public BabylonUniversalCamera()
         {
-            this.type = "UniversalCamera";
+            type = "UniversalCamera";
         }
     }
 }

+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/BabylonVector3.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/Properties/AssemblyInfo.cs


+ 0 - 0
Exporters/3ds Max/BabylonExport.Entities/packages.config


+ 0 - 33
Web.config

@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!--
-  For more information on how to configure your ASP.NET application, please visit
-  http://go.microsoft.com/fwlink/?LinkId=169433
-  -->
-
-<configuration>
-  <system.web>
-    <compilation debug="true" targetFramework="4.5" />
-    <httpRuntime targetFramework="4.5" />
-  </system.web>
-  <system.webServer>
-    <staticContent>
-      <!--<mimeMap fileExtension=".json" mimeType="application/text" />-->
-      <mimeMap fileExtension=".hdr" mimeType="application/hdr" />
-      <mimeMap fileExtension=".obj" mimeType="application/obj" />
-      <mimeMap fileExtension=".dds" mimeType="application/dds" />
-      <mimeMap fileExtension=".tga" mimeType="application/tga" />
-      <mimeMap fileExtension=".fx" mimeType="application/fx" />
-      <mimeMap fileExtension=".fnt" mimeType="application/bmFont" />
-      <mimeMap fileExtension=".babylon" mimeType="application/babylon" />
-      <mimeMap fileExtension=".babylonmeshdata" mimeType="application/babylonmeshdata" />
-      <mimeMap fileExtension=".babylonbinarymeshdata" mimeType="application/babylonbinarymeshdata" />
-      <mimeMap fileExtension=".webp" mimeType="image/webp" />
-      <mimeMap fileExtension=".wdp" mimeType="image/vnd.ms-photo" />
-      <!--<mimeMap fileExtension=".manifest" mimeType="text/cache-manifest" />-->
-      <!--<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />-->
-      <!--<mimeMap fileExtension=".mp3" mimeType="audio/mpeg" />-->
-      <!--<mimeMap fileExtension=".mp4" mimeType="video/mp4" />-->
-    </staticContent>
-  </system.webServer>
-</configuration>

File diff ditekan karena terlalu besar
+ 5055 - 5048
dist/preview release/babylon.d.ts


File diff ditekan karena terlalu besar
+ 24 - 24
dist/preview release/babylon.js


+ 53 - 16
dist/preview release/babylon.max.js

@@ -7448,7 +7448,7 @@ var BABYLON;
             this.renderEvenInBackground = true;
             this.preventCacheWipeBetweenFrames = false;
             // To enable/disable IDB support and avoid XHR on .manifest
-            this.enableOfflineSupport = BABYLON.Database;
+            this.enableOfflineSupport = false;
             this.scenes = new Array();
             // Observables
             /**
@@ -7740,15 +7740,16 @@ var BABYLON;
             for (var i = 0; i < this._caps.maxVertexAttribs; i++) {
                 this._currentBufferPointers[i] = new BufferPointer();
             }
-            //Load WebVR Devices
+            // Load WebVR Devices
             if (options.autoEnableWebVR) {
                 this.initWebVR();
             }
-            //Detect if we are running on a faulty buggy OS.
+            // Detect if we are running on a faulty buggy OS.
             this._badOS = /iPad/i.test(navigator.userAgent) || /iPhone/i.test(navigator.userAgent);
-            //Detect if we are running on a faulty buggy desktop OS.
+            // Detect if we are running on a faulty buggy desktop OS.
             this._badDesktopOS = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
             BABYLON.Tools.Log("Babylon.js engine (v" + Engine.Version + ") launched");
+            this.enableOfflineSupport = (BABYLON.Database !== undefined);
         }
         Object.defineProperty(Engine, "LastCreatedEngine", {
             get: function () {
@@ -15436,11 +15437,14 @@ var BABYLON;
                 this._renderTransparent(this._transparentSubMeshes);
                 engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE);
             }
-            engine.setStencilBuffer(stencilState);
+            // Set back stencil to false in case it changes before the edge renderer.
+            engine.setStencilBuffer(false);
             // Edges
             for (var edgesRendererIndex = 0; edgesRendererIndex < this._edgesRenderers.length; edgesRendererIndex++) {
                 this._edgesRenderers.data[edgesRendererIndex].render();
             }
+            // Restore Stencil state.
+            engine.setStencilBuffer(stencilState);
         };
         /**
          * Renders the opaque submeshes in the order from the opaqueSortCompareFn.
@@ -22928,6 +22932,9 @@ var BABYLON;
         });
         BaseSubMesh.prototype.setEffect = function (effect, defines) {
             if (this._materialEffect === effect) {
+                if (!effect) {
+                    this._materialDefines = undefined;
+                }
                 return;
             }
             this._materialDefines = defines;
@@ -23004,9 +23011,7 @@ var BABYLON;
                 var effectiveMaterial = multiMaterial.getSubMaterial(this.materialIndex);
                 if (this._currentMaterial !== effectiveMaterial) {
                     this._currentMaterial = effectiveMaterial;
-                    if (this._materialDefines) {
-                        this._materialDefines.markAllAsDirty();
-                    }
+                    this._materialDefines = undefined;
                 }
                 return effectiveMaterial;
             }
@@ -24859,13 +24864,18 @@ var BABYLON;
         Material.prototype.forceCompilation = function (mesh, onCompiled, options) {
             var _this = this;
             var subMesh = new BABYLON.BaseSubMesh();
-            var engine = this.getScene().getEngine();
+            var scene = this.getScene();
+            var engine = scene.getEngine();
             var checkReady = function () {
                 if (subMesh._materialDefines) {
                     subMesh._materialDefines._renderId = -1;
                 }
                 var alphaTestState = engine.getAlphaTesting();
+                var clipPlaneState = scene.clipPlane;
                 engine.setAlphaTesting(options ? options.alphaTest : _this.needAlphaTesting());
+                if (options.clipPlane) {
+                    scene.clipPlane = new BABYLON.Plane(0, 0, 0, 1);
+                }
                 if (_this.isReadyForSubMesh(mesh, subMesh)) {
                     if (onCompiled) {
                         onCompiled(_this);
@@ -24875,6 +24885,9 @@ var BABYLON;
                     setTimeout(checkReady, 16);
                 }
                 engine.setAlphaTesting(alphaTestState);
+                if (options.clipPlane) {
+                    scene.clipPlane = clipPlaneState;
+                }
             };
             checkReady();
         };
@@ -24908,7 +24921,7 @@ var BABYLON;
                         continue;
                     }
                     if (!subMesh._materialDefines) {
-                        return;
+                        continue;
                     }
                     func(subMesh._materialDefines);
                 }
@@ -48792,10 +48805,16 @@ var BABYLON;
         MultiMaterial.prototype.getClassName = function () {
             return "MultiMaterial";
         };
-        MultiMaterial.prototype.isReady = function (mesh) {
+        MultiMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
             for (var index = 0; index < this.subMaterials.length; index++) {
                 var subMaterial = this.subMaterials[index];
                 if (subMaterial) {
+                    if (this.subMaterials[index].isReadyForSubMesh) {
+                        if (!this.subMaterials[index].isReadyForSubMesh(mesh, subMesh, useInstances)) {
+                            return false;
+                        }
+                        continue;
+                    }
                     if (!this.subMaterials[index].isReady(mesh)) {
                         return false;
                     }
@@ -52952,8 +52971,10 @@ var BABYLON;
          * @param {BABYLON.Scene} scene - The scene linked to this pipeline
          * @param {any} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5)
          * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to
+         * @param {boolean} automaticBuild - if false, you will have to manually call prepare() to update the pipeline
          */
-        function DefaultRenderingPipeline(name, hdr, scene, cameras) {
+        function DefaultRenderingPipeline(name, hdr, scene, cameras, automaticBuild) {
+            if (automaticBuild === void 0) { automaticBuild = true; }
             var _this = _super.call(this, scene.getEngine(), name) || this;
             _this.PassPostProcessId = "PassPostProcessEffect";
             _this.HighLightsPostProcessId = "HighLightsPostProcessEffect";
@@ -52970,6 +52991,7 @@ var BABYLON;
             _this._fxaaEnabled = false;
             _this._imageProcessingEnabled = true;
             _this._bloomScale = 0.6;
+            _this._buildAllowed = true;
             /**
              * Specifies the size of the bloom blur kernel, relative to the final output size
              */
@@ -52979,6 +53001,7 @@ var BABYLON;
              */
             _this._bloomWeight = 0.15;
             _this._cameras = cameras || [];
+            _this._buildAllowed = automaticBuild;
             // Initialize
             _this._scene = scene;
             var caps = _this._scene.getEngine().getCaps();
@@ -53072,8 +53095,20 @@ var BABYLON;
             enumerable: true,
             configurable: true
         });
+        /**
+         * Force the compilation of the entire pipeline.
+         */
+        DefaultRenderingPipeline.prototype.prepare = function () {
+            var previousState = this._buildAllowed;
+            this._buildAllowed = true;
+            this._buildPipeline();
+            this._buildAllowed = previousState;
+        };
         DefaultRenderingPipeline.prototype._buildPipeline = function () {
             var _this = this;
+            if (!this._buildAllowed) {
+                return;
+            }
             var engine = this._scene.getEngine();
             this._disposePostProcesses();
             this._reset();
@@ -54034,9 +54069,8 @@ var BABYLON;
                 EXPOSURE: false,
             };
             // Setup the default processing configuration to the scene.
-            _this._attachImageProcessingConfiguration(null);
+            _this._attachImageProcessingConfiguration(null, true);
             _this.imageProcessingConfiguration.applyByPostProcess = true;
-            _this._updateParameters();
             _this.onApply = function (effect) {
                 _this.imageProcessingConfiguration.bind(effect, _this.aspectRatio);
             };
@@ -54064,8 +54098,9 @@ var BABYLON;
          * Attaches a new image processing configuration to the PBR Material.
          * @param configuration
          */
-        ImageProcessingPostProcess.prototype._attachImageProcessingConfiguration = function (configuration) {
+        ImageProcessingPostProcess.prototype._attachImageProcessingConfiguration = function (configuration, doNotBuild) {
             var _this = this;
+            if (doNotBuild === void 0) { doNotBuild = false; }
             if (configuration === this._imageProcessingConfiguration) {
                 return;
             }
@@ -54087,7 +54122,9 @@ var BABYLON;
                 _this._updateParameters();
             });
             // Ensure the effect will be rebuilt.
-            this._updateParameters();
+            if (!doNotBuild) {
+                this._updateParameters();
+            }
         };
         Object.defineProperty(ImageProcessingPostProcess.prototype, "colorCurves", {
             /**

File diff ditekan karena terlalu besar
+ 5055 - 5048
dist/preview release/babylon.module.d.ts


File diff ditekan karena terlalu besar
+ 24 - 24
dist/preview release/babylon.worker.js


File diff ditekan karena terlalu besar
+ 7063 - 7056
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.d.ts


File diff ditekan karena terlalu besar
+ 22 - 22
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.js


+ 61 - 22
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.max.js

@@ -7448,7 +7448,7 @@ var BABYLON;
             this.renderEvenInBackground = true;
             this.preventCacheWipeBetweenFrames = false;
             // To enable/disable IDB support and avoid XHR on .manifest
-            this.enableOfflineSupport = BABYLON.Database;
+            this.enableOfflineSupport = false;
             this.scenes = new Array();
             // Observables
             /**
@@ -7740,15 +7740,16 @@ var BABYLON;
             for (var i = 0; i < this._caps.maxVertexAttribs; i++) {
                 this._currentBufferPointers[i] = new BufferPointer();
             }
-            //Load WebVR Devices
+            // Load WebVR Devices
             if (options.autoEnableWebVR) {
                 this.initWebVR();
             }
-            //Detect if we are running on a faulty buggy OS.
+            // Detect if we are running on a faulty buggy OS.
             this._badOS = /iPad/i.test(navigator.userAgent) || /iPhone/i.test(navigator.userAgent);
-            //Detect if we are running on a faulty buggy desktop OS.
+            // Detect if we are running on a faulty buggy desktop OS.
             this._badDesktopOS = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
             BABYLON.Tools.Log("Babylon.js engine (v" + Engine.Version + ") launched");
+            this.enableOfflineSupport = (BABYLON.Database !== undefined);
         }
         Object.defineProperty(Engine, "LastCreatedEngine", {
             get: function () {
@@ -15436,11 +15437,14 @@ var BABYLON;
                 this._renderTransparent(this._transparentSubMeshes);
                 engine.setAlphaMode(BABYLON.Engine.ALPHA_DISABLE);
             }
-            engine.setStencilBuffer(stencilState);
+            // Set back stencil to false in case it changes before the edge renderer.
+            engine.setStencilBuffer(false);
             // Edges
             for (var edgesRendererIndex = 0; edgesRendererIndex < this._edgesRenderers.length; edgesRendererIndex++) {
                 this._edgesRenderers.data[edgesRendererIndex].render();
             }
+            // Restore Stencil state.
+            engine.setStencilBuffer(stencilState);
         };
         /**
          * Renders the opaque submeshes in the order from the opaqueSortCompareFn.
@@ -22928,6 +22932,9 @@ var BABYLON;
         });
         BaseSubMesh.prototype.setEffect = function (effect, defines) {
             if (this._materialEffect === effect) {
+                if (!effect) {
+                    this._materialDefines = undefined;
+                }
                 return;
             }
             this._materialDefines = defines;
@@ -23004,9 +23011,7 @@ var BABYLON;
                 var effectiveMaterial = multiMaterial.getSubMaterial(this.materialIndex);
                 if (this._currentMaterial !== effectiveMaterial) {
                     this._currentMaterial = effectiveMaterial;
-                    if (this._materialDefines) {
-                        this._materialDefines.markAllAsDirty();
-                    }
+                    this._materialDefines = undefined;
                 }
                 return effectiveMaterial;
             }
@@ -24570,7 +24575,7 @@ var BABYLON;
             this._wasPreviouslyReady = false;
             this._fillMode = Material.TriangleFillMode;
             this.name = name;
-            this.id = name;
+            this.id = name || BABYLON.Tools.RandomId();
             this._scene = scene || BABYLON.Engine.LastCreatedScene;
             if (this._scene.useRightHandedSystem) {
                 this.sideOrientation = Material.ClockWiseSideOrientation;
@@ -24859,13 +24864,18 @@ var BABYLON;
         Material.prototype.forceCompilation = function (mesh, onCompiled, options) {
             var _this = this;
             var subMesh = new BABYLON.BaseSubMesh();
-            var engine = this.getScene().getEngine();
+            var scene = this.getScene();
+            var engine = scene.getEngine();
             var checkReady = function () {
                 if (subMesh._materialDefines) {
                     subMesh._materialDefines._renderId = -1;
                 }
                 var alphaTestState = engine.getAlphaTesting();
+                var clipPlaneState = scene.clipPlane;
                 engine.setAlphaTesting(options ? options.alphaTest : _this.needAlphaTesting());
+                if (options.clipPlane) {
+                    scene.clipPlane = new BABYLON.Plane(0, 0, 0, 1);
+                }
                 if (_this.isReadyForSubMesh(mesh, subMesh)) {
                     if (onCompiled) {
                         onCompiled(_this);
@@ -24875,6 +24885,9 @@ var BABYLON;
                     setTimeout(checkReady, 16);
                 }
                 engine.setAlphaTesting(alphaTestState);
+                if (options.clipPlane) {
+                    scene.clipPlane = clipPlaneState;
+                }
             };
             checkReady();
         };
@@ -24908,7 +24921,7 @@ var BABYLON;
                         continue;
                     }
                     if (!subMesh._materialDefines) {
-                        return;
+                        continue;
                     }
                     func(subMesh._materialDefines);
                 }
@@ -35820,10 +35833,16 @@ var BABYLON;
         MultiMaterial.prototype.getClassName = function () {
             return "MultiMaterial";
         };
-        MultiMaterial.prototype.isReady = function (mesh) {
+        MultiMaterial.prototype.isReadyForSubMesh = function (mesh, subMesh, useInstances) {
             for (var index = 0; index < this.subMaterials.length; index++) {
                 var subMaterial = this.subMaterials[index];
                 if (subMaterial) {
+                    if (this.subMaterials[index].isReadyForSubMesh) {
+                        if (!this.subMaterials[index].isReadyForSubMesh(mesh, subMesh, useInstances)) {
+                            return false;
+                        }
+                        continue;
+                    }
                     if (!this.subMaterials[index].isReady(mesh)) {
                         return false;
                     }
@@ -40203,9 +40222,8 @@ var BABYLON;
                 EXPOSURE: false,
             };
             // Setup the default processing configuration to the scene.
-            _this._attachImageProcessingConfiguration(null);
+            _this._attachImageProcessingConfiguration(null, true);
             _this.imageProcessingConfiguration.applyByPostProcess = true;
-            _this._updateParameters();
             _this.onApply = function (effect) {
                 _this.imageProcessingConfiguration.bind(effect, _this.aspectRatio);
             };
@@ -40233,8 +40251,9 @@ var BABYLON;
          * Attaches a new image processing configuration to the PBR Material.
          * @param configuration
          */
-        ImageProcessingPostProcess.prototype._attachImageProcessingConfiguration = function (configuration) {
+        ImageProcessingPostProcess.prototype._attachImageProcessingConfiguration = function (configuration, doNotBuild) {
             var _this = this;
+            if (doNotBuild === void 0) { doNotBuild = false; }
             if (configuration === this._imageProcessingConfiguration) {
                 return;
             }
@@ -40256,7 +40275,9 @@ var BABYLON;
                 _this._updateParameters();
             });
             // Ensure the effect will be rebuilt.
-            this._updateParameters();
+            if (!doNotBuild) {
+                this._updateParameters();
+            }
         };
         Object.defineProperty(ImageProcessingPostProcess.prototype, "colorCurves", {
             /**
@@ -41724,8 +41745,10 @@ var BABYLON;
          * @param {BABYLON.Scene} scene - The scene linked to this pipeline
          * @param {any} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5)
          * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to
+         * @param {boolean} automaticBuild - if false, you will have to manually call prepare() to update the pipeline
          */
-        function DefaultRenderingPipeline(name, hdr, scene, cameras) {
+        function DefaultRenderingPipeline(name, hdr, scene, cameras, automaticBuild) {
+            if (automaticBuild === void 0) { automaticBuild = true; }
             var _this = _super.call(this, scene.getEngine(), name) || this;
             _this.PassPostProcessId = "PassPostProcessEffect";
             _this.HighLightsPostProcessId = "HighLightsPostProcessEffect";
@@ -41742,6 +41765,7 @@ var BABYLON;
             _this._fxaaEnabled = false;
             _this._imageProcessingEnabled = true;
             _this._bloomScale = 0.6;
+            _this._buildAllowed = true;
             /**
              * Specifies the size of the bloom blur kernel, relative to the final output size
              */
@@ -41751,6 +41775,7 @@ var BABYLON;
              */
             _this._bloomWeight = 0.15;
             _this._cameras = cameras || [];
+            _this._buildAllowed = automaticBuild;
             // Initialize
             _this._scene = scene;
             var caps = _this._scene.getEngine().getCaps();
@@ -41844,8 +41869,20 @@ var BABYLON;
             enumerable: true,
             configurable: true
         });
+        /**
+         * Force the compilation of the entire pipeline.
+         */
+        DefaultRenderingPipeline.prototype.prepare = function () {
+            var previousState = this._buildAllowed;
+            this._buildAllowed = true;
+            this._buildPipeline();
+            this._buildAllowed = previousState;
+        };
         DefaultRenderingPipeline.prototype._buildPipeline = function () {
             var _this = this;
+            if (!this._buildAllowed) {
+                return;
+            }
             var engine = this._scene.getEngine();
             this._disposePostProcesses();
             this._reset();
@@ -52150,11 +52187,13 @@ var BABYLON;
                                         if (isNew && _this._parent.onMaterialLoaded) {
                                             _this._parent.onMaterialLoaded(babylonMaterial);
                                         }
-                                        _this.addPendingData(material);
-                                        babylonMaterial.forceCompilation(babylonMesh, function (babylonMaterial) {
-                                            babylonMultiMaterial.subMaterials[i] = babylonMaterial;
-                                            _this.removePendingData(material);
-                                        });
+                                        // Note: Removing force compilation from loader as this will be delegated to users as they
+                                        // may want to add more options to the material before compiling it
+                                        //this.addPendingData(material);
+                                        //babylonMaterial.forceCompilation(babylonMesh, babylonMaterial => {
+                                        babylonMultiMaterial.subMaterials[i] = babylonMaterial;
+                                        //    this.removePendingData(material);
+                                        //});
                                     });
                                 }
                             }

File diff ditekan karena terlalu besar
+ 7063 - 7056
dist/preview release/customConfigurations/minimalGLTFViewer/babylon.module.d.ts


+ 7 - 5
dist/preview release/loaders/babylon.glTF2FileLoader.js

@@ -642,11 +642,13 @@ var BABYLON;
                                         if (isNew && _this._parent.onMaterialLoaded) {
                                             _this._parent.onMaterialLoaded(babylonMaterial);
                                         }
-                                        _this.addPendingData(material);
-                                        babylonMaterial.forceCompilation(babylonMesh, function (babylonMaterial) {
-                                            babylonMultiMaterial.subMaterials[i] = babylonMaterial;
-                                            _this.removePendingData(material);
-                                        });
+                                        // Note: Removing force compilation from loader as this will be delegated to users as they
+                                        // may want to add more options to the material before compiling it
+                                        //this.addPendingData(material);
+                                        //babylonMaterial.forceCompilation(babylonMesh, babylonMaterial => {
+                                        babylonMultiMaterial.subMaterials[i] = babylonMaterial;
+                                        //    this.removePendingData(material);
+                                        //});
                                     });
                                 }
                             }

File diff ditekan karena terlalu besar
+ 1 - 1
dist/preview release/loaders/babylon.glTF2FileLoader.min.js


+ 7 - 5
dist/preview release/loaders/babylon.glTFFileLoader.js

@@ -2800,11 +2800,13 @@ var BABYLON;
                                         if (isNew && _this._parent.onMaterialLoaded) {
                                             _this._parent.onMaterialLoaded(babylonMaterial);
                                         }
-                                        _this.addPendingData(material);
-                                        babylonMaterial.forceCompilation(babylonMesh, function (babylonMaterial) {
-                                            babylonMultiMaterial.subMaterials[i] = babylonMaterial;
-                                            _this.removePendingData(material);
-                                        });
+                                        // Note: Removing force compilation from loader as this will be delegated to users as they
+                                        // may want to add more options to the material before compiling it
+                                        //this.addPendingData(material);
+                                        //babylonMaterial.forceCompilation(babylonMesh, babylonMaterial => {
+                                        babylonMultiMaterial.subMaterials[i] = babylonMaterial;
+                                        //    this.removePendingData(material);
+                                        //});
                                     });
                                 }
                             }

File diff ditekan karena terlalu besar
+ 1 - 1
dist/preview release/loaders/babylon.glTFFileLoader.min.js


+ 6 - 4
loaders/src/glTF/2.0/babylon.glTFLoader.ts

@@ -407,11 +407,13 @@ module BABYLON.GLTF2 {
                                         this._parent.onMaterialLoaded(babylonMaterial);
                                     }
 
-                                    this.addPendingData(material);
-                                    babylonMaterial.forceCompilation(babylonMesh, babylonMaterial => {
+                                    // Note: Removing force compilation from loader as this will be delegated to users as they
+                                    // may want to add more options to the material before compiling it
+                                    //this.addPendingData(material);
+                                    //babylonMaterial.forceCompilation(babylonMesh, babylonMaterial => {
                                         babylonMultiMaterial.subMaterials[i] = babylonMaterial;
-                                        this.removePendingData(material);
-                                    });
+                                    //    this.removePendingData(material);
+                                    //});
                                 });
                             }
                         }

+ 13 - 2
src/Materials/babylon.material.ts

@@ -517,9 +517,10 @@
         }
 
         // Force shader compilation including textures ready check
-        public forceCompilation(mesh: AbstractMesh, onCompiled: (material: Material) => void, options?: { alphaTest: boolean }): void {
+        public forceCompilation(mesh: AbstractMesh, onCompiled: (material: Material) => void, options?: { alphaTest: boolean, clipPlane: boolean }): void {
             var subMesh = new BaseSubMesh();
-            var engine = this.getScene().getEngine();
+            var scene = this.getScene();
+            var engine = scene.getEngine();
 
             var checkReady = () => {
                 if (subMesh._materialDefines) {
@@ -527,8 +528,14 @@
                 }
 
                 var alphaTestState = engine.getAlphaTesting();
+                var clipPlaneState = scene.clipPlane;
+
                 engine.setAlphaTesting(options ? options.alphaTest : this.needAlphaTesting());
 
+                if (options.clipPlane) {
+                    scene.clipPlane = new Plane(0, 0, 0, 1);
+                }
+
                 if (this.isReadyForSubMesh(mesh, subMesh)) {
                     if (onCompiled) {
                         onCompiled(this);
@@ -539,6 +546,10 @@
                 }
 
                 engine.setAlphaTesting(alphaTestState);
+
+                if (options.clipPlane) {
+                    scene.clipPlane = clipPlaneState;
+                }
             };
 
             checkReady();

+ 8 - 1
src/Materials/babylon.multiMaterial.ts

@@ -56,10 +56,17 @@
             return "MultiMaterial";
         }
 
-        public isReady(mesh?: AbstractMesh): boolean {
+        public isReadyForSubMesh(mesh: AbstractMesh, subMesh: BaseSubMesh, useInstances?: boolean): boolean {
             for (var index = 0; index < this.subMaterials.length; index++) {
                 var subMaterial = this.subMaterials[index];
                 if (subMaterial) {
+                    if (this.subMaterials[index].isReadyForSubMesh) {
+                        if (!this.subMaterials[index].isReadyForSubMesh(mesh, subMesh, useInstances)) {
+                            return false;
+                        }
+                        continue;
+                    }
+
                     if (!this.subMaterials[index].isReady(mesh)) {
                         return false;
                     }

+ 20 - 1
src/PostProcess/RenderPipeline/Pipelines/babylon.defaultRenderingPipeline.ts

@@ -31,6 +31,8 @@
         private _defaultPipelineTextureType: number;
         private _bloomScale: number = 0.6;
 
+        private _buildAllowed = true;
+
         /**
 		 * Specifies the size of the bloom blur kernel, relative to the final output size
 		 */
@@ -124,11 +126,14 @@
          * @param {BABYLON.Scene} scene - The scene linked to this pipeline
          * @param {any} ratio - The size of the postprocesses (0.5 means that your postprocess will have a width = canvas.width 0.5 and a height = canvas.height 0.5)
          * @param {BABYLON.Camera[]} cameras - The array of cameras that the rendering pipeline will be attached to
+         * @param {boolean} automaticBuild - if false, you will have to manually call prepare() to update the pipeline
          */
-        constructor(name: string, hdr: boolean, scene: Scene, cameras?: Camera[]) {
+        constructor(name: string, hdr: boolean, scene: Scene, cameras?: Camera[], automaticBuild = true) {
             super(scene.getEngine(), name);
             this._cameras = cameras || [];
 
+            this._buildAllowed = automaticBuild;
+
             // Initialize
             this._scene = scene;
             var caps = this._scene.getEngine().getCaps();
@@ -152,7 +157,21 @@
             this._buildPipeline();
         }
 
+        /**
+         * Force the compilation of the entire pipeline.
+         */
+        public prepare(): void {
+            let previousState = this._buildAllowed;
+            this._buildAllowed = true;
+            this._buildPipeline();
+            this._buildAllowed = previousState;
+        }
+
         private _buildPipeline() {
+            if (!this._buildAllowed) {
+                return;
+            }
+
             var engine = this._scene.getEngine();
 
             this._disposePostProcesses();

+ 5 - 5
src/PostProcess/babylon.imageProcessingPostProcess.ts

@@ -31,7 +31,7 @@
          * Attaches a new image processing configuration to the PBR Material.
          * @param configuration 
          */
-        protected _attachImageProcessingConfiguration(configuration: ImageProcessingConfiguration): void {
+        protected _attachImageProcessingConfiguration(configuration: ImageProcessingConfiguration, doNotBuild = false): void {
             if (configuration === this._imageProcessingConfiguration) {
                 return;
             }
@@ -57,7 +57,9 @@
             });
 
             // Ensure the effect will be rebuilt.
-            this._updateParameters();
+            if (!doNotBuild) {
+                this._updateParameters();
+            }
         }
 
         /**
@@ -301,12 +303,10 @@
                                             null, textureType, "postprocess", null, true);
 
             // Setup the default processing configuration to the scene.
-            this._attachImageProcessingConfiguration(null);
+            this._attachImageProcessingConfiguration(null, true);
 
             this.imageProcessingConfiguration.applyByPostProcess = true;
 
-            this._updateParameters();
-
             this.onApply = (effect: Effect) => {
                 this.imageProcessingConfiguration.bind(effect, this.aspectRatio);
             };

TEMPAT SAMPAH
tests/validation/ReferenceImages/Espilit.png


+ 3 - 1
tests/validation/config.json

@@ -14,7 +14,8 @@
       "referenceImage": "WCafe.png"
     },
     {
-      "title": "Espilit",
+      "title": "Espilit",      
+      "renderCount": 10,
       "sceneFolder": "/Scenes/Espilit/",
       "sceneFilename": "Espilit.binary.babylon",
       "referenceImage": "Espilit.png"
@@ -174,6 +175,7 @@
     },
      {
       "title": "PBR glossy",
+      "renderCount": 10,
       "scriptToRun": "/Demos/PBRGlossy/index.js",
       "functionToCall": "CreatePBRGlossyScene",
       "referenceImage": "pbrglossy.png"