rhodonite 0.8.0 → 0.8.3

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.
Files changed (45) hide show
  1. package/README.md +4 -4
  2. package/VERSION-FILE +1 -1
  3. package/dist/cjs/foundation/cameras/AbstractCameraController.d.ts +1 -1
  4. package/dist/cjs/foundation/cameras/OrbitCameraController.d.ts +4 -0
  5. package/dist/cjs/foundation/components/Light/LightComponent.d.ts +2 -2
  6. package/dist/cjs/foundation/components/MeshRenderer/MeshRendererComponent.d.ts +4 -4
  7. package/dist/cjs/foundation/components/WellKnownComponentTIDs.d.ts +14 -14
  8. package/dist/cjs/foundation/definitions/ShaderSemantics.d.ts +4 -0
  9. package/dist/cjs/foundation/helpers/MaterialHelper.d.ts +3 -1
  10. package/dist/cjs/foundation/materials/contents/CustomMaterialContent.d.ts +3 -1
  11. package/dist/cjs/foundation/misc/MiscUtil.d.ts +1 -1
  12. package/dist/cjs/foundation/misc/Result.d.ts +1 -0
  13. package/dist/cjs/foundation/renderer/Expression.d.ts +1 -0
  14. package/dist/cjs/foundation/renderer/Frame.d.ts +5 -1
  15. package/dist/cjs/foundation/renderer/RenderPass.d.ts +11 -0
  16. package/dist/cjs/foundation/textures/RenderTargetTexture.d.ts +1 -0
  17. package/dist/cjs/{index.js → index.cjs} +948 -594
  18. package/dist/cjs/pbr/main.d.ts +2 -2
  19. package/dist/cjs/types/glTF2ForOutput.d.ts +1 -0
  20. package/dist/cjs/webgl/WebGLResourceRepository.d.ts +4 -1
  21. package/dist/cjs/webgl/WebGLStrategyFastest.d.ts +2 -1
  22. package/dist/cjs/webgl/WebGLStrategyUniform.d.ts +2 -1
  23. package/dist/cjs/xr/WebXRInput.d.ts +1 -1
  24. package/dist/esm/foundation/cameras/AbstractCameraController.d.ts +1 -1
  25. package/dist/esm/foundation/cameras/OrbitCameraController.d.ts +4 -0
  26. package/dist/esm/foundation/components/Light/LightComponent.d.ts +2 -2
  27. package/dist/esm/foundation/components/MeshRenderer/MeshRendererComponent.d.ts +4 -4
  28. package/dist/esm/foundation/components/WellKnownComponentTIDs.d.ts +14 -14
  29. package/dist/esm/foundation/definitions/ShaderSemantics.d.ts +4 -0
  30. package/dist/esm/foundation/helpers/MaterialHelper.d.ts +3 -1
  31. package/dist/esm/foundation/materials/contents/CustomMaterialContent.d.ts +3 -1
  32. package/dist/esm/foundation/misc/MiscUtil.d.ts +1 -1
  33. package/dist/esm/foundation/misc/Result.d.ts +1 -0
  34. package/dist/esm/foundation/renderer/Expression.d.ts +1 -0
  35. package/dist/esm/foundation/renderer/Frame.d.ts +5 -1
  36. package/dist/esm/foundation/renderer/RenderPass.d.ts +11 -0
  37. package/dist/esm/foundation/textures/RenderTargetTexture.d.ts +1 -0
  38. package/dist/esm/{index.js → index.mjs} +944 -594
  39. package/dist/esm/pbr/main.d.ts +2 -2
  40. package/dist/esm/types/glTF2ForOutput.d.ts +1 -0
  41. package/dist/esm/webgl/WebGLResourceRepository.d.ts +4 -1
  42. package/dist/esm/webgl/WebGLStrategyFastest.d.ts +2 -1
  43. package/dist/esm/webgl/WebGLStrategyUniform.d.ts +2 -1
  44. package/dist/esm/xr/WebXRInput.d.ts +1 -1
  45. package/package.json +19 -7
