@defold-typescript/types 0.39.0 → 0.41.0
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/api-availability.json +4024 -716
- package/api-migrations.json +27 -0
- package/api-signatures.json +18118 -10264
- package/api-targets.json +448 -11
- package/examples/translations.json +619 -148
- package/fixtures/messages_doc.json +96 -0
- package/generated/b2d.d.ts +680 -4
- package/generated/b2d_body.d.ts +29 -103
- package/generated/b2d_chain.d.ts +5 -6
- package/generated/b2d_fixture.d.ts +34 -38
- package/generated/b2d_joint.d.ts +503 -25
- package/generated/b2d_shape.d.ts +199 -14
- package/generated/b2d_world.d.ts +57 -63
- package/generated/buffer.d.ts +33 -29
- package/generated/builtin-messages.d.ts +7 -1
- package/generated/bullet3d.d.ts +91 -0
- package/generated/bullet3d_collision_object.d.ts +433 -0
- package/generated/bullet3d_constraint.d.ts +818 -0
- package/generated/bullet3d_rigid_body.d.ts +429 -0
- package/generated/bullet3d_shape.d.ts +123 -0
- package/generated/bullet3d_world.d.ts +492 -0
- package/generated/camera.d.ts +31 -34
- package/generated/collectionfactory.d.ts +26 -27
- package/generated/collectionproxy.d.ts +22 -6
- package/generated/compute.d.ts +12 -238
- package/generated/crash.d.ts +24 -10
- package/generated/editor-vm/http.d.ts +90 -7
- package/generated/editor-vm/image.d.ts +7 -7
- package/generated/editor-vm/json.d.ts +11 -0
- package/generated/editor-vm/localization.d.ts +7 -7
- package/generated/editor-vm/tilemap_tiles.d.ts +56 -10
- package/generated/editor-vm/zip.d.ts +28 -0
- package/generated/editor.d.ts +1496 -430
- package/generated/factory.d.ts +21 -25
- package/generated/font.d.ts +64 -22
- package/generated/go.d.ts +243 -186
- package/generated/graphics.d.ts +374 -84
- package/generated/gui.d.ts +282 -492
- package/generated/html5.d.ts +5 -3
- package/generated/http.d.ts +31 -36
- package/generated/image.d.ts +127 -85
- package/generated/json.d.ts +34 -16
- package/generated/kinds/gui-script.d.ts +8 -0
- package/generated/kinds/render-script.d.ts +8 -0
- package/generated/kinds/script.d.ts +8 -0
- package/generated/label.d.ts +77 -7
- package/generated/liveupdate.d.ts +13 -10
- package/generated/material.d.ts +312 -360
- package/generated/model.d.ts +72 -42
- package/generated/particlefx.d.ts +19 -28
- package/generated/physics.d.ts +378 -144
- package/generated/profiler.d.ts +14 -24
- package/generated/render.d.ts +294 -297
- package/generated/resource.d.ts +753 -641
- package/generated/socket.d.ts +131 -134
- package/generated/sound.d.ts +65 -34
- package/generated/sprite.d.ts +39 -17
- package/generated/sys.d.ts +237 -182
- package/generated/tilemap.d.ts +21 -16
- package/generated/timer.d.ts +34 -21
- package/generated/versions/defold-1.12.4/b2d_body.d.ts +0 -7
- package/generated/versions/defold-1.12.4/buffer.d.ts +18 -17
- package/generated/versions/defold-1.12.4/camera.d.ts +23 -23
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +21 -19
- package/generated/versions/defold-1.12.4/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.12.4/crash.d.ts +2 -2
- package/generated/versions/defold-1.12.4/factory.d.ts +15 -16
- package/generated/versions/defold-1.12.4/go.d.ts +15 -17
- package/generated/versions/defold-1.12.4/gui.d.ts +111 -193
- package/generated/versions/defold-1.12.4/html5.d.ts +4 -2
- package/generated/versions/defold-1.12.4/http.d.ts +4 -15
- package/generated/versions/defold-1.12.4/image.d.ts +38 -46
- package/generated/versions/defold-1.12.4/index.d.ts +2 -0
- package/generated/versions/defold-1.12.4/json.d.ts +10 -6
- package/generated/versions/defold-1.12.4/label.d.ts +2 -3
- package/generated/versions/defold-1.12.4/liveupdate.d.ts +5 -3
- package/generated/versions/defold-1.12.4/model.d.ts +34 -13
- package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
- package/generated/versions/defold-1.12.4/physics.d.ts +82 -78
- package/generated/versions/defold-1.12.4/profiler.d.ts +3 -6
- package/generated/versions/defold-1.12.4/render.d.ts +160 -132
- package/generated/versions/defold-1.12.4/resource.d.ts +212 -209
- package/generated/versions/defold-1.12.4/socket.d.ts +45 -61
- package/generated/versions/defold-1.12.4/sound.d.ts +11 -11
- package/generated/versions/defold-1.12.4/sprite.d.ts +24 -6
- package/generated/versions/defold-1.12.4/sys.d.ts +45 -68
- package/generated/versions/defold-1.12.4/tilemap.d.ts +18 -11
- package/generated/versions/defold-1.12.4/timer.d.ts +5 -3
- package/generated/versions/defold-1.12.4/vmath.d.ts +5 -26
- package/generated/versions/defold-1.12.4/window.d.ts +1 -16
- package/generated/versions/defold-1.13.0/b2d_body.d.ts +10 -55
- package/generated/versions/defold-1.13.0/b2d_fixture.d.ts +25 -25
- package/generated/versions/defold-1.13.0/b2d_shape.d.ts +188 -5
- package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
- package/generated/versions/defold-1.13.0/buffer.d.ts +18 -17
- package/generated/versions/defold-1.13.0/camera.d.ts +27 -27
- package/generated/versions/defold-1.13.0/collectionfactory.d.ts +21 -19
- package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.13.0/compute.d.ts +1 -70
- package/generated/versions/defold-1.13.0/crash.d.ts +2 -2
- package/generated/versions/defold-1.13.0/editor-vm/tilemap_tiles.d.ts +3 -3
- package/generated/versions/defold-1.13.0/editor.d.ts +34 -24
- package/generated/versions/defold-1.13.0/factory.d.ts +15 -16
- package/generated/versions/defold-1.13.0/go.d.ts +15 -17
- package/generated/versions/defold-1.13.0/graphics.d.ts +121 -37
- package/generated/versions/defold-1.13.0/gui.d.ts +111 -193
- package/generated/versions/defold-1.13.0/html5.d.ts +4 -2
- package/generated/versions/defold-1.13.0/http.d.ts +4 -15
- package/generated/versions/defold-1.13.0/image.d.ts +38 -46
- package/generated/versions/defold-1.13.0/index.d.ts +2 -0
- package/generated/versions/defold-1.13.0/json.d.ts +10 -6
- package/generated/versions/defold-1.13.0/label.d.ts +2 -3
- package/generated/versions/defold-1.13.0/liveupdate.d.ts +7 -5
- package/generated/versions/defold-1.13.0/material.d.ts +69 -107
- package/generated/versions/defold-1.13.0/model.d.ts +34 -13
- package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
- package/generated/versions/defold-1.13.0/physics.d.ts +82 -78
- package/generated/versions/defold-1.13.0/profiler.d.ts +3 -6
- package/generated/versions/defold-1.13.0/render.d.ts +160 -132
- package/generated/versions/defold-1.13.0/resource.d.ts +217 -210
- package/generated/versions/defold-1.13.0/socket.d.ts +45 -61
- package/generated/versions/defold-1.13.0/sound.d.ts +11 -11
- package/generated/versions/defold-1.13.0/sprite.d.ts +24 -6
- package/generated/versions/defold-1.13.0/sys.d.ts +45 -68
- package/generated/versions/defold-1.13.0/tilemap.d.ts +18 -11
- package/generated/versions/defold-1.13.0/timer.d.ts +5 -3
- package/generated/versions/defold-1.13.0/vmath.d.ts +5 -26
- package/generated/versions/defold-1.13.0/window.d.ts +1 -16
- package/generated/versions/defold-1.13.1/b2d.d.ts +33 -0
- package/generated/versions/defold-1.13.1/b2d_body.d.ts +636 -0
- package/generated/versions/defold-1.13.1/b2d_chain.d.ts +106 -0
- package/generated/versions/defold-1.13.1/b2d_fixture.d.ts +157 -0
- package/generated/versions/defold-1.13.1/b2d_joint.d.ts +823 -0
- package/generated/versions/defold-1.13.1/b2d_shape.d.ts +400 -0
- package/generated/versions/defold-1.13.1/b2d_world.d.ts +320 -0
- package/generated/versions/defold-1.13.1/buffer.d.ts +189 -0
- package/generated/versions/defold-1.13.1/camera.d.ts +303 -0
- package/generated/versions/defold-1.13.1/collectionfactory.d.ts +151 -0
- package/generated/versions/defold-1.13.1/collectionproxy.d.ts +93 -0
- package/generated/versions/defold-1.13.1/compute.d.ts +237 -0
- package/generated/versions/defold-1.13.1/crash.d.ts +143 -0
- package/generated/versions/defold-1.13.1/editor-vm/http.d.ts +56 -0
- package/generated/versions/defold-1.13.1/editor-vm/image.d.ts +48 -0
- package/generated/versions/defold-1.13.1/editor-vm/json.d.ts +10 -0
- package/generated/versions/defold-1.13.1/editor-vm/localization.d.ts +42 -0
- package/generated/versions/defold-1.13.1/editor-vm/tilemap_tiles.d.ts +80 -0
- package/generated/versions/defold-1.13.1/editor-vm/zip.d.ts +10 -0
- package/generated/versions/defold-1.13.1/editor-vm/zlib.d.ts +24 -0
- package/generated/versions/defold-1.13.1/editor.d.ts +1121 -0
- package/generated/versions/defold-1.13.1/factory.d.ts +124 -0
- package/generated/versions/defold-1.13.1/font.d.ts +81 -0
- package/generated/versions/defold-1.13.1/go.d.ts +1107 -0
- package/generated/versions/defold-1.13.1/graphics.d.ts +411 -0
- package/generated/versions/defold-1.13.1/gui.d.ts +2353 -0
- package/generated/versions/defold-1.13.1/html5.d.ts +55 -0
- package/generated/versions/defold-1.13.1/http.d.ts +77 -0
- package/generated/versions/defold-1.13.1/image.d.ts +131 -0
- package/generated/versions/defold-1.13.1/index.d.ts +57 -0
- package/generated/versions/defold-1.13.1/json.d.ts +80 -0
- package/generated/versions/defold-1.13.1/kinds/editor-script.d.ts +14 -0
- package/generated/versions/defold-1.13.1/label.d.ts +93 -0
- package/generated/versions/defold-1.13.1/liveupdate.d.ts +142 -0
- package/generated/versions/defold-1.13.1/material.d.ts +408 -0
- package/generated/versions/defold-1.13.1/model.d.ts +272 -0
- package/generated/versions/defold-1.13.1/msg.d.ts +10 -0
- package/generated/versions/defold-1.13.1/particlefx.d.ts +163 -0
- package/generated/versions/defold-1.13.1/physics.d.ts +559 -0
- package/generated/versions/defold-1.13.1/profiler.d.ts +235 -0
- package/generated/versions/defold-1.13.1/render.d.ts +1190 -0
- package/generated/versions/defold-1.13.1/resource.d.ts +1523 -0
- package/generated/versions/defold-1.13.1/socket.d.ts +784 -0
- package/generated/versions/defold-1.13.1/sound.d.ts +292 -0
- package/generated/versions/defold-1.13.1/sprite.d.ts +175 -0
- package/generated/versions/defold-1.13.1/sys.d.ts +678 -0
- package/generated/versions/defold-1.13.1/tilemap.d.ts +208 -0
- package/generated/versions/defold-1.13.1/timer.d.ts +125 -0
- package/generated/versions/defold-1.13.1/types.d.ts +61 -0
- package/generated/versions/defold-1.13.1/vmath.d.ts +774 -0
- package/generated/versions/defold-1.13.1/window.d.ts +183 -0
- package/generated/versions/defold-1.13.1/zlib.d.ts +41 -0
- package/generated/vmath.d.ts +6 -26
- package/generated/window.d.ts +71 -71
- package/identity-vocabulary.json +561 -0
- package/index.d.ts +8 -0
- package/package.json +13 -2
- package/scripts/example-store-io.ts +12 -1
- package/scripts/extension-goldens.ts +1 -0
- package/scripts/fidelity-baseline.json +146 -46
- package/scripts/generate-api-availability.ts +90 -12
- package/scripts/generate-api-signatures.ts +14 -3
- package/scripts/import-defold-release.ts +85 -24
- package/scripts/prose-constants.ts +157 -0
- package/scripts/regen.ts +396 -78
- package/scripts/shared-handle-methods.ts +53 -0
- package/scripts/signature-store-fs.ts +1 -0
- package/scripts/sync-api-docs.ts +16 -5
- package/src/api-availability.ts +0 -0
- package/src/api-doc.ts +201 -3
- package/src/api-identity.ts +252 -0
- package/src/component-properties.d.ts +33 -0
- package/src/core-types.ts +28 -3
- package/src/correction-pins.ts +49 -0
- package/src/custom-messages.d.ts +4 -3
- package/src/doc-comment.ts +139 -23
- package/src/doc-corrections.ts +108 -0
- package/src/editor-vm-globals.d.ts +5 -2
- package/src/emit-dts.ts +2474 -281
- package/src/emit-messages.ts +52 -0
- package/src/engine-globals.d.ts +2 -2
- package/src/example-store.ts +125 -14
- package/src/field-correction-coverage.ts +204 -0
- package/src/fnv1a.ts +16 -0
- package/src/go-overloads.d.ts +33 -13
- package/src/index-base-table.ts +145 -0
- package/src/index-slot-classifications.ts +588 -0
- package/src/index.ts +39 -2
- package/src/library-index-slot-classifications.ts +332 -0
- package/src/lifecycle.ts +61 -199
- package/src/luals-type-expr.ts +354 -0
- package/src/msg-overloads.d.ts +0 -1
- package/src/param-correction-provenance.ts +64 -0
- package/src/return-correction-provenance.ts +58 -16
- package/src/script-api.ts +3 -1
- package/src/sys-overloads.d.ts +48 -0
- package/src/vmath-overloads.d.ts +27 -1
- package/src/window-event-guard.d.ts +6 -9
- package/url-parameters.json +1 -2
|
@@ -6,13 +6,21 @@ declare global {
|
|
|
6
6
|
* Rendering API documentation
|
|
7
7
|
*/
|
|
8
8
|
namespace render {
|
|
9
|
-
type constant_buffer = Opaque<"constant_buffer"
|
|
9
|
+
type constant_buffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] };
|
|
10
10
|
type render_target = Opaque<"render_target">;
|
|
11
11
|
type texture = Opaque<"texture">;
|
|
12
12
|
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
13
|
+
/**
|
|
14
|
+
* The rendering context was lost. Rendering is paused and all graphics resources become invalid. Passed to the `render.set_listener` callback.
|
|
15
|
+
*/
|
|
16
|
+
const CONTEXT_EVENT_CONTEXT_LOST: number & { readonly __brand: "render.CONTEXT_EVENT_CONTEXT_LOST" };
|
|
17
|
+
/**
|
|
18
|
+
* The rendering context was restored. Rendering is still paused and graphics resources are still invalid, but can be reloaded. Passed to the `render.set_listener` callback.
|
|
19
|
+
*/
|
|
20
|
+
const CONTEXT_EVENT_CONTEXT_RESTORED: number & { readonly __brand: "render.CONTEXT_EVENT_CONTEXT_RESTORED" };
|
|
13
21
|
const FRUSTUM_PLANES_ALL: number & { readonly __brand: "render.FRUSTUM_PLANES_ALL" };
|
|
14
22
|
const FRUSTUM_PLANES_SIDES: number & { readonly __brand: "render.FRUSTUM_PLANES_SIDES" };
|
|
15
|
-
const RENDER_TARGET_DEFAULT:
|
|
23
|
+
const RENDER_TARGET_DEFAULT: undefined;
|
|
16
24
|
/**
|
|
17
25
|
* Depth sort far-to-near (default; good for transparent passes).
|
|
18
26
|
*/
|
|
@@ -25,6 +33,10 @@ declare global {
|
|
|
25
33
|
* No per-call sorting; draw entries in insertion order.
|
|
26
34
|
*/
|
|
27
35
|
const SORT_NONE: number & { readonly __brand: "render.SORT_NONE" };
|
|
36
|
+
/**
|
|
37
|
+
* Render target buffer flag that samples a depth or stencil buffer as a texture, for `render.render_target`.
|
|
38
|
+
*/
|
|
39
|
+
const TEXTURE_BIT: number & { readonly __brand: "render.TEXTURE_BIT" };
|
|
28
40
|
/**
|
|
29
41
|
* Clear buffers in the currently enabled render target with specified value. If the render target has been created with multiple
|
|
30
42
|
* color attachments, all buffers will be cleared with the same value.
|
|
@@ -32,9 +44,7 @@ declare global {
|
|
|
32
44
|
* @param buffers - table with keys specifying which buffers to clear and values set to clear values. Available keys are:
|
|
33
45
|
*
|
|
34
46
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
35
|
-
*
|
|
36
47
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
37
|
-
*
|
|
38
48
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
39
49
|
* @example
|
|
40
50
|
* ```ts
|
|
@@ -52,42 +62,44 @@ declare global {
|
|
|
52
62
|
*
|
|
53
63
|
* @returns new constant buffer
|
|
54
64
|
* @example
|
|
65
|
+
* Set a "tint" constant in a constant buffer in the render script:
|
|
55
66
|
* ```ts
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
67
|
+
* const constants = render.constant_buffer();
|
|
68
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
69
|
+
* ```
|
|
70
|
+
* @example
|
|
71
|
+
* Then use the constant buffer when drawing a predicate:
|
|
72
|
+
* ```ts
|
|
73
|
+
* function draw_tinted(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
74
|
+
* const constants = render.constant_buffer();
|
|
75
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
76
|
+
* render.draw(self.my_pred, { constants });
|
|
77
|
+
* }
|
|
78
|
+
* ```
|
|
79
|
+
* @example
|
|
80
|
+
* The constant buffer also supports array values by specifying constants in a table:
|
|
81
|
+
* ```ts
|
|
82
|
+
* const constants = render.constant_buffer();
|
|
83
|
+
* constants.light_colors = [];
|
|
84
|
+
* constants.light_colors[0] = vmath.vector4(1, 0, 0, 1);
|
|
85
|
+
* constants.light_colors[1] = vmath.vector4(0, 1, 0, 1);
|
|
86
|
+
* constants.light_colors[2] = vmath.vector4(0, 0, 1, 1);
|
|
87
|
+
* ```
|
|
88
|
+
* @example
|
|
89
|
+
* You can also create the table by passing the vectors directly when creating the table:
|
|
90
|
+
* ```ts
|
|
91
|
+
* const constants = render.constant_buffer();
|
|
92
|
+
* constants.light_colors = [
|
|
93
|
+
* vmath.vector4(1, 0, 0, 1),
|
|
94
|
+
* vmath.vector4(0, 1, 0, 1),
|
|
95
|
+
* vmath.vector4(0, 0, 1, 1),
|
|
96
|
+
* ];
|
|
97
|
+
*
|
|
98
|
+
* // Add more constants to the array
|
|
99
|
+
* constants.light_colors[3] = vmath.vector4(1, 1, 1, 1);
|
|
88
100
|
* ```
|
|
89
101
|
*/
|
|
90
|
-
function constant_buffer(): Opaque<"constant_buffer"
|
|
102
|
+
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] };
|
|
91
103
|
/**
|
|
92
104
|
* Deletes a render target created by a render script.
|
|
93
105
|
* You cannot delete a render target resource.
|
|
@@ -136,15 +148,10 @@ declare global {
|
|
|
136
148
|
* @param state - state to disable
|
|
137
149
|
*
|
|
138
150
|
* - `graphics.STATE_DEPTH_TEST`
|
|
139
|
-
*
|
|
140
151
|
* - `graphics.STATE_STENCIL_TEST`
|
|
141
|
-
*
|
|
142
152
|
* - `graphics.STATE_BLEND`
|
|
143
|
-
*
|
|
144
153
|
* - `graphics.STATE_ALPHA_TEST` ( not available on iOS and Android)
|
|
145
|
-
*
|
|
146
154
|
* - `graphics.STATE_CULL_FACE`
|
|
147
|
-
*
|
|
148
155
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
149
156
|
* @example
|
|
150
157
|
* ```ts
|
|
@@ -169,6 +176,18 @@ declare global {
|
|
|
169
176
|
* @example
|
|
170
177
|
* ```ts
|
|
171
178
|
* export default defineRenderScript({
|
|
179
|
+
* init() {
|
|
180
|
+
* const color_params = {
|
|
181
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
182
|
+
* width: render.get_window_width(),
|
|
183
|
+
* height: render.get_window_height(),
|
|
184
|
+
* };
|
|
185
|
+
* return {
|
|
186
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
187
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
188
|
+
* };
|
|
189
|
+
* },
|
|
190
|
+
*
|
|
172
191
|
* update(self, dt) {
|
|
173
192
|
* render.enable_texture(0, self.my_render_target, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
174
193
|
* // draw a predicate with the render target available as texture 0 in the predicate
|
|
@@ -180,7 +199,7 @@ declare global {
|
|
|
180
199
|
* });
|
|
181
200
|
* ```
|
|
182
201
|
*/
|
|
183
|
-
function disable_texture(binding: Opaque<"texture"> | string | Hash): void;
|
|
202
|
+
function disable_texture(binding: Opaque<"texture"> | string | Hash | number): void;
|
|
184
203
|
/**
|
|
185
204
|
* Dispatches the currently enabled compute program. The dispatch call takes three arguments x,y,z which constitutes
|
|
186
205
|
* the 'global working group' of the compute dispatch. Together with the 'local working group' specified in the compute shader
|
|
@@ -205,6 +224,7 @@ declare global {
|
|
|
205
224
|
* height: render.get_window_height(),
|
|
206
225
|
* };
|
|
207
226
|
* return {
|
|
227
|
+
* backing_texture: resource.get_texture_info("/main/backing.texturec").handle,
|
|
208
228
|
* scene_rt: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
209
229
|
* };
|
|
210
230
|
* },
|
|
@@ -217,14 +237,16 @@ declare global {
|
|
|
217
237
|
* render.set_compute();
|
|
218
238
|
* },
|
|
219
239
|
* });
|
|
220
|
-
*
|
|
221
|
-
*
|
|
240
|
+
* ```
|
|
241
|
+
* @example
|
|
242
|
+
* Dispatch a compute program with a constant buffer:
|
|
243
|
+
* ```ts
|
|
222
244
|
* const constants = render.constant_buffer();
|
|
223
245
|
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
224
246
|
* render.dispatch_compute(32, 32, 32, { constants });
|
|
225
247
|
* ```
|
|
226
248
|
*/
|
|
227
|
-
function dispatch_compute(x: number, y: number, z: number, options?: { constants?: Opaque<"constant_buffer"> }): void;
|
|
249
|
+
function dispatch_compute(x: number, y: number, z: number, options?: { constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] } }): void;
|
|
228
250
|
/**
|
|
229
251
|
* Draws all objects that match a specified predicate. An optional constant buffer can be
|
|
230
252
|
* provided to override the default constants. If no constants buffer is provided, a default
|
|
@@ -240,7 +262,6 @@ declare global {
|
|
|
240
262
|
* int Determines which sides of the frustum will be used. Default is render.FRUSTUM_PLANES_SIDES.
|
|
241
263
|
*
|
|
242
264
|
* - render.FRUSTUM_PLANES_SIDES : The left, right, top and bottom sides of the frustum.
|
|
243
|
-
*
|
|
244
265
|
* - render.FRUSTUM_PLANES_ALL : All 6 sides of the frustum.
|
|
245
266
|
*
|
|
246
267
|
* `constants`
|
|
@@ -258,24 +279,36 @@ declare global {
|
|
|
258
279
|
* update(self, dt) {
|
|
259
280
|
* // draw everything in the my_pred predicate
|
|
260
281
|
* render.draw(self.my_pred);
|
|
261
|
-
*
|
|
262
|
-
* // Draw predicate with constants:
|
|
263
|
-
* const constants = render.constant_buffer();
|
|
264
|
-
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
265
|
-
* render.draw(self.my_pred, { constants });
|
|
266
|
-
*
|
|
267
|
-
* // Draw with predicate and frustum culling (without near+far planes):
|
|
268
|
-
* const frustum = self.proj.mul(self.view);
|
|
269
|
-
* render.draw(self.my_pred, { frustum });
|
|
270
|
-
*
|
|
271
|
-
* // Draw with predicate and frustum culling (with near+far planes):
|
|
272
|
-
* const frustum2 = self.proj.mul(self.view);
|
|
273
|
-
* render.draw(self.my_pred, { frustum: frustum2, frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
274
282
|
* },
|
|
275
283
|
* });
|
|
276
284
|
* ```
|
|
285
|
+
* @example
|
|
286
|
+
* Draw predicate with constants:
|
|
287
|
+
* ```ts
|
|
288
|
+
* function draw_tinted(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
289
|
+
* const constants = render.constant_buffer();
|
|
290
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
291
|
+
* render.draw(self.my_pred, { constants });
|
|
292
|
+
* }
|
|
293
|
+
* ```
|
|
294
|
+
* @example
|
|
295
|
+
* Draw with predicate and frustum culling (without near+far planes):
|
|
296
|
+
* ```ts
|
|
297
|
+
* function draw_culled(self: { my_pred: Opaque<"render_predicate">; proj: Matrix4; view: Matrix4 }) {
|
|
298
|
+
* const frustum = self.proj.mul(self.view);
|
|
299
|
+
* render.draw(self.my_pred, { frustum });
|
|
300
|
+
* }
|
|
301
|
+
* ```
|
|
302
|
+
* @example
|
|
303
|
+
* Draw with predicate and frustum culling (with near+far planes):
|
|
304
|
+
* ```ts
|
|
305
|
+
* function draw_culled(self: { my_pred: Opaque<"render_predicate">; proj: Matrix4; view: Matrix4 }) {
|
|
306
|
+
* const frustum = self.proj.mul(self.view);
|
|
307
|
+
* render.draw(self.my_pred, { frustum, frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
308
|
+
* }
|
|
309
|
+
* ```
|
|
277
310
|
*/
|
|
278
|
-
function draw(predicate:
|
|
311
|
+
function draw(predicate: Opaque<"render_predicate">, options?: { frustum?: Matrix4; frustum_planes?: number; constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] }; sort_order?: number }): void;
|
|
279
312
|
/**
|
|
280
313
|
* Draws all 3d debug graphics such as lines drawn with "draw_line" messages and physics visualization.
|
|
281
314
|
*
|
|
@@ -287,7 +320,6 @@ declare global {
|
|
|
287
320
|
* int Determines which sides of the frustum will be used. Default is render.FRUSTUM_PLANES_SIDES.
|
|
288
321
|
*
|
|
289
322
|
* - render.FRUSTUM_PLANES_SIDES : The left, right, top and bottom sides of the frustum.
|
|
290
|
-
*
|
|
291
323
|
* - render.FRUSTUM_PLANES_ALL : All sides of the frustum.
|
|
292
324
|
* @example
|
|
293
325
|
* ```ts
|
|
@@ -330,15 +362,10 @@ declare global {
|
|
|
330
362
|
* @param state - state to enable
|
|
331
363
|
*
|
|
332
364
|
* - `graphics.STATE_DEPTH_TEST`
|
|
333
|
-
*
|
|
334
365
|
* - `graphics.STATE_STENCIL_TEST`
|
|
335
|
-
*
|
|
336
366
|
* - `graphics.STATE_BLEND`
|
|
337
|
-
*
|
|
338
367
|
* - `graphics.STATE_ALPHA_TEST` ( not available on iOS and Android)
|
|
339
|
-
*
|
|
340
368
|
* - `graphics.STATE_CULL_FACE`
|
|
341
|
-
*
|
|
342
369
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
343
370
|
* @example
|
|
344
371
|
* ```ts
|
|
@@ -379,22 +406,30 @@ declare global {
|
|
|
379
406
|
* If The render target has been created as depth and/or stencil textures, these buffer types can be used:
|
|
380
407
|
*
|
|
381
408
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
382
|
-
*
|
|
383
409
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
384
410
|
*
|
|
385
411
|
* If the render target has been created with multiple color attachments, these buffer types can be used
|
|
386
412
|
* to enable those textures as well. Currently 4 color attachments are supported:
|
|
387
413
|
*
|
|
388
414
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
389
|
-
*
|
|
390
415
|
* - `graphics.BUFFER_TYPE_COLOR1_BIT`
|
|
391
|
-
*
|
|
392
416
|
* - `graphics.BUFFER_TYPE_COLOR2_BIT`
|
|
393
|
-
*
|
|
394
417
|
* - `graphics.BUFFER_TYPE_COLOR3_BIT`
|
|
395
418
|
* @example
|
|
396
419
|
* ```ts
|
|
397
420
|
* export default defineRenderScript({
|
|
421
|
+
* init() {
|
|
422
|
+
* const color_params = {
|
|
423
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
424
|
+
* width: render.get_window_width(),
|
|
425
|
+
* height: render.get_window_height(),
|
|
426
|
+
* };
|
|
427
|
+
* return {
|
|
428
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
429
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
430
|
+
* };
|
|
431
|
+
* },
|
|
432
|
+
*
|
|
398
433
|
* update(self, dt) {
|
|
399
434
|
* // enable target so all drawing is done to it
|
|
400
435
|
* render.set_render_target(self.my_render_target);
|
|
@@ -416,6 +451,10 @@ declare global {
|
|
|
416
451
|
* ```ts
|
|
417
452
|
* // Or enable a render target by resource id:
|
|
418
453
|
* export default defineRenderScript({
|
|
454
|
+
* init() {
|
|
455
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
456
|
+
* },
|
|
457
|
+
*
|
|
419
458
|
* update(self, dt) {
|
|
420
459
|
* render.set_render_target("my_rt_resource");
|
|
421
460
|
* render.draw(self.my_pred);
|
|
@@ -432,6 +471,10 @@ declare global {
|
|
|
432
471
|
* ```ts
|
|
433
472
|
* // Or bind a texture handle directly:
|
|
434
473
|
* export default defineRenderScript({
|
|
474
|
+
* init() {
|
|
475
|
+
* return { my_texture_handle: resource.get_texture_info("/main/my_texture.texturec").handle };
|
|
476
|
+
* },
|
|
477
|
+
*
|
|
435
478
|
* update(self, dt) {
|
|
436
479
|
* // bind a texture to the texture unit 0
|
|
437
480
|
* render.enable_texture(0, self.my_texture_handle);
|
|
@@ -441,7 +484,7 @@ declare global {
|
|
|
441
484
|
* });
|
|
442
485
|
* ```
|
|
443
486
|
*/
|
|
444
|
-
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash, buffer_type?: graphics.BufferType): void;
|
|
487
|
+
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash | Opaque<"render_target"> | number, buffer_type?: graphics.BufferType): void;
|
|
445
488
|
/**
|
|
446
489
|
* Returns the logical window height that is set in the "game.project" settings.
|
|
447
490
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -462,9 +505,7 @@ declare global {
|
|
|
462
505
|
* @param buffer_type - which type of buffer to retrieve the height from
|
|
463
506
|
*
|
|
464
507
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
465
|
-
*
|
|
466
508
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
467
|
-
*
|
|
468
509
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
469
510
|
* @returns the height of the render target buffer texture
|
|
470
511
|
* @example
|
|
@@ -497,7 +538,7 @@ declare global {
|
|
|
497
538
|
* });
|
|
498
539
|
* ```
|
|
499
540
|
*/
|
|
500
|
-
function get_render_target_height(render_target: Opaque<"render_target"
|
|
541
|
+
function get_render_target_height(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BufferType): number;
|
|
501
542
|
/**
|
|
502
543
|
* Returns the specified buffer width from a render target.
|
|
503
544
|
*
|
|
@@ -505,11 +546,8 @@ declare global {
|
|
|
505
546
|
* @param buffer_type - which type of buffer to retrieve the width from
|
|
506
547
|
*
|
|
507
548
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
508
|
-
*
|
|
509
549
|
* - `graphics.BUFFER_TYPE_COLOR[x]_BIT` (x: [0..3], if supported!)
|
|
510
|
-
*
|
|
511
550
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
512
|
-
*
|
|
513
551
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
514
552
|
* @returns the width of the render target buffer texture
|
|
515
553
|
* @example
|
|
@@ -542,7 +580,7 @@ declare global {
|
|
|
542
580
|
* });
|
|
543
581
|
* ```
|
|
544
582
|
*/
|
|
545
|
-
function get_render_target_width(render_target: Opaque<"render_target"
|
|
583
|
+
function get_render_target_width(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BufferType): number;
|
|
546
584
|
/**
|
|
547
585
|
* Returns the logical window width that is set in the "game.project" settings.
|
|
548
586
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -598,7 +636,7 @@ declare global {
|
|
|
598
636
|
* const p = render.predicate([hash("opaque"), hash("smoke")]);
|
|
599
637
|
* ```
|
|
600
638
|
*/
|
|
601
|
-
function predicate(tags: (string | Hash)[]):
|
|
639
|
+
function predicate(tags: (string | Hash)[]): Opaque<"render_predicate">;
|
|
602
640
|
/**
|
|
603
641
|
* Sets the blend equation with separate equations for the color and alpha channels.
|
|
604
642
|
*
|
|
@@ -677,11 +715,8 @@ declare global {
|
|
|
677
715
|
* The blended RGBA values of a pixel comes from the following equations:
|
|
678
716
|
*
|
|
679
717
|
* - Rd = min(kR, Rs * sR + Rd * dR)
|
|
680
|
-
*
|
|
681
718
|
* - Gd = min(kG, Gs * sG + Gd * dG)
|
|
682
|
-
*
|
|
683
719
|
* - Bd = min(kB, Bs * sB + Bd * dB)
|
|
684
|
-
*
|
|
685
720
|
* - Ad = min(kA, As * sA + Ad * dA)
|
|
686
721
|
*
|
|
687
722
|
* Blend function `(graphics.BLEND_FACTOR_SRC_ALPHA, graphics.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA)` is useful for
|
|
@@ -725,29 +760,27 @@ declare global {
|
|
|
725
760
|
* `use_frustum`
|
|
726
761
|
* boolean If true, the renderer will use the cameras view-projection matrix for frustum culling (default: false)
|
|
727
762
|
* @example
|
|
763
|
+
* Set the current camera to be used for rendering
|
|
728
764
|
* ```ts
|
|
729
|
-
*
|
|
730
|
-
*
|
|
731
|
-
*
|
|
732
|
-
*
|
|
733
|
-
*
|
|
734
|
-
*
|
|
735
|
-
*
|
|
736
|
-
*
|
|
737
|
-
*
|
|
738
|
-
*
|
|
739
|
-
*
|
|
740
|
-
*
|
|
741
|
-
*
|
|
742
|
-
*
|
|
743
|
-
*
|
|
744
|
-
*
|
|
745
|
-
* render.set_camera();
|
|
746
|
-
* },
|
|
747
|
-
* });
|
|
765
|
+
* function draw_through_camera(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
766
|
+
* render.set_camera("main:/my_go#camera");
|
|
767
|
+
* render.draw(self.my_pred);
|
|
768
|
+
* render.set_camera(undefined);
|
|
769
|
+
* }
|
|
770
|
+
* ```
|
|
771
|
+
* @example
|
|
772
|
+
* Use the camera frustum for frustum culling together with a specific frustum plane option for the draw command
|
|
773
|
+
* ```ts
|
|
774
|
+
* function draw_through_camera(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
775
|
+
* // The camera frustum will take precedence over the frustum plane option in render.draw
|
|
776
|
+
* render.set_camera("main:/my_go#camera", { use_frustum: true });
|
|
777
|
+
* // However, we can still customize the frustum planes regardless of the camera option!
|
|
778
|
+
* render.draw(self.my_pred, { frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
779
|
+
* render.set_camera();
|
|
780
|
+
* }
|
|
748
781
|
* ```
|
|
749
782
|
*/
|
|
750
|
-
function set_camera(camera?: Url | number, options?: { use_frustum?: boolean }): void;
|
|
783
|
+
function set_camera(camera?: Url | number | string | Hash, options?: { use_frustum?: boolean }): void;
|
|
751
784
|
/**
|
|
752
785
|
* Specifies whether the individual color components in the frame buffer is enabled for writing (`true`) or disabled (`false`). For example, if `blue` is `false`, nothing is written to the blue component of any pixel in any of the color buffers, regardless of the drawing operation attempted. Note that writing are either enabled or disabled for entire color components, not the individual bits of a component.
|
|
753
786
|
* The component masks are all initially `true`.
|
|
@@ -797,9 +830,7 @@ declare global {
|
|
|
797
830
|
* @param face_type - face type
|
|
798
831
|
*
|
|
799
832
|
* - `graphics.FACE_TYPE_FRONT`
|
|
800
|
-
*
|
|
801
833
|
* - `graphics.FACE_TYPE_BACK`
|
|
802
|
-
*
|
|
803
834
|
* - `graphics.FACE_TYPE_FRONT_AND_BACK`
|
|
804
835
|
* @example
|
|
805
836
|
* ```ts
|
|
@@ -817,19 +848,12 @@ declare global {
|
|
|
817
848
|
* Function constants:
|
|
818
849
|
*
|
|
819
850
|
* - `graphics.COMPARE_FUNC_NEVER` (never passes)
|
|
820
|
-
*
|
|
821
851
|
* - `graphics.COMPARE_FUNC_LESS` (passes if the incoming depth value is less than the stored value)
|
|
822
|
-
*
|
|
823
852
|
* - `graphics.COMPARE_FUNC_LEQUAL` (passes if the incoming depth value is less than or equal to the stored value)
|
|
824
|
-
*
|
|
825
853
|
* - `graphics.COMPARE_FUNC_GREATER` (passes if the incoming depth value is greater than the stored value)
|
|
826
|
-
*
|
|
827
854
|
* - `graphics.COMPARE_FUNC_GEQUAL` (passes if the incoming depth value is greater than or equal to the stored value)
|
|
828
|
-
*
|
|
829
855
|
* - `graphics.COMPARE_FUNC_EQUAL` (passes if the incoming depth value is equal to the stored value)
|
|
830
|
-
*
|
|
831
856
|
* - `graphics.COMPARE_FUNC_NOTEQUAL` (passes if the incoming depth value is not equal to the stored value)
|
|
832
|
-
*
|
|
833
857
|
* - `graphics.COMPARE_FUNC_ALWAYS` (always passes)
|
|
834
858
|
*
|
|
835
859
|
* The depth function is initially set to `graphics.COMPARE_FUNC_LESS`.
|
|
@@ -897,7 +921,7 @@ declare global {
|
|
|
897
921
|
* offset for each polygon. The initial value is `0`.
|
|
898
922
|
* `units` is multiplied by an implementation-specific value to create a
|
|
899
923
|
* constant depth offset. The initial value is `0`.
|
|
900
|
-
* The value of the offset is computed as `factor`
|
|
924
|
+
* The value of the offset is computed as `factor` × `DZ` + `r` × `units`
|
|
901
925
|
* `DZ` is a measurement of the depth slope of the polygon which is the change in z (depth)
|
|
902
926
|
* values divided by the change in either x or y coordinates, as you traverse a polygon.
|
|
903
927
|
* The depth values are in window coordinates, clamped to the range [0, 1].
|
|
@@ -941,9 +965,7 @@ declare global {
|
|
|
941
965
|
* A buffer type defined that doesn't exist in the render target is silently ignored.
|
|
942
966
|
*
|
|
943
967
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
944
|
-
*
|
|
945
968
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
946
|
-
*
|
|
947
969
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
948
970
|
* @example
|
|
949
971
|
* How to set a render target and draw to it and then switch back to the default render target
|
|
@@ -952,6 +974,18 @@ declare global {
|
|
|
952
974
|
* // How to set a render target and draw to it and then switch back to the default render target
|
|
953
975
|
* // The render target defines the depth/stencil buffers as transient, when set_render_target is called the next time the buffers may be invalidated and allow for optimisations depending on driver support
|
|
954
976
|
* export default defineRenderScript({
|
|
977
|
+
* init() {
|
|
978
|
+
* const color_params = {
|
|
979
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
980
|
+
* width: render.get_window_width(),
|
|
981
|
+
* height: render.get_window_height(),
|
|
982
|
+
* };
|
|
983
|
+
* return {
|
|
984
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
985
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
986
|
+
* };
|
|
987
|
+
* },
|
|
988
|
+
*
|
|
955
989
|
* update(self, dt) {
|
|
956
990
|
* // set render target so all drawing is done to it
|
|
957
991
|
* render.set_render_target(self.my_render_target, {
|
|
@@ -971,6 +1005,10 @@ declare global {
|
|
|
971
1005
|
* ```ts
|
|
972
1006
|
* // Or set the render target by a render target resource identifier:
|
|
973
1007
|
* export default defineRenderScript({
|
|
1008
|
+
* init() {
|
|
1009
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
1010
|
+
* },
|
|
1011
|
+
*
|
|
974
1012
|
* update(self, dt) {
|
|
975
1013
|
* render.set_render_target("my_rt_resource");
|
|
976
1014
|
*
|
|
@@ -983,7 +1021,7 @@ declare global {
|
|
|
983
1021
|
* });
|
|
984
1022
|
* ```
|
|
985
1023
|
*/
|
|
986
|
-
function set_render_target(render_target
|
|
1024
|
+
function set_render_target(render_target?: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT, options?: { transient?: graphics.BufferType[] }): void;
|
|
987
1025
|
/**
|
|
988
1026
|
* Sets the render target size for a render target created from
|
|
989
1027
|
* either a render script, or from a render target resource.
|
|
@@ -1006,7 +1044,7 @@ declare global {
|
|
|
1006
1044
|
* });
|
|
1007
1045
|
* ```
|
|
1008
1046
|
*/
|
|
1009
|
-
function set_render_target_size(render_target: Opaque<"render_target"
|
|
1047
|
+
function set_render_target_size(render_target: Opaque<"render_target"> | string | Hash, width: number, height: number): void;
|
|
1010
1048
|
/**
|
|
1011
1049
|
* Stenciling is similar to depth-buffering as it enables and disables drawing on a
|
|
1012
1050
|
* per-pixel basis. First, GL drawing primitives are drawn into the stencil planes.
|
|
@@ -1024,19 +1062,12 @@ declare global {
|
|
|
1024
1062
|
* Function constant:
|
|
1025
1063
|
*
|
|
1026
1064
|
* - `graphics.COMPARE_FUNC_NEVER` (never passes)
|
|
1027
|
-
*
|
|
1028
1065
|
* - `graphics.COMPARE_FUNC_LESS` (passes if (ref & mask) < (stencil & mask))
|
|
1029
|
-
*
|
|
1030
1066
|
* - `graphics.COMPARE_FUNC_LEQUAL` (passes if (ref & mask) <= (stencil & mask))
|
|
1031
|
-
*
|
|
1032
1067
|
* - `graphics.COMPARE_FUNC_GREATER` (passes if (ref & mask) > (stencil & mask))
|
|
1033
|
-
*
|
|
1034
1068
|
* - `graphics.COMPARE_FUNC_GEQUAL` (passes if (ref & mask) >= (stencil & mask))
|
|
1035
|
-
*
|
|
1036
1069
|
* - `graphics.COMPARE_FUNC_EQUAL` (passes if (ref & mask) = (stencil & mask))
|
|
1037
|
-
*
|
|
1038
1070
|
* - `graphics.COMPARE_FUNC_NOTEQUAL` (passes if (ref & mask) != (stencil & mask))
|
|
1039
|
-
*
|
|
1040
1071
|
* - `graphics.COMPARE_FUNC_ALWAYS` (always passes)
|
|
1041
1072
|
*
|
|
1042
1073
|
* @param func - stencil test function, see the description for available values
|
|
@@ -1077,19 +1108,12 @@ declare global {
|
|
|
1077
1108
|
* Operator constants:
|
|
1078
1109
|
*
|
|
1079
1110
|
* - `graphics.STENCIL_OP_KEEP` (keeps the current value)
|
|
1080
|
-
*
|
|
1081
1111
|
* - `graphics.STENCIL_OP_ZERO` (sets the stencil buffer value to 0)
|
|
1082
|
-
*
|
|
1083
1112
|
* - `graphics.STENCIL_OP_REPLACE` (sets the stencil buffer value to `ref`, as specified by render.set_stencil_func)
|
|
1084
|
-
*
|
|
1085
1113
|
* - `graphics.STENCIL_OP_INCR` (increments the stencil buffer value and clamp to the maximum representable unsigned value)
|
|
1086
|
-
*
|
|
1087
1114
|
* - `graphics.STENCIL_OP_INCR_WRAP` (increments the stencil buffer value and wrap to zero when incrementing the maximum representable unsigned value)
|
|
1088
|
-
*
|
|
1089
1115
|
* - `graphics.STENCIL_OP_DECR` (decrements the current stencil buffer value and clamp to 0)
|
|
1090
|
-
*
|
|
1091
1116
|
* - `graphics.STENCIL_OP_DECR_WRAP` (decrements the current stencil buffer value and wrap to the maximum representable unsigned value when decrementing zero)
|
|
1092
|
-
*
|
|
1093
1117
|
* - `graphics.STENCIL_OP_INVERT` (bitwise inverts the current stencil buffer value)
|
|
1094
1118
|
*
|
|
1095
1119
|
* `dppass` and `dpfail` specify the stencil buffer actions depending on whether subsequent
|
|
@@ -1132,7 +1156,11 @@ declare global {
|
|
|
1132
1156
|
* },
|
|
1133
1157
|
*
|
|
1134
1158
|
* on_message(self, message_id, message) {
|
|
1135
|
-
* if (
|
|
1159
|
+
* if (
|
|
1160
|
+
* message_id === hash("set_view_projection") &&
|
|
1161
|
+
* types.is_matrix4(message.view) &&
|
|
1162
|
+
* types.is_matrix4(message.projection)
|
|
1163
|
+
* ) {
|
|
1136
1164
|
* // camera view and projection arrives here.
|
|
1137
1165
|
* self.view = message.view;
|
|
1138
1166
|
* self.projection = message.projection;
|