@galacean/engine-core 1.2.0-alpha.11 → 1.2.0-alpha.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main.js CHANGED
@@ -3183,7 +3183,7 @@ function _extends() {
3183
3183
  return _extends.apply(this, arguments);
3184
3184
  }
3185
3185
 
3186
- var camera_declare = "#define GLSLIFY 1\nuniform vec3 camera_Position;uniform vec3 camera_Forward;"; // eslint-disable-line
3186
+ var camera_declare = "#define GLSLIFY 1\nuniform vec3 camera_Position;uniform vec3 camera_Forward;uniform vec4 camera_ProjectionParams;"; // eslint-disable-line
3187
3187
 
3188
3188
  var common = "#define GLSLIFY 1\n#define PI 3.14159265359\n#define RECIPROCAL_PI 0.31830988618\n#define EPSILON 1e-6\n#define LOG2 1.442695\n#define saturate( a ) clamp( a, 0.0, 1.0 )\nfloat pow2(float x){return x*x;}vec4 RGBMToLinear(vec4 value,float maxRange){return vec4(value.rgb*value.a*maxRange,1.0);}vec4 gammaToLinear(vec4 srgbIn){return vec4(pow(srgbIn.rgb,vec3(2.2)),srgbIn.a);}vec4 linearToGamma(vec4 linearIn){return vec4(pow(linearIn.rgb,vec3(1.0/2.2)),linearIn.a);}uniform vec4 camera_DepthBufferParams;float remapDepthBufferLinear01(float z){return 1.0/(camera_DepthBufferParams.x*z+camera_DepthBufferParams.y);}\n#ifdef GRAPHICS_API_WEBGL2\n#define INVERSE_MAT(mat) inverse(mat)\n#else\nmat2 inverseMat(mat2 m){return mat2(m[1][1],-m[0][1],-m[1][0],m[0][0])/(m[0][0]*m[1][1]-m[0][1]*m[1][0]);}mat3 inverseMat(mat3 m){float a00=m[0][0],a01=m[0][1],a02=m[0][2];float a10=m[1][0],a11=m[1][1],a12=m[1][2];float a20=m[2][0],a21=m[2][1],a22=m[2][2];float b01=a22*a11-a12*a21;float b11=-a22*a10+a12*a20;float b21=a21*a10-a11*a20;float det=a00*b01+a01*b11+a02*b21;return mat3(b01,(-a22*a01+a02*a21),(a12*a01-a02*a11),b11,(a22*a00-a02*a20),(-a12*a00+a02*a10),b21,(-a21*a00+a01*a20),(a11*a00-a01*a10))/det;}mat4 inverseMat(mat4 m){float a00=m[0][0],a01=m[0][1],a02=m[0][2],a03=m[0][3],a10=m[1][0],a11=m[1][1],a12=m[1][2],a13=m[1][3],a20=m[2][0],a21=m[2][1],a22=m[2][2],a23=m[2][3],a30=m[3][0],a31=m[3][1],a32=m[3][2],a33=m[3][3],b00=a00*a11-a01*a10,b01=a00*a12-a02*a10,b02=a00*a13-a03*a10,b03=a01*a12-a02*a11,b04=a01*a13-a03*a11,b05=a02*a13-a03*a12,b06=a20*a31-a21*a30,b07=a20*a32-a22*a30,b08=a20*a33-a23*a30,b09=a21*a32-a22*a31,b10=a21*a33-a23*a31,b11=a22*a33-a23*a32,det=b00*b11-b01*b10+b02*b09+b03*b08-b04*b07+b05*b06;return mat4(a11*b11-a12*b10+a13*b09,a02*b10-a01*b11-a03*b09,a31*b05-a32*b04+a33*b03,a22*b04-a21*b05-a23*b03,a12*b08-a10*b11-a13*b07,a00*b11-a02*b08+a03*b07,a32*b02-a30*b05-a33*b01,a20*b05-a22*b02+a23*b01,a10*b10-a11*b08+a13*b06,a01*b08-a00*b10-a03*b06,a30*b04-a31*b02+a33*b00,a21*b02-a20*b04-a23*b00,a11*b07-a10*b09-a12*b06,a00*b09-a01*b07+a02*b06,a31*b01-a30*b03-a32*b00,a20*b03-a21*b01+a22*b00)/det;}\n#define INVERSE_MAT(mat) inverseMat(mat)\n#endif\n"; // eslint-disable-line