package/README.md CHANGED
@@ -90,7 +90,7 @@ There are three package versions of Rhodonite: CommmonJS, ESModule and UMD.
90
90
 
91
91
  #### Using CommonJS package
92
92
 
93
- You need a bundler like Webpack to import the Rhodonite esm package directly.
93
+ You need a bundler (e.g. Webpack) to import the Rhodonite CommonJS package.
94
94
 
95
95
  ```typescript
96
96
  import Rn from 'rhodonite';
@@ -111,7 +111,7 @@ async function load() {
111
111
  }
112
112
  ```
113
113
 
114
- ### Using ESModule package
114
+ #### Using ESModule package
115
115
 
116
116
  You don't need any bundler.
117
117
 
@@ -121,7 +121,7 @@ You don't need any bundler.
121
121
 
122
122
  ```typescript
123
123
  // main.ts
124
- import Rn from 'rhodonite/dist/esm/index.js';
124
+ import Rn from 'rhodonite/dist/esm/index.mjs';
125
125
 
126
126
  async function load() {
127
127
  await Rn.System.init({
@@ -151,7 +151,7 @@ async function load() {
151
151
  }
152
152
  ```
153
153
 
154
- ### Using UMD package
154
+ #### Using UMD package
155
155
 
156
156
  See the last part of https://github.com/actnwit/RhodoniteTS/wiki/Install .
157
157
 
package/VERSION-FILE CHANGED
@@ -1,2 +1,2 @@
1
- v0.8.0-0-gd6d50e21-dirty
1
+ v0.8.3-0-gd9bf142b-dirty
2
2
  master
@@ -2,7 +2,7 @@ import { CameraComponent } from '../components/Camera/CameraComponent';
2
2
  import { ISceneGraphEntity } from '../helpers/EntityHelper';
3
3
  import { Vector3 } from '../math/Vector3';
4
4
  export declare abstract class AbstractCameraController {
5
- zNearLimitFactor: number;
5
+ zNearMax: number;
6
6
  zFarScalingFactor: number;
7
7
  autoCalculateZNearAndZFar: boolean;
8
8
  protected abstract __targetEntity?: ISceneGraphEntity;
@@ -8,6 +8,8 @@ export declare class OrbitCameraController extends AbstractCameraController impl
8
8
  scaleOfLengthCenterToCamera: number;
9
9
  moveSpeed: number;
10
10
  followTargetAABB: boolean;
11
+ private __fixedDolly;
12
+ private __fixedLengthOfCenterToEye;
11
13
  private __isMouseDown;
12
14
  private __lastMouseDownTimeStamp;
13
15
  private __lastMouseUpTimeStamp;
@@ -123,4 +125,6 @@ export declare class OrbitCameraController extends AbstractCameraController impl
123
125
  get isMouseDown(): boolean;
124
126
  get lastMouseDownTimeStamp(): number;
125
127
  get lastMouseUpTimeStamp(): number;
128
+ setFixedDollyTrue(lengthOfCenterToEye: number): void;
129
+ unsetFixedDolly(): void;
126
130
  }
