@predy-js/render-interface 0.1.64-beta.10 → 0.1.64-beta.11

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/statistic.js CHANGED
@@ -2,7 +2,7 @@
2
2
  * Name: @predy-js/render-interface
3
3
  * Description: undefined
4
4
  * Author: undefined
5
- * Version: v0.1.64-beta.10
5
+ * Version: v0.1.64-beta.11
6
6
  */
7
7
 
8
8
  // https://github.com/greggman/webgl-memory/blob/main/src/texture-utils.js
@@ -2,6 +2,10 @@ import type { GPUBuffer } from './GPUBuffer';
2
2
  import type { IGPUResource, IGPURenderer } from './IGPURenderer';
3
3
  import type { Immutable, TypedArray } from './type';
4
4
  import type { GPURenderer } from './Renderer';
5
+ export interface GeometryBufferLayout {
6
+ index: number;
7
+ name: string;
8
+ }
5
9
  /**
6
10
  * Attribute binding information,
7
11
  * size:attribute size. the size attribute of vec4|vec3|vec2 is 4|3|2
@@ -61,6 +65,7 @@ export interface GeometryOptions {
61
65
  attributes: {
62
66
  [key: string]: Attribute;
63
67
  };
68
+ bufferLayouts?: GeometryBufferLayout[];
64
69
  index?: {
65
70
  data: GeometryIndexData;
66
71
  releasable?: boolean;
@@ -1,3 +1,4 @@
1
+ import type { MaterialInternal } from './MaterialInternal';
1
2
  export declare abstract class AndGLContext {
2
3
  abstract isEnabled(param: GLenum): boolean;
3
4
  /**
@@ -15,4 +16,12 @@ export declare abstract class AndGLContext {
15
16
  * @param param
16
17
  */
17
18
  abstract getParameter_i1(param: GLenum): number;
19
+ abstract getParameter_f4(param: GLenum): [number, number, number, number];
20
+ abstract getParameter_f2(param: GLenum): [number, number];
21
+ /**
22
+ * 将Material的状态设置到GPU
23
+ * 这个方法会在Native端调用, 在RI中不会调用
24
+ * 为了Android 测试,会主动调用设置状态到GPU, IOS 暂不调用
25
+ */
26
+ abstract setupStates(mtl: MaterialInternal): void;
18
27
  }
@@ -1,14 +1,9 @@
1
1
  import type { AttributeWithType, GeometryOptions } from '../Geometry';
2
2
  import type { ResourceInternal } from './ResourceInternal';
3
3
  import type { GPUBufferInternal } from './GPUBufferInternal';
4
- interface GeometryBufferLayout {
5
- index: number;
6
- name: string;
7
- }
8
4
  export interface GeometryInternalOptions extends Omit<GeometryOptions, 'attributes' | 'index'> {
9
5
  attributes: Record<string, AttributeWithType>;
10
6
  buffers: Record<string, GPUBufferInternal>;
11
- bufferLayouts: GeometryBufferLayout[];
12
7
  indexBuffer?: GPUBufferInternal;
13
8
  indexBufferType?: IndexBufferType;
14
9
  }
@@ -38,4 +33,3 @@ export declare abstract class GeometryInternal implements ResourceInternal {
38
33
  */
39
34
  abstract destroy(): void;
40
35
  }