3189
3189
 
@@ -3344,7 +3344,7 @@ var ParticleShaderLib = {
3344
3344
  particle_mesh: particle_mesh
3345
3345
  };
3346
3346
 
3347
- var normal_get = "#define GLSLIFY 1\nvec3 getNormal(bool isFrontFacing){\n#ifdef RENDERER_HAS_NORMAL\nvec3 normal=normalize(v_normal);\n#elif defined(HAS_DERIVATIVES)\nvec3 pos_dx=dFdx(v_pos);vec3 pos_dy=dFdy(v_pos);vec3 normal=normalize(cross(pos_dx,pos_dy));\n#else\nvec3 normal=vec3(0,0,1);\n#endif\nnormal*=float(isFrontFacing)*2.0-1.0;return normal;}vec3 getNormalByNormalTexture(mat3 tbn,sampler2D normalTexture,float normalIntensity,vec2 uv,bool isFrontFacing){vec3 normal=texture2D(normalTexture,uv).rgb;normal=normalize(tbn*((2.0*normal-1.0)*vec3(normalIntensity,normalIntensity,1.0)));normal*=float(isFrontFacing)*2.0-1.0;return normal;}mat3 getTBN(bool isFrontFacing){\n#if defined(RENDERER_HAS_NORMAL) && defined(RENDERER_HAS_TANGENT) && ( defined(MATERIAL_HAS_NORMALTEXTURE) || defined(MATERIAL_HAS_CLEAR_COAT_NORMAL_TEXTURE) || defined(MATERIAL_ENABLE_ANISOTROPY) )\nmat3 tbn=v_TBN;\n#else\nvec3 normal=getNormal(isFrontFacing);vec3 position=v_pos;vec2 uv=isFrontFacing? v_uv:-v_uv;\n#ifdef HAS_DERIVATIVES\nvec3 dp1=dFdx(position);vec3 dp2=dFdy(position);vec2 duv1=dFdx(uv);vec2 duv2=dFdy(uv);vec3 dp2perp=cross(dp2,normal);vec3 dp1perp=cross(normal,dp1);vec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;vec3 bitangent=dp2perp*duv1.y+dp1perp*duv2.y;float invmax=inversesqrt(max(dot(tangent,tangent),dot(bitangent,bitangent)));mat3 tbn=mat3(tangent*invmax,bitangent*invmax,normal);\n#else\nmat3 tbn=mat3(vec3(0.0),vec3(0.0),normal);\n#endif\n#endif\nreturn tbn;}"; // eslint-disable-line
3347
+ var normal_get = "#define GLSLIFY 1\nvec3 getNormal(bool isFrontFacing){\n#ifdef RENDERER_HAS_NORMAL\nvec3 normal=normalize(v_normal);\n#elif defined(HAS_DERIVATIVES)\nvec3 pos_dx=dFdx(v_pos);vec3 pos_dy=dFdy(v_pos);vec3 normal=normalize(cross(pos_dx,pos_dy));normal*=camera_ProjectionParams.x;\n#else\nvec3 normal=vec3(0,0,1);\n#endif\nnormal*=float(isFrontFacing)*2.0-1.0;return normal;}vec3 getNormalByNormalTexture(mat3 tbn,sampler2D normalTexture,float normalIntensity,vec2 uv,bool isFrontFacing){vec3 normal=texture2D(normalTexture,uv).rgb;normal=normalize(tbn*((2.0*normal-1.0)*vec3(normalIntensity,normalIntensity,1.0)));normal*=float(isFrontFacing)*2.0-1.0;return normal;}mat3 getTBN(bool isFrontFacing){\n#if defined(RENDERER_HAS_NORMAL) && defined(RENDERER_HAS_TANGENT) && ( defined(MATERIAL_HAS_NORMALTEXTURE) || defined(MATERIAL_HAS_CLEAR_COAT_NORMAL_TEXTURE) || defined(MATERIAL_ENABLE_ANISOTROPY) )\nmat3 tbn=v_TBN;\n#else\nvec3 normal=getNormal(isFrontFacing);vec3 position=v_pos;vec2 uv=isFrontFacing? v_uv:-v_uv;\n#ifdef HAS_DERIVATIVES\nvec3 dp1=dFdx(position);vec3 dp2=dFdy(position);vec2 duv1=dFdx(uv);vec2 duv2=dFdy(uv);vec3 dp2perp=cross(dp2,normal);vec3 dp1perp=cross(normal,dp1);vec3 tangent=dp2perp*duv1.x+dp1perp*duv2.x;vec3 bitangent=dp2perp*duv1.y+dp1perp*duv2.y;float denom=max(dot(tangent,tangent),dot(bitangent,bitangent));float invmax=(denom==0.0)? 0.0 : camera_ProjectionParams.x/sqrt(denom);mat3 tbn=mat3(tangent*invmax,bitangent*invmax,normal);\n#else\nmat3 tbn=mat3(vec3(0.0),vec3(0.0),normal);\n#endif\n#endif\nreturn tbn;}"; // eslint-disable-line
3348
3348
 