@@ -10,8 +10,8 @@ export declare class LightComponent extends Component {
10
10
  private __intensity;
11
11
  private readonly __initialdirection;
12
12
  private __direction;
13
- spotExponent: number;
14
- spotCutoff: number;
13
+ innerConeAngle: number;
14
+ outerConeAngle: number;
15
15
  range: number;
16
16
  private __sceneGraphComponent?;
17
17
  private static __globalDataRepository;
@@ -19,16 +19,16 @@ export declare class MeshRendererComponent extends Component {
19
19
  rotationOfCubeMap: number;
20
20
  private static __webglRenderingStrategy?;
21
21
  private static __tmp_identityMatrix;
22
- private static __firstTransparentIndex;
23
- private static __lastTransparentIndex;
22
+ static _lastOpaqueIndex: number;
23
+ static _lastTransparentIndex: number;
24
+ static _firstTransparentSortKey: number;
25
+ static _lastTransparentSortKey: number;
24
26
  private static __manualTransparentSids?;
25
27
  _readyForRendering: boolean;
26
28
  static isViewFrustumCullingEnabled: boolean;
27
29
  static isDepthMaskTrueForTransparencies: boolean;
28
30
  constructor(entityUid: EntityUID, componentSid: ComponentSID, entityRepository: EntityRepository);
29
31
  static get componentTID(): ComponentTID;
30
- static get firstTransparentIndex(): number;
31
- static get lastTransparentIndex(): number;
32
32
  $create(): void;
33
33
  static common_$load({ processApproach, }: {
34
34
  processApproach: ProcessApproachEnum;
@@ -1,16 +1,16 @@
1
1
  export declare const WellKnownComponentTIDs: Readonly<{
2
- AnimationComponentTID: number;
3
- TransformComponentTID: number;
4
- SceneGraphComponentTID: number;
5
- MeshComponentTID: number;
6
- MeshRendererComponentTID: number;
7
- CameraControllerComponentTID: number;
8
- CameraComponentTID: number;
9
- LightComponentTID: number;
10
- SkeletalComponentTID: number;
11
- BlendShapeComponentTID: number;
12
- PhysicsComponentTID: number;
13
- SparkGearComponentTID: number;
14
- EffekseerComponentTID: number;
15
- maxWellKnownTidNumber: number;
2
+ AnimationComponentTID: 1;
3
+ TransformComponentTID: 2;
4
+ SceneGraphComponentTID: 3;
5
+ MeshComponentTID: 4;
6
+ MeshRendererComponentTID: 5;
7
+ CameraControllerComponentTID: 6;
8
+ CameraComponentTID: 7;
9
+ LightComponentTID: 8;
10
+ SkeletalComponentTID: 9;
11
+ BlendShapeComponentTID: 10;
12
+ PhysicsComponentTID: 11;
13
+ SparkGearComponentTID: 12;
14
+ EffekseerComponentTID: 13;
15
+ maxWellKnownTidNumber: 13;
16
16
  }>;
@@ -83,6 +83,10 @@ export declare const ShaderSemantics: Readonly<{
83
83
  ClearCoatRoughnessFactor: ShaderSemanticsEnum;
84
84
  ClearCoatRoughnessTexture: ShaderSemanticsEnum;
85
85
  ClearCoatNormalTexture: ShaderSemanticsEnum;
86
+ TransmissionFactor: ShaderSemanticsEnum;
87
+ TransmissionTexture: ShaderSemanticsEnum;
88
+ BackBufferTexture: ShaderSemanticsEnum;
89
+ BackBufferTextureSize: ShaderSemanticsEnum;
86
90
  fullSemanticStr: typeof fullSemanticStr;
87
91
  getShaderProperty: getShaderPropertyFunc;
88
92
  EntityUID: ShaderSemanticsEnum;
@@ -11,11 +11,13 @@ import { IMeshRendererEntityMethods } from '../components/MeshRenderer/IMeshRend
11
11
  declare function createMaterial(materialName: string, materialNode?: AbstractMaterialContent, maxInstancesNumber?: Count): Material;
12
12
  declare function recreateMaterial(materialName: string, materialNode?: AbstractMaterialContent, maxInstancesNumber?: Count): Material;
13
13
  declare function createEmptyMaterial(): Material;
14
- declare function createPbrUberMaterial({ additionalName, isMorphing, isSkinning, isLighting, useTangentAttribute, useNormalTexture, alphaMode, maxInstancesNumber, }?: {
14
+ declare function createPbrUberMaterial({ additionalName, isMorphing, isSkinning, isLighting, isClearCoat, isTransmission, useTangentAttribute, useNormalTexture, alphaMode, maxInstancesNumber, }?: {
15
15
  additionalName?: string | undefined;
16
16
  isMorphing?: boolean | undefined;
17
17
  isSkinning?: boolean | undefined;
18
18
  isLighting?: boolean | undefined;
19
+ isClearCoat?: boolean | undefined;
20
+ isTransmission?: boolean | undefined;
19
21
  useTangentAttribute?: boolean | undefined;
20
22
  useNormalTexture?: boolean | undefined;
21
23
  alphaMode?: import("..").EnumIO | undefined;
@@ -5,11 +5,13 @@ import { AlphaModeEnum } from '../../definitions/AlphaMode';
5
5
  import { RenderingArg } from '../../../webgl/types/CommonTypes';
6
6
  import { ShaderSemanticsInfo } from '../../definitions/ShaderSemanticsInfo';
7
7
  export declare class CustomMaterialContent extends AbstractMaterialContent {
8
- constructor({ name, isMorphing, isSkinning, isLighting, alphaMode, useTangentAttribute, useNormalTexture, vertexShader, pixelShader, additionalShaderSemanticInfo, }: {
8
+ constructor({ name, isMorphing, isSkinning, isLighting, isClearCoat, isTransmission, alphaMode, useTangentAttribute, useNormalTexture, vertexShader, pixelShader, additionalShaderSemanticInfo, }: {
9
9
  name: string;
10
10
  isMorphing: boolean;
11
11
  isSkinning: boolean;
12
12
  isLighting: boolean;
13
+ isClearCoat?: boolean;
14
+ isTransmission?: boolean;
13
15
  alphaMode: AlphaModeEnum;
14
16
  useTangentAttribute: boolean;
15
17
  useNormalTexture: boolean;
@@ -41,7 +41,7 @@ export declare const MiscUtil: Readonly<{
41
41
  isObject: (o: any) => boolean;
42
42
  fillTemplate: (templateString: string, templateVars: string) => any;
43
43
  isNode: () => boolean;
44
- concatArrayBuffers: (segments: ArrayBuffer[], sizes: Byte[], offsets: Byte[], finalSize?: number | undefined) => ArrayBufferLike;
44
+ concatArrayBuffers: (segments: ArrayBuffer[], sizes: Byte[], offsets: Byte[], finalSize?: Byte) => ArrayBufferLike;
45
45
  concatArrayBuffers2: ({ finalSize, srcs, srcsOffset, srcsCopySize, }: {
46
46
  finalSize: Byte;
47
47
  srcs: ArrayBuffer[];
@@ -50,6 +50,7 @@ export declare class Ok<T, ErrObj> extends Result<T, ErrObj> implements IResult<
50
50
  * a class indicating that the result is Error (Failed).
51
51
  */
52
52
  export declare class Err<T, ErrObj> extends Result<T, ErrObj> implements IResult<T, ErrObj> {
53
+ private __rnException;
53
54
  constructor(val: RnError<ErrObj>);
54
55
  then(f: (value: never) => void): void;
55
56
  catch(f: (value: RnError<ErrObj>) => void): Finalizer;
@@ -7,6 +7,7 @@ import { RenderPass } from './RenderPass';
7
7
  export declare class Expression extends RnObject {
8
8
  private __renderPasses;
9
9
  constructor();
10
+ clone(): Expression;
10
11
  /**
11
12
  * Add render passes to the end of this expression.
12
13
  */
@@ -13,7 +13,10 @@ declare type RenderPassIndex = number;
13
13
  */
14
14
  export declare class Frame extends RnObject {
15
15
  private __expressions;
16
- private __expressionMap;
16
+ static readonly FrameBuffer = "FrameBuffer";
17
+ static readonly ResolveFrameBuffer = "ResolveFrameBuffer";
18
+ static readonly ResolveFrameBuffer2 = "ResolveFrameBuffer2";
19
+ private __expressionQueries;
17
20
  constructor();
18
21
  /**
19
22
  * Add render passes to the end of this expression.
@@ -42,6 +45,7 @@ export declare class Frame extends RnObject {
42
45
  instance?: RenderPass;
43
46
  }>;
44
47
  colorAttachmentIndex: ColorAttachmentIndex;
48
+ framebufferType: 'FrameBuffer' | 'ResolveFrameBuffer' | 'ResolveFrameBuffer2';
45
49
  }): Promise<RenderTargetTexture>;
46
50
  /**
47
51
  *
@@ -10,6 +10,7 @@ import { MutableVector4 } from '../math/MutableVector4';
10
10
  import { IVector4 } from '../math/IVector';
11
11
  import { ISceneGraphEntity, IMeshEntity } from '../helpers/EntityHelper';
12
12
  import { CameraComponent } from '../components/Camera/CameraComponent';
13
+ import { RenderBufferTargetEnum } from '../definitions';
13
14
  /**
14
15
  * A render pass is a collection of the resources which is used in rendering process.
15
16
  */
@@ -20,6 +21,7 @@ export declare class RenderPass extends RnObject {
20
21
  private __meshComponents?;
21
22
  private __frameBuffer?;
22
23
  private __resolveFrameBuffer?;
24
+ private __resolveFrameBuffer2?;
23
25
  private __viewport?;
24
26
  toClearColorBuffer: boolean;
25
27
  toClearDepthBuffer: boolean;
@@ -35,9 +37,13 @@ export declare class RenderPass extends RnObject {
35
37
  private __webglRenderingStrategy?;
36
38
  isVrRendering: boolean;
37
39
  isOutputForVr: boolean;
40
+ toRenderOpaquePrimitives: boolean;
41
+ toRenderTransparentPrimitives: boolean;
42
+ __renderTargetColorAttachments?: RenderBufferTargetEnum[];
38
43
  private __preRenderFunc?;
39
44
  private static __tmp_Vector4_0;
40
45
  constructor();
46
+ clone(): RenderPass;
41
47
  setPreRenderFunction(func: Function): void;
42
48
  unsetPreRenderFunction(): void;
43
49
  doPreRender(): void;
@@ -73,6 +79,8 @@ export declare class RenderPass extends RnObject {
73
79
  * @param framebuffer A framebuffer
74
80
  */
75
81
  setFramebuffer(framebuffer: FrameBuffer): void;
82
+ setRenderTargetColorAttachments(indeces?: RenderBufferTargetEnum[]): void;
83
+ getRenderTargetColorAttachments(): RenderBufferTargetEnum[] | undefined;
76
84
  /**
77
85
  * Gets the framebuffer if this render pass has the target framebuffer.
78
86
  * @return A framebuffer
@@ -94,7 +102,10 @@ export declare class RenderPass extends RnObject {
94
102
  getViewport(): MutableVector4 | undefined;
95
103
  setResolveFramebuffer(framebuffer: FrameBuffer): void;
96
104
  getResolveFramebuffer(): FrameBuffer | undefined;
105
+ setResolveFramebuffer2(framebuffer: FrameBuffer): void;
106
+ getResolveFramebuffer2(): FrameBuffer | undefined;
97
107
  copyFramebufferToResolveFramebuffer(): void;
108
+ copyFramebufferToResolveFramebuffer2(): void;
98
109
  private __setupMaterial;
99
110
  /**
100
111
  * Sets a material for the primitive on this render pass.
@@ -36,4 +36,5 @@ export declare class RenderTargetTexture extends AbstractTexture implements IRen
36
36
  * @returns Pixel Value in Vector4
37
37
  */
38
38
  getPixelValueAt(x: Index, y: Index, argByteArray?: Uint8Array): Vector4;
39
+ generateMipmap(): void;
39
40
  }