@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.
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/dist/statistic.js +1 -1
- package/dist/types/ShaderLibrary.d.ts +4 -4
- package/package.json +3 -2
- package/types/Canvas.ts +20 -0
- package/types/GPUBuffer.ts +85 -0
- package/types/GPUCapability.ts +67 -0
- package/types/Geometry.ts +186 -0
- package/types/IGPURenderer.ts +18 -0
- package/types/Material.ts +190 -0
- package/types/Mesh.ts +82 -0
- package/types/RenderFrame.ts +70 -0
- package/types/RenderPass.ts +222 -0
- package/types/Renderer.ts +62 -0
- package/types/ShaderLibrary.ts +128 -0
- package/types/Texture.ts +236 -0
- package/types/constants.ts +7 -0
- package/types/index.ts +37 -0
- package/types/native/DataBlockInternal.ts +35 -0
- package/types/native/GPUBufferInternal.ts +46 -0
- package/types/native/GeometryInternal.ts +55 -0
- package/types/native/ImageBitmapInternal.ts +28 -0
- package/types/native/MaterialInternal.ts +31 -0
- package/types/native/MeshInternal.ts +25 -0
- package/types/native/RenderFrameInternal.ts +34 -0
- package/types/native/RenderPassInternal.ts +69 -0
- package/types/native/RendererInternal.ts +66 -0
- package/types/native/ResourceInternal.ts +12 -0
- package/types/native/ShaderLibraryInternal.ts +19 -0
- package/types/native/TextureInternal.ts +53 -0
- package/types/native/index.ts +12 -0
- package/types/type.ts +30 -0
@@ -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
|
+
|