@quake2ts/engine 0.0.739 → 0.0.741
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/browser/index.global.js +1 -1
- package/dist/browser/index.global.js.map +1 -1
- package/dist/cjs/index.cjs +1 -1
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/render/interface.d.ts +8 -2
- package/dist/types/render/interface.d.ts.map +1 -1
- package/dist/types/render/renderer.d.ts +2 -3
- package/dist/types/render/renderer.d.ts.map +1 -1
- package/dist/types/render/webgpu/frame.d.ts +9 -0
- package/dist/types/render/webgpu/frame.d.ts.map +1 -1
- package/dist/types/render/webgpu/pipelines/sprite.d.ts +5 -0
- package/dist/types/render/webgpu/pipelines/sprite.d.ts.map +1 -1
- package/dist/types/render/webgpu/renderer.d.ts +51 -6
- package/dist/types/render/webgpu/renderer.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -4,7 +4,7 @@ import { CollisionVisRenderer } from './collisionVis.js';
|
|
|
4
4
|
import { DebugRenderer } from './debug.js';
|
|
5
5
|
import { ParticleSystem } from './particleSystem.js';
|
|
6
6
|
import { MemoryUsage } from './types.js';
|
|
7
|
-
import { Texture2D } from './resources.js';
|
|
7
|
+
import { Texture2D as WebGLTexture2D } from './resources.js';
|
|
8
8
|
import { PreparedTexture } from '../assets/texture.js';
|
|
9
9
|
import { DebugMode } from './debugMode.js';
|
|
10
10
|
import { Md2Model } from '../assets/md2.js';
|
|
@@ -12,7 +12,13 @@ import { Md3Model } from '../assets/md3.js';
|
|
|
12
12
|
import { InstanceData } from './instancing.js';
|
|
13
13
|
import { RenderOptions } from './options.js';
|
|
14
14
|
import { RenderStatistics } from './gpuProfiler.js';
|
|
15
|
-
export type Pic =
|
|
15
|
+
export type Pic = WebGLTexture2D | {
|
|
16
|
+
readonly width: number;
|
|
17
|
+
readonly height: number;
|
|
18
|
+
readonly texture?: GPUTexture;
|
|
19
|
+
upload?: (data: BufferSource, options?: any) => void;
|
|
20
|
+
destroy?: () => void;
|
|
21
|
+
};
|
|
16
22
|
export interface IRenderer {
|
|
17
23
|
width: number;
|
|
18
24
|
height: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/render/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAoB,MAAM,YAAY,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../src/render/interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
export type Pic = Texture2D;
|
|
1
|
+
import { IRenderer, Pic } from './interface.js';
|
|
2
|
+
export type { Pic };
|
|
4
3
|
export interface Renderer extends IRenderer {
|
|
5
4
|
setAreaPortalState(portalNum: number, open: boolean): void;
|
|
6
5
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/render/renderer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../src/render/renderer.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,gBAAgB,CAAC;AAGhD,YAAY,EAAE,GAAG,EAAE,CAAC;AAMpB,MAAM,WAAW,QAAS,SAAQ,SAAS;IACvC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;CAC9D;AAiBD,eAAO,MAAM,cAAc,GACvB,IAAI,sBAAsB,KAC3B,QA26BF,CAAC"}
|
|
@@ -46,6 +46,7 @@ export declare class FrameRenderer {
|
|
|
46
46
|
private lastWidth;
|
|
47
47
|
private lastHeight;
|
|
48
48
|
private lastFrameTime;
|
|
49
|
+
private currentFrameContext;
|
|
49
50
|
constructor(context: WebGPUContextState, pipelines: {
|
|
50
51
|
sprite: SpriteRenderer;
|
|
51
52
|
});
|
|
@@ -53,6 +54,14 @@ export declare class FrameRenderer {
|
|
|
53
54
|
private ensureCopyTexture;
|
|
54
55
|
ensureHeadlessTarget(width: number, height: number): GPUTextureView;
|
|
55
56
|
beginFrame(): FrameContext;
|
|
57
|
+
/**
|
|
58
|
+
* Begin 2D rendering pass. Called by WebGPURenderer.begin2D()
|
|
59
|
+
*/
|
|
60
|
+
begin2DPass(): void;
|
|
61
|
+
/**
|
|
62
|
+
* End 2D rendering pass. Called by WebGPURenderer.end2D()
|
|
63
|
+
*/
|
|
64
|
+
end2DPass(): void;
|
|
56
65
|
renderFrame(options: FrameRenderOptions): FrameRenderStats;
|
|
57
66
|
}
|
|
58
67
|
//# sourceMappingURL=frame.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../../src/render/webgpu/frame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,eAAe,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,iBAAiB,CAAC;IAClC,YAAY,EAAE,cAAc,CAAC;IAC7B,YAAY,EAAE,cAAc,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../../../../src/render/webgpu/frame.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAIlD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,cAAc,EAAE,OAAO,CAAC;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,eAAe,CAAC;AAE9E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC3D,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACxC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChE,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,CAAC;IACvC,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IAEjC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CAChC;AAED,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,cAAc,EAAE,iBAAiB,CAAC;IAClC,YAAY,EAAE,cAAc,CAAC;IAC7B,YAAY,EAAE,cAAc,CAAC;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,aAAa;IActB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,SAAS;IAdnB,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,WAAW,CAA2B;IAEvC,cAAc,EAAE,UAAU,GAAG,IAAI,CAAQ;IAEhD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,UAAU,CAAK;IACvB,OAAO,CAAC,aAAa,CAAK;IAG1B,OAAO,CAAC,mBAAmB,CAA6B;gBAG9C,OAAO,EAAE,kBAAkB,EAC3B,SAAS,EAAE;QACjB,MAAM,EAAE,cAAc,CAAC;KAExB;IAGH,OAAO,CAAC,kBAAkB;IA4B1B,OAAO,CAAC,iBAAiB;IAmBlB,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,cAAc;IAoB1E,UAAU,IAAI,YAAY;IAyB1B;;OAEG;IACH,WAAW,IAAI,IAAI;IAUnB;;OAEG;IACH,SAAS,IAAI,IAAI;IAIjB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,gBAAgB;CAmH3D"}
|
|
@@ -26,6 +26,11 @@ export declare class SpriteRenderer {
|
|
|
26
26
|
drawSolidRect(x: number, y: number, w: number, h: number, color: [number, number, number, number]): void;
|
|
27
27
|
flush(): void;
|
|
28
28
|
end(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Check if sprite renderer is currently in an active render pass
|
|
31
|
+
* Ref: Defensive check to prevent GPU resource leaks
|
|
32
|
+
*/
|
|
33
|
+
get isActive(): boolean;
|
|
29
34
|
destroy(): void;
|
|
30
35
|
}
|
|
31
36
|
//# sourceMappingURL=sprite.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/render/webgpu/pipelines/sprite.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAezB,qBAAa,cAAc;IAwBvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAxBhB,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,aAAa,CAAiB;IAEtC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,sBAAsB,CAA4C;IAC1E,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,gBAAgB,CAAe;IAGvC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,YAAY,CAA2B;IAE/C,OAAO,CAAC,iBAAiB,CAAmC;gBAGlD,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB;IA0JlC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAOlD,KAAK,CAAC,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,GAAG,IAAI;IAY5E,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,mBAAmB,CAA+B;IAE1D,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAC9D,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAC9B,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAgB,GAAG,IAAI;IAuE9E,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAexG,KAAK,IAAI,IAAI;IA2Db,GAAG,IAAI,IAAI;IAMX,OAAO,IAAI,IAAI;CAKhB"}
|
|
1
|
+
{"version":3,"file":"sprite.d.ts","sourceRoot":"","sources":["../../../../../src/render/webgpu/pipelines/sprite.ts"],"names":[],"mappings":"AACA,OAAO,EAQL,SAAS,EAGV,MAAM,iBAAiB,CAAC;AAezB,qBAAa,cAAc;IAwBvB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;IAxBhB,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,aAAa,CAAiB;IAEtC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,gBAAgB,CAAY;IACpC,OAAO,CAAC,sBAAsB,CAA4C;IAC1E,OAAO,CAAC,cAAc,CAAU;IAEhC,OAAO,CAAC,gBAAgB,CAAe;IAGvC,OAAO,CAAC,UAAU,CAAe;IACjC,OAAO,CAAC,kBAAkB,CAAa;IACvC,OAAO,CAAC,iBAAiB,CAAa;IACtC,OAAO,CAAC,cAAc,CAA0B;IAChD,OAAO,CAAC,YAAY,CAA2B;IAE/C,OAAO,CAAC,iBAAiB,CAAmC;gBAGlD,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,gBAAgB;IA0JlC,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAOlD,KAAK,CAAC,cAAc,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,GAAG,IAAI;IAY5E,OAAO,CAAC,cAAc,CAAkC;IACxD,OAAO,CAAC,mBAAmB,CAA+B;IAE1D,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAC9D,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAC9B,KAAK,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAgB,GAAG,IAAI;IAuE9E,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI;IAexG,KAAK,IAAI,IAAI;IA2Db,GAAG,IAAI,IAAI;IAMX;;;OAGG;IACH,IAAI,QAAQ,IAAI,OAAO,CAEtB;IAED,OAAO,IAAI,IAAI;CAKhB"}
|
|
@@ -1,12 +1,22 @@
|
|
|
1
|
-
import { FrameRenderer, FrameRenderOptions
|
|
1
|
+
import { FrameRenderer, FrameRenderOptions } from './frame.js';
|
|
2
2
|
import { SpriteRenderer } from './pipelines/sprite.js';
|
|
3
3
|
import { WebGPUContextOptions, WebGPUContextState } from './context.js';
|
|
4
|
-
|
|
4
|
+
import { IRenderer, Pic } from '../interface.js';
|
|
5
|
+
import { PreparedTexture } from '../../assets/texture.js';
|
|
6
|
+
import { RenderableEntity } from '../scene.js';
|
|
7
|
+
import { CollisionVisRenderer } from '../collisionVis.js';
|
|
8
|
+
import { DebugRenderer } from '../debug.js';
|
|
9
|
+
import { ParticleSystem } from '../particleSystem.js';
|
|
10
|
+
import { MemoryUsage } from '../types.js';
|
|
11
|
+
import { RenderOptions } from '../options.js';
|
|
12
|
+
import { DebugMode } from '../debugMode.js';
|
|
13
|
+
import { Md2Model } from '../../assets/md2.js';
|
|
14
|
+
import { Md3Model } from '../../assets/md3.js';
|
|
15
|
+
import { InstanceData } from '../instancing.js';
|
|
16
|
+
import { RenderStatistics } from '../gpuProfiler.js';
|
|
17
|
+
export interface WebGPURenderer extends IRenderer {
|
|
5
18
|
readonly type: 'webgpu';
|
|
6
19
|
readonly device: GPUDevice;
|
|
7
|
-
renderFrame(options: FrameRenderOptions): FrameRenderStats;
|
|
8
|
-
resize(width: number, height: number): void;
|
|
9
|
-
destroy(): void;
|
|
10
20
|
readonly pipelines: {
|
|
11
21
|
readonly sprite: SpriteRenderer;
|
|
12
22
|
};
|
|
@@ -18,12 +28,47 @@ export declare class WebGPURendererImpl implements WebGPURenderer {
|
|
|
18
28
|
sprite: SpriteRenderer;
|
|
19
29
|
};
|
|
20
30
|
readonly type = "webgpu";
|
|
31
|
+
private picCache;
|
|
32
|
+
private whiteTexture;
|
|
33
|
+
private font;
|
|
34
|
+
private is2DActive;
|
|
35
|
+
readonly collisionVis: CollisionVisRenderer;
|
|
36
|
+
readonly debug: DebugRenderer;
|
|
37
|
+
readonly particleSystem: ParticleSystem;
|
|
21
38
|
constructor(context: WebGPUContextState, frameRenderer: FrameRenderer, pipelines: {
|
|
22
39
|
sprite: SpriteRenderer;
|
|
23
40
|
});
|
|
24
41
|
get device(): GPUDevice;
|
|
25
|
-
|
|
42
|
+
get width(): number;
|
|
43
|
+
get height(): number;
|
|
44
|
+
renderFrame(options: FrameRenderOptions, entities?: readonly RenderableEntity[], renderOptions?: RenderOptions): void;
|
|
45
|
+
registerPic(name: string, data: ArrayBuffer): Promise<Pic>;
|
|
46
|
+
registerTexture(name: string, texture: PreparedTexture): Pic;
|
|
47
|
+
begin2D(): void;
|
|
48
|
+
end2D(): void;
|
|
49
|
+
drawPic(x: number, y: number, pic: Pic, color?: [number, number, number, number]): void;
|
|
50
|
+
drawfillRect(x: number, y: number, width: number, height: number, color: [number, number, number, number]): void;
|
|
51
|
+
drawString(x: number, y: number, text: string, color?: [number, number, number, number]): void;
|
|
52
|
+
drawCenterString(y: number, text: string): void;
|
|
53
|
+
setEntityHighlight(entityId: number, color: [number, number, number, number]): void;
|
|
54
|
+
clearEntityHighlight(entityId: number): void;
|
|
55
|
+
highlightSurface(faceIndex: number, color: [number, number, number, number]): void;
|
|
56
|
+
removeSurfaceHighlight(faceIndex: number): void;
|
|
57
|
+
setDebugMode(mode: DebugMode): void;
|
|
58
|
+
setBrightness(value: number): void;
|
|
59
|
+
setGamma(value: number): void;
|
|
60
|
+
setFullbright(enabled: boolean): void;
|
|
61
|
+
setAmbient(value: number): void;
|
|
62
|
+
setLightStyle(index: number, pattern: string | null): void;
|
|
63
|
+
setUnderwaterWarp(enabled: boolean): void;
|
|
64
|
+
setBloom(enabled: boolean): void;
|
|
65
|
+
setBloomIntensity(value: number): void;
|
|
66
|
+
setLodBias(bias: number): void;
|
|
67
|
+
renderInstanced(model: Md2Model | Md3Model, instances: InstanceData[]): void;
|
|
68
|
+
getPerformanceReport(): RenderStatistics;
|
|
69
|
+
getMemoryUsage(): MemoryUsage;
|
|
26
70
|
resize(width: number, height: number): void;
|
|
71
|
+
dispose(): void;
|
|
27
72
|
destroy(): void;
|
|
28
73
|
}
|
|
29
74
|
export declare function createWebGPURenderer(canvas?: HTMLCanvasElement, options?: WebGPUContextOptions): Promise<WebGPURenderer>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/render/webgpu/renderer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,kBAAkB,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../src/render/webgpu/renderer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quake2ts/engine",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.741",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/cjs/index.cjs",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
},
|
|
31
31
|
"peerDependencies": {
|
|
32
32
|
"gl-matrix": "^3.4.4",
|
|
33
|
-
"@quake2ts/shared": "0.0.
|
|
33
|
+
"@quake2ts/shared": "0.0.741"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@wasm-audio-decoders/ogg-vorbis": "^0.1.20"
|
|
@@ -46,9 +46,9 @@
|
|
|
46
46
|
"tsup": "^8.1.0",
|
|
47
47
|
"vitest": "^1.5.3",
|
|
48
48
|
"webgpu": "^0.3.8",
|
|
49
|
-
"@quake2ts/shared": "0.0.
|
|
50
|
-
"@quake2ts/game": "0.0.
|
|
51
|
-
"@quake2ts/test-utils": "^0.0.
|
|
49
|
+
"@quake2ts/shared": "0.0.741",
|
|
50
|
+
"@quake2ts/game": "0.0.741",
|
|
51
|
+
"@quake2ts/test-utils": "^0.0.741"
|
|
52
52
|
},
|
|
53
53
|
"scripts": {
|
|
54
54
|
"build": "pnpm run build:types && pnpm run build:bundles",
|