3349
3349
  var ShaderLib = _extends({
3350
3350
  common: common,
@@ -4830,10 +4830,11 @@ __decorate([
4830
4830
  renderStateDataMap && this._applyShaderDataValue(renderStateDataMap, shaderData);
4831
4831
  var hardwareRenderer = engine._hardwareRenderer;
4832
4832
  var lastRenderState = engine._lastRenderState;
4833
+ var context = engine._renderContext;
4833
4834
  this.blendState._apply(hardwareRenderer, lastRenderState);
4834
4835
  this.depthState._apply(hardwareRenderer, lastRenderState);
4835
4836
  this.stencilState._apply(hardwareRenderer, lastRenderState);
4836
- this.rasterState._apply(hardwareRenderer, lastRenderState, frontFaceInvert);
4837
+ this.rasterState._apply(hardwareRenderer, lastRenderState, context.flipProjection ? !frontFaceInvert : frontFaceInvert);
4837
4838
  };
4838
4839
  return RenderState;
4839
4840
  }();
@@ -5836,22 +5837,26 @@ exports.Renderer = (_Renderer = /*#__PURE__*/ function(Component1) {
5836
5837
  * @internal
5837
5838
  */ _proto._updateTransformShaderData = function _updateTransformShaderData(context, worldMatrix) {
5838
5839
  var shaderData = this.shaderData;
5839
- var virtualCamera = context.virtualCamera;
5840
5840
  var mvMatrix = this._mvMatrix;
5841
- var mvpMatrix = this._mvpMatrix;
5842
5841
  var mvInvMatrix = this._mvInvMatrix;
5843
5842
  var normalMatrix = this._normalMatrix;
5844
- engineMath.Matrix.multiply(virtualCamera.viewMatrix, worldMatrix, mvMatrix);
5845
- engineMath.Matrix.multiply(virtualCamera.viewProjectionMatrix, worldMatrix, mvpMatrix);
5843
+ engineMath.Matrix.multiply(context.viewMatrix, worldMatrix, mvMatrix);
5846
5844
  engineMath.Matrix.invert(mvMatrix, mvInvMatrix);
5847
5845
  engineMath.Matrix.invert(worldMatrix, normalMatrix);
5848
5846
  normalMatrix.transpose();
5849
5847
  shaderData.setMatrix(exports.Renderer._localMatrixProperty, this.entity.transform.localMatrix);
5850
5848
  shaderData.setMatrix(exports.Renderer._worldMatrixProperty, worldMatrix);
5851
5849
  shaderData.setMatrix(exports.Renderer._mvMatrixProperty, mvMatrix);
5852
- shaderData.setMatrix(exports.Renderer._mvpMatrixProperty, mvpMatrix);
5853
5850
  shaderData.setMatrix(exports.Renderer._mvInvMatrixProperty, mvInvMatrix);
5854
5851
  shaderData.setMatrix(exports.Renderer._normalMatrixProperty, normalMatrix);
5852
+ this._updateMVPShaderData(context, worldMatrix);
5853
+ };
5854
+ /**
5855
+ * @internal
5856
+ */ _proto._updateMVPShaderData = function _updateMVPShaderData(context, worldMatrix) {
5857
+ var mvpMatrix = this._mvpMatrix;
5858
+ engineMath.Matrix.multiply(context.viewProjectionMatrix, worldMatrix, mvpMatrix);
5859
+ this.shaderData.setMatrix(exports.Renderer._mvpMatrixProperty, mvpMatrix);
5855
5860
  };
5856
5861
  /**
5857
5862
  * @internal
@@ -14518,14 +14523,31 @@ var ComponentCloner = /*#__PURE__*/ function() {
14518
14523
  * @internal
14519
14524
  * Rendering context.
14520
14525
  */ var RenderContext = /*#__PURE__*/ function() {
14521
- function RenderContext() {}
14526
+ function RenderContext() {
14527
+ this._projectionParams = new engineMath.Vector4();
14528
+ this.flipProjection = false;
14529
+ }
14522
14530
  var _proto = RenderContext.prototype;
14523
- _proto.applyVirtualCamera = function applyVirtualCamera(virtualCamera) {
14531
+ _proto.applyVirtualCamera = function applyVirtualCamera(virtualCamera, flipProjection) {
14524
14532
  this.virtualCamera = virtualCamera;
14533
+ this.flipProjection = flipProjection;
14525
14534
  var shaderData = this.camera.shaderData;
14526
- shaderData.setMatrix(RenderContext._viewMatrixProperty, virtualCamera.viewMatrix);
14527
- shaderData.setMatrix(RenderContext._projectionMatrixProperty, virtualCamera.projectionMatrix);
14528
- shaderData.setMatrix(RenderContext.vpMatrixProperty, virtualCamera.viewProjectionMatrix);
14535
+ var viewMatrix = virtualCamera.viewMatrix, projectionMatrix = virtualCamera.projectionMatrix, viewProjectionMatrix = virtualCamera.viewProjectionMatrix;
14536
+ if (flipProjection) {
14537
+ engineMath.Matrix.multiply(RenderContext._flipYMatrix, projectionMatrix, RenderContext._flipYProjectionMatrix);
14538
+ engineMath.Matrix.multiply(RenderContext._flipYProjectionMatrix, viewMatrix, RenderContext._flipYViewProjectionMatrix);
14539
+ projectionMatrix = RenderContext._flipYProjectionMatrix;
14540
+ viewProjectionMatrix = RenderContext._flipYViewProjectionMatrix;
14541
+ }
14542
+ this.viewMatrix = viewMatrix;
14543
+ this.projectionMatrix = projectionMatrix;
14544
+ this.viewProjectionMatrix = viewProjectionMatrix;
14545
+ shaderData.setMatrix(RenderContext._viewMatrixProperty, viewMatrix);
14546
+ shaderData.setMatrix(RenderContext._projectionMatrixProperty, projectionMatrix);
14547
+ shaderData.setMatrix(RenderContext.vpMatrixProperty, viewProjectionMatrix);
14548
+ var projectionParams = this._projectionParams;
14549
+ projectionParams.set(flipProjection ? -1 : 1, virtualCamera.nearClipPlane, virtualCamera.farClipPlane, 0);
14550
+ shaderData.setVector4(RenderContext._cameraProjectionProperty, projectionParams);
14529
14551
  };
14530
14552
  return RenderContext;
14531
14553
  }();
@@ -14535,12 +14557,24 @@ var ComponentCloner = /*#__PURE__*/ function() {
14535
14557
  (function() {
14536
14558
  RenderContext.pipelineStageKey = ShaderTagKey.getByName("pipelineStage");
14537
14559
  })();
14560
+ (function() {
14561
+ /** @internal */ RenderContext._flipYMatrix = new engineMath.Matrix(1, 0, 0, 0, 0, -1);
14562
+ })();
14563
+ (function() {
14564
+ RenderContext._cameraProjectionProperty = ShaderProperty.getByName("camera_ProjectionParams");
14565
+ })();
14538
14566
  (function() {
14539
14567
  RenderContext._viewMatrixProperty = ShaderProperty.getByName("camera_ViewMat");
14540
14568
  })();
14541
14569
  (function() {
14542
14570
  RenderContext._projectionMatrixProperty = ShaderProperty.getByName("camera_ProjMat");
14543
14571
  })();
14572
+ (function() {
14573
+ RenderContext._flipYProjectionMatrix = new engineMath.Matrix();
14574
+ })();
14575
+ (function() {
14576
+ RenderContext._flipYViewProjectionMatrix = new engineMath.Matrix();
14577
+ })();
14544
14578
 
14545
14579
  var RenderData = /*#__PURE__*/ function() {
14546
14580
  function RenderData() {}
@@ -19736,6 +19770,9 @@ ShaderPool.init();
19736
19770
  // view-proj matrix
19737
19771
  engineMath.Matrix.multiply(projectionMatrix, viewProjMatrix, viewProjMatrix);
19738
19772
  var originViewProjMatrix = cameraShaderData.getMatrix(RenderContext.vpMatrixProperty);
19773
+ if (context.flipProjection) {
19774
+ engineMath.Matrix.multiply(RenderContext._flipYMatrix, viewProjMatrix, viewProjMatrix);
19775
+ }
19739
19776
  cameraShaderData.setMatrix(RenderContext.vpMatrixProperty, viewProjMatrix);
19740
19777
  var compileMacros = Shader._compileMacros;
19741
19778
  ShaderMacroCollection.unionCollection(context.camera._globalShaderMacro, materialShaderData._macroCollection, compileMacros);
@@ -22063,6 +22100,8 @@ var passNum = 0;
22063
22100
  this.viewMatrix = new engineMath.Matrix();
22064
22101
  this.projectionMatrix = new engineMath.Matrix();
22065
22102
  this.viewProjectionMatrix = new engineMath.Matrix();
22103
+ this.nearClipPlane = 0.1;
22104
+ this.farClipPlane = 100;
22066
22105
  /** Only orth mode use. */ this.forward = new engineMath.Vector3();
22067
22106
  };
22068
22107
 
@@ -22347,7 +22386,7 @@ var /**
22347
22386
  })();
22348
22387
  (function() {
22349
22388
  // prettier-ignore
22350
- /** @internal */ ShadowUtils._shadowMapCoordMatrix = new engineMath.Matrix(0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);
22389
+ /** @internal */ ShadowUtils._shadowMapCoordMatrix = new engineMath.Matrix(0.5, 0.0, 0.0, 0.0, 0.0, -0.5, 0.0, 0.0, 0.0, 0.0, 0.5, 0.0, 0.5, 0.5, 0.5, 1.0);
22351
22390
  })();
22352
22391
  (function() {
22353
22392
  ShadowUtils._frustumCorners = [
@@ -22699,6 +22738,7 @@ var /**
22699
22738
  rhi.viewport(x, y, shadowTileResolution, shadowTileResolution);
22700
22739
  // for no cascade is for the edge,for cascade is for the beyond maxCascade pixel can use (0,0,0) trick sample the shadowMap
22701
22740
  rhi.scissor(x + 1, y + 1, shadowTileResolution - 2, shadowTileResolution - 2);
22741
+ // @todo: It is more appropriate to prevent duplication based on `virtualCamera` at `RenderQueue#render`.
22702
22742
  engine._renderCount++;
22703
22743
  opaqueQueue.render(camera, exports.Layer.Everything, exports.PipelineStage.ShadowCaster);
22704
22744
  alphaTestQueue.render(camera, exports.Layer.Everything, exports.PipelineStage.ShadowCaster);
@@ -22809,7 +22849,7 @@ var /**
22809
22849
  var sceneShaderData = this._camera.scene.shaderData;
22810
22850
  sceneShaderData.setVector2(CascadedShadowCasterPass._lightShadowBiasProperty, this._shadowBias);
22811
22851
  sceneShaderData.setVector3(CascadedShadowCasterPass._lightDirectionProperty, light.direction);
22812
- context.applyVirtualCamera(virtualCamera);
22852
+ context.applyVirtualCamera(virtualCamera, true);
22813
22853
  };
22814
22854
  return CascadedShadowCasterPass;
22815
22855
  }(PipelinePass);
@@ -22998,19 +23038,25 @@ var /**
22998
23038
  var scene = camera.scene;
22999
23039
  var cullingResults = this._cullingResults;
23000
23040
  var sunlight = scene._lightManager._sunlight;
23041
+ var depthOnlyPass = this._depthOnlyPass;
23042
+ var depthPassEnabled = camera.depthTextureMode === exports.DepthTextureMode.PrePass && depthOnlyPass._supportDepthTexture;
23043
+ var rt2DEnabled = camera.renderTarget && cubeFace == undefined;
23001
23044
  camera.engine._spriteMaskManager.clear();
23002
23045
  if (scene.castShadows && sunlight && sunlight.shadowType !== exports.ShadowType.None) {
23003
23046
  this._cascadedShadowCaster.onRender(context);
23004
23047
  }
23005
23048
  cullingResults.reset();
23006
23049
  this._allSpriteMasks.length = 0;
23007
- context.applyVirtualCamera(camera._virtualCamera);
23008
- this._callRender(context);
23050
+ context.applyVirtualCamera(camera._virtualCamera, depthPassEnabled || rt2DEnabled);
23051
+ this._prepareRender(context);
23009
23052
  cullingResults.sort();
23010
- var depthOnlyPass = this._depthOnlyPass;
23011
- if (camera.depthTextureMode === exports.DepthTextureMode.PrePass && depthOnlyPass._supportDepthTexture) {
23053
+ if (depthPassEnabled) {
23012
23054
  depthOnlyPass.onConfig(camera);
23013
23055
  depthOnlyPass.onRender(context, cullingResults);
23056
+ if (!rt2DEnabled) {
23057
+ context.applyVirtualCamera(camera._virtualCamera, false);
23058
+ this._updateMVPShaderData(context);
23059
+ }
23014
23060
  } else {
23015
23061
  camera.shaderData.setTexture(exports.Camera._cameraDepthTextureProperty, camera.engine._whiteTexture2D);
23016
23062
  }
@@ -23127,9 +23173,9 @@ var /**
23127
23173
  (pass._renderState || material.renderState)._apply(engine, false, pass._renderStateDataMap, material.shaderData);
23128
23174
  rhi.drawPrimitive(mesh._primitive, mesh.subMesh, program);
23129
23175
  };
23130
- _proto._callRender = function _callRender(context) {
23131
- var engine = context.camera.engine;
23176
+ _proto._prepareRender = function _prepareRender(context) {
23132
23177
  var camera = context.camera;
23178
+ var engine = camera.engine;
23133
23179
  var renderers = camera.scene._componentsManager._renderers;
23134
23180
  var elements = renderers._elements;
23135
23181
  for(var i = renderers.length - 1; i >= 0; --i){
@@ -23148,6 +23194,15 @@ var /**
23148
23194
  renderer._prepareRender(context);
23149
23195
  }
23150
23196
  };
23197
+ _proto._updateMVPShaderData = function _updateMVPShaderData(context) {
23198
+ var camera = context.camera;
23199
+ var renderers = camera.scene._componentsManager._renderers;
23200
+ var elements = renderers._elements;
23201
+ for(var i = renderers.length - 1; i >= 0; --i){
23202
+ var renderer = elements[i];
23203
+ renderer._updateMVPShaderData(context, renderer.entity.transform.worldMatrix);
23204
+ }
23205
+ };
23151
23206
  _create_class(BasicRenderPipeline, [
23152
23207
  {
23153
23208
  key: "defaultRenderPass",
@@ -23219,8 +23274,6 @@ exports.Camera = (_Camera = /*#__PURE__*/ function(Component1) {
23219
23274
  _this._shaderData = new ShaderData(ShaderDataGroup.Camera);
23220
23275
  _this._isCustomViewMatrix = false;
23221
23276
  _this._isCustomProjectionMatrix = false;
23222
- _this._nearClipPlane = 0.1;
23223
- _this._farClipPlane = 100;
23224
23277
  _this._fieldOfView = 45;
23225
23278
  _this._orthographicSize = 10;
23226
23279
  _this._isProjectionDirty = true;
@@ -23502,7 +23555,7 @@ exports.Camera = (_Camera = /*#__PURE__*/ function(Component1) {
23502
23555
  shaderData.setVector3(exports.Camera._cameraForwardProperty, transform.worldForward);
23503
23556
  shaderData.setVector3(exports.Camera._cameraUpProperty, transform.worldUp);
23504
23557
  var depthBufferParams = this._depthBufferParams;
23505
- var farDivideNear = this._farClipPlane / this._nearClipPlane;
23558
+ var farDivideNear = this.farClipPlane / this.nearClipPlane;
23506
23559
  depthBufferParams.set(1.0 - farDivideNear, farDivideNear, 0, 0);
23507
23560
  shaderData.setVector4(exports.Camera._cameraDepthBufferParamsProperty, depthBufferParams);
23508
23561
  };
@@ -23543,10 +23596,10 @@ exports.Camera = (_Camera = /*#__PURE__*/ function(Component1) {
23543
23596
  get: /**
23544
23597
  * Near clip plane - the closest point to the camera when rendering occurs.
23545
23598
  */ function get() {
23546
- return this._nearClipPlane;
23599
+ return this._virtualCamera.nearClipPlane;
23547
23600
  },
23548
23601
  set: function set(value) {
23549
- this._nearClipPlane = value;
23602
+ this._virtualCamera.nearClipPlane = value;
23550
23603
  this._projectionMatrixChange();
23551
23604
  }
23552
23605
  },
@@ -23555,10 +23608,10 @@ exports.Camera = (_Camera = /*#__PURE__*/ function(Component1) {
23555
23608
  get: /**
23556
23609
  * Far clip plane - the furthest point to the camera when rendering occurs.
23557
23610
  */ function get() {
23558
- return this._farClipPlane;
23611
+ return this._virtualCamera.farClipPlane;
23559
23612
  },
23560
23613
  set: function set(value) {
23561
- this._farClipPlane = value;
23614
+ this._virtualCamera.farClipPlane = value;
23562
23615
  this._projectionMatrixChange();
23563
23616
  }
23564
23617
  },
@@ -23694,11 +23747,11 @@ exports.Camera = (_Camera = /*#__PURE__*/ function(Component1) {
23694
23747
  this._isProjectionDirty = false;
23695
23748
  var aspectRatio = this.aspectRatio;
23696
23749
  if (!virtualCamera.isOrthographic) {
23697
- engineMath.Matrix.perspective(engineMath.MathUtil.degreeToRadian(this._fieldOfView), aspectRatio, this._nearClipPlane, this._farClipPlane, projectionMatrix);
23750
+ engineMath.Matrix.perspective(engineMath.MathUtil.degreeToRadian(this._fieldOfView), aspectRatio, this.nearClipPlane, this.farClipPlane, projectionMatrix);
23698
23751
  } else {
23699
23752
  var width = this._orthographicSize * aspectRatio;
23700
23753
  var height = this._orthographicSize;
23701
- engineMath.Matrix.ortho(-width, width, -height, height, this._nearClipPlane, this._farClipPlane, projectionMatrix);
23754
+ engineMath.Matrix.ortho(-width, width, -height, height, this.nearClipPlane, this.farClipPlane, projectionMatrix);
23702
23755
  }
23703
23756
  return projectionMatrix;
23704
23757
  },
@@ -31326,6 +31379,7 @@ exports.Script = Script;
31326
31379
  exports.Shader = Shader;
31327
31380
  exports.ShaderData = ShaderData;
31328
31381
  exports.ShaderFactory = ShaderFactory;
31382
+ exports.ShaderLib = ShaderLib;
31329
31383
  exports.ShaderMacro = ShaderMacro;
31330
31384
  exports.ShaderMacroCollection = ShaderMacroCollection;
31331
31385
  exports.ShaderPass = ShaderPass;