41
- export {};
@@ -0,0 +1,8 @@
1
+ import type { ImageBitmapCallback, ImageBitmapConstructor } from './ImageBitmapInternal';
2
+ export declare abstract class PredyNativeInternal {
3
+ abstract createImageBitmap(data: ArrayBuffer | string, //图片文件的数据
4
+ options: ImageBitmapConstructor, callback: ImageBitmapCallback): void;
5
+ }
6
+ declare global {
7
+ let predyNative: PredyNativeInternal;
8
+ }
@@ -0,0 +1,3 @@
1
+ export declare abstract class PredyNativeModule {
2
+ static install(callBack: (success: boolean, error?: Error) => void): void;
3
+ }
@@ -36,6 +36,9 @@ export declare abstract class RendererInternal implements ResourceInternal {
36
36
  readonly shaderLibrary: ShaderLibraryInternal;
37
37
  readonly width: number;
38
38
  readonly height: number;
39
+ /**
40
+ * 用于Android的GL上下文, 用于测试, 不会在RI中使用
41
+ */
39
42
  readonly gl?: AndGLContext;
40
43
  abstract destroy(): void;
41
44
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@predy-js/render-interface",
3
- "version": "0.1.64-beta.10",
3
+ "version": "0.1.64-beta.11",
4
4
  "license": "MIT",
5
5
  "module": "./dist/index.mjs",
6
6
  "main": "./dist/index.js",
package/types/Geometry.ts CHANGED
@@ -3,6 +3,11 @@ import type { IGPUResource, IGPURenderer } from './IGPURenderer';
3
3
  import type { Immutable, TypedArray } from './type';
4
4
  import type { GPURenderer } from './Renderer';
5
5
 
6
+ export interface GeometryBufferLayout {
7
+ index: number,
8
+ name: string,
9
+ }
10
+
6
11
  /**
7
12
  * Attribute binding information,
8
13
  * size:attribute size. the size attribute of vec4|vec3|vec2 is 4|3|2
@@ -81,6 +86,8 @@ export interface GeometryOptions {
81
86
 
82
87
  attributes: { [key: string]: Attribute },
83
88
 
89
+ bufferLayouts?: GeometryBufferLayout[],
90
+
84
91
  index?: { data: GeometryIndexData, releasable?: boolean },
85
92
 
86
93
  mode?: GeometryDrawMode,
@@ -90,6 +97,7 @@ export interface GeometryOptions {
90
97
  drawStart?: number,
91
98
 
92
99
  bufferUsage?: GLenum,
100
+
93
101
  }
94
102
 
95
103
  /**
@@ -1,3 +1,4 @@
1
+ import type { MaterialInternal } from './MaterialInternal';
1
2
 
2
3
  export abstract class AndGLContext {
3
4
  abstract isEnabled (param: GLenum): boolean;
@@ -19,4 +20,15 @@ export abstract class AndGLContext {
19
20
  * @param param
20
21
  */
21
22
  abstract getParameter_i1 (param: GLenum): number;
23
+
24
+ abstract getParameter_f4 (param: GLenum): [number, number, number, number];
25
+
26
+ abstract getParameter_f2 (param: GLenum): [number, number];
27
+
28
+ /**
29
+ * 将Material的状态设置到GPU
30
+ * 这个方法会在Native端调用, 在RI中不会调用
31
+ * 为了Android 测试,会主动调用设置状态到GPU, IOS 暂不调用
32
+ */
33
+ abstract setupStates (mtl: MaterialInternal): void;
22
34
  }
@@ -2,14 +2,9 @@ import type { AttributeWithType, GeometryOptions } from '../Geometry';
2
2
  import type { ResourceInternal } from './ResourceInternal';
3
3
  import type { GPUBufferInternal } from './GPUBufferInternal';
4
4
 
5
- interface GeometryBufferLayout {
6
- index: number,
7
- name: string,
8
- }
9
5
  export interface GeometryInternalOptions extends Omit<GeometryOptions, 'attributes' | 'index'> {
10
6
  attributes: Record<string, AttributeWithType>,
11
7
  buffers: Record<string, GPUBufferInternal>,
12
- bufferLayouts: GeometryBufferLayout[],
13
8
  indexBuffer?: GPUBufferInternal,
14
9
  indexBufferType?: IndexBufferType,
15
10
  }
@@ -16,5 +16,6 @@ export abstract class MaterialInternal implements ResourceInternal {
16
16
 
17
17
  protected constructor (options: MaterialInternalOptions) {
18
18
  }
19
+
19
20
  abstract destroy (): void;
20
21
  }
@@ -0,0 +1,10 @@
1
+ import type { ImageBitmapCallback, ImageBitmapConstructor } from './ImageBitmapInternal';
2
+
3
+ export declare abstract class PredyNativeInternal {
4
+ abstract createImageBitmap (data: ArrayBuffer | string, //图片文件的数据
5
+ options: ImageBitmapConstructor, callback: ImageBitmapCallback): void;
6
+ }
7
+ // 给全局global 添加 predyNative: PredyNativeInternal
8
+ declare global {
9
+ let predyNative: PredyNativeInternal;
10
+ }
@@ -0,0 +1,4 @@
1
+
2
+ export declare abstract class PredyNativeModule {
3
+ static install (callBack: (success: boolean, error?: Error) => void): void;
4
+ }
@@ -42,6 +42,9 @@ export abstract class RendererInternal implements ResourceInternal {
42
42
  readonly shaderLibrary: ShaderLibraryInternal;
43
43
  readonly width: number;
44
44
  readonly height: number;
45
+ /**
46
+ * 用于Android的GL上下文, 用于测试, 不会在RI中使用
47
+ */
45
48
  readonly gl?: AndGLContext;
46
49
 
47
50
  abstract destroy (): void;