@predy-js/render-interface 0.1.60 → 0.1.61-beta.2

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.
@@ -0,0 +1,19 @@
1
+ import type { ShaderLibrary, Shader, ShaderCompileResult } from '../ShaderLibrary';
2
+
3
+ export abstract class ShaderLibraryInternal implements ShaderLibrary {
4
+
5
+ abstract readonly cacheIds: string[];
6
+
7
+ abstract getShaderResult (cacheId: string): ShaderCompileResult;
8
+
9
+ abstract addShader (shader: Shader): string;
10
+
11
+ abstract compileAllShaders (asyncCallback?: (results: ShaderCompileResult[]) => void): void;
12
+
13
+ abstract compileShader (shaderCacheId: string, asyncCallback?: (result: ShaderCompileResult) => void): ShaderCompileResult;
14
+
15
+ abstract deleteShader (cacheId: string): void ;
16
+
17
+ abstract destroy (): void;
18
+
19
+ }
@@ -0,0 +1,53 @@
1
+ import type { TextureFormatOptions, TextureConfigOptionsBase } from '../Texture';
2
+ import type { ResourceInternal } from './ResourceInternal';
3
+ import type { TypedArray } from '../type';
4
+ import type { ImageBitmapInternal } from './ImageBitmapInternal';
5
+
6
+ export interface TextureInternalOptions extends TextureFormatOptions, Omit<TextureConfigOptionsBase, 'keepImageSource'> {
7
+ target: WebGLRenderingContext['TEXTURE_CUBE_MAP'] | WebGLRenderingContext['TEXTURE_2D'],
8
+ }
9
+
10
+ export interface TextureInternalConstructOptions extends TextureInternalOptions {
11
+ width: number,
12
+ height: number,
13
+ image?: ImageBitmapInternal,
14
+ }
15
+
16
+ //todo cube supports
17
+ export abstract class TextureInternal implements ResourceInternal {
18
+ readonly isDestroyed: boolean;
19
+
20
+ readonly width: number;
21
+
22
+ readonly height: number;
23
+
24
+ readonly name: string;
25
+
26
+ readonly options: TextureInternalOptions;
27
+
28
+ protected constructor (options: TextureInternalConstructOptions) {
29
+ }
30
+
31
+ abstract resize (width: number, height: number): boolean;
32
+
33
+ abstract destroy (): void;
34
+
35
+ /**
36
+ * 上传整张解码后图片数据,数据尺寸必须和Texture尺寸定义相同
37
+ */
38
+ abstract update2DImageData (data: TypedArray, mipmapLevel?: number): void;
39
+
40
+ /**
41
+ * 上传压缩纹理数据
42
+ */
43
+
44
+ abstract update2DCompressedImage (data: TypedArray, mipmapLevel?: number): void;
45
+
46
+ /**
47
+ * imageBitmap的尺寸也必须和Texture相同
48
+ * @param image
49
+ * @param mipmapLevel
50
+ */
51
+ abstract update2DImage (image: ImageBitmapInternal, mipmapLevel?: number): void;
52
+
53
+ }
@@ -0,0 +1,12 @@
1
+ export * from './RendererInternal';
2
+ export * from './DataBlockInternal';
3
+ export * from './GeometryInternal';
4
+ export * from './GPUBufferInternal';
5
+ export * from './ImageBitmapInternal';
6
+ export * from './MaterialInternal';
7
+ export * from './MeshInternal';
8
+ export * from './RenderFrameInternal';
9
+ export * from './RenderPassInternal';
10
+ export * from './ResourceInternal';
11
+ export * from './ShaderLibraryInternal';
12
+ export * from './TextureInternal';
package/types/type.ts ADDED
@@ -0,0 +1,30 @@
1
+ export type Immutable<O> = O extends Record<any, any>
2
+
3
+ ? { readonly [key in keyof O]: Immutable<O[key]> }
4
+
5
+ : O extends Array<infer X>
6
+
7
+ ? ReadonlyArray<X>
8
+
9
+ : O;
10
+
11
+ export type vec4 = [x: number, y: number, z: number, w: number];
12
+ export type vec3 = [x: number, y: number, z: number];
13
+ export type vec2 = [x: number, y: number];
14
+ export type mat2 = [m11: number, m12: number, m21: number, m22: number];
15
+ export type mat3 = [
16
+ m11: number, m12: number, m13: number,
17
+ m21: number, m22: number, m23: number,
18
+ m31: number, m32: number, m33: number,
19
+ ];
20
+ export type mat4 = [
21
+ m11: number, m12: number, m13: number, m14: number,
22
+ m21: number, m22: number, m23: number, m24: number,
23
+ m31: number, m32: number, m33: number, m34: number,
24
+ m41: number, m42: number, m43: number, m44: number
25
+ ];
26
+ export type TypedArray =
27
+ Float32Array | Float64Array
28
+ | Uint8Array | Uint32Array | Uint16Array
29
+ | Int8Array | Int16Array | Int32Array;
30
+