@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
|
@@ -14,13 +14,21 @@ declare global {
|
|
|
14
14
|
* require features not in OpenGL ES 2.0, but those will not work cross platform.
|
|
15
15
|
*/
|
|
16
16
|
namespace render {
|
|
17
|
-
type constant_buffer = Opaque<"constant_buffer"
|
|
17
|
+
type constant_buffer = Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] };
|
|
18
18
|
type render_target = Opaque<"render_target">;
|
|
19
19
|
type texture = Opaque<"texture">;
|
|
20
20
|
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
21
|
+
/**
|
|
22
|
+
* The rendering context was lost. Rendering is paused and all graphics resources become invalid. Passed to the `render.set_listener` callback.
|
|
23
|
+
*/
|
|
24
|
+
const CONTEXT_EVENT_CONTEXT_LOST: number & { readonly __brand: "render.CONTEXT_EVENT_CONTEXT_LOST" };
|
|
25
|
+
/**
|
|
26
|
+
* 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.
|
|
27
|
+
*/
|
|
28
|
+
const CONTEXT_EVENT_CONTEXT_RESTORED: number & { readonly __brand: "render.CONTEXT_EVENT_CONTEXT_RESTORED" };
|
|
21
29
|
const FRUSTUM_PLANES_ALL: number & { readonly __brand: "render.FRUSTUM_PLANES_ALL" };
|
|
22
30
|
const FRUSTUM_PLANES_SIDES: number & { readonly __brand: "render.FRUSTUM_PLANES_SIDES" };
|
|
23
|
-
const RENDER_TARGET_DEFAULT:
|
|
31
|
+
const RENDER_TARGET_DEFAULT: undefined;
|
|
24
32
|
/**
|
|
25
33
|
* Depth sort far-to-near (default; good for transparent passes).
|
|
26
34
|
*/
|
|
@@ -33,6 +41,10 @@ declare global {
|
|
|
33
41
|
* No per-call sorting; draw entries in insertion order.
|
|
34
42
|
*/
|
|
35
43
|
const SORT_NONE: number & { readonly __brand: "render.SORT_NONE" };
|
|
44
|
+
/**
|
|
45
|
+
* Render target buffer flag that samples a depth or stencil buffer as a texture, for `render.render_target`.
|
|
46
|
+
*/
|
|
47
|
+
const TEXTURE_BIT: number & { readonly __brand: "render.TEXTURE_BIT" };
|
|
36
48
|
/**
|
|
37
49
|
* Clear buffers in the currently enabled render target with specified value. If the render target has been created with multiple
|
|
38
50
|
* color attachments, all buffers will be cleared with the same value.
|
|
@@ -40,9 +52,7 @@ declare global {
|
|
|
40
52
|
* @param buffers - table with keys specifying which buffers to clear and values set to clear values. Available keys are:
|
|
41
53
|
*
|
|
42
54
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
43
|
-
*
|
|
44
55
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
45
|
-
*
|
|
46
56
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
47
57
|
* @example
|
|
48
58
|
* ```ts
|
|
@@ -60,42 +70,44 @@ declare global {
|
|
|
60
70
|
*
|
|
61
71
|
* @returns new constant buffer
|
|
62
72
|
* @example
|
|
73
|
+
* Set a "tint" constant in a constant buffer in the render script:
|
|
63
74
|
* ```ts
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
75
|
+
* const constants = render.constant_buffer();
|
|
76
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
77
|
+
* ```
|
|
78
|
+
* @example
|
|
79
|
+
* Then use the constant buffer when drawing a predicate:
|
|
80
|
+
* ```ts
|
|
81
|
+
* function draw_tinted(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
82
|
+
* const constants = render.constant_buffer();
|
|
83
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
84
|
+
* render.draw(self.my_pred, { constants });
|
|
85
|
+
* }
|
|
86
|
+
* ```
|
|
87
|
+
* @example
|
|
88
|
+
* The constant buffer also supports array values by specifying constants in a table:
|
|
89
|
+
* ```ts
|
|
90
|
+
* const constants = render.constant_buffer();
|
|
91
|
+
* constants.light_colors = [];
|
|
92
|
+
* constants.light_colors[0] = vmath.vector4(1, 0, 0, 1);
|
|
93
|
+
* constants.light_colors[1] = vmath.vector4(0, 1, 0, 1);
|
|
94
|
+
* constants.light_colors[2] = vmath.vector4(0, 0, 1, 1);
|
|
95
|
+
* ```
|
|
96
|
+
* @example
|
|
97
|
+
* You can also create the table by passing the vectors directly when creating the table:
|
|
98
|
+
* ```ts
|
|
99
|
+
* const constants = render.constant_buffer();
|
|
100
|
+
* constants.light_colors = [
|
|
101
|
+
* vmath.vector4(1, 0, 0, 1),
|
|
102
|
+
* vmath.vector4(0, 1, 0, 1),
|
|
103
|
+
* vmath.vector4(0, 0, 1, 1),
|
|
104
|
+
* ];
|
|
105
|
+
*
|
|
106
|
+
* // Add more constants to the array
|
|
107
|
+
* constants.light_colors[3] = vmath.vector4(1, 1, 1, 1);
|
|
96
108
|
* ```
|
|
97
109
|
*/
|
|
98
|
-
function constant_buffer(): Opaque<"constant_buffer"
|
|
110
|
+
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] };
|
|
99
111
|
/**
|
|
100
112
|
* Deletes a render target created by a render script.
|
|
101
113
|
* You cannot delete a render target resource.
|
|
@@ -144,15 +156,10 @@ declare global {
|
|
|
144
156
|
* @param state - state to disable
|
|
145
157
|
*
|
|
146
158
|
* - `graphics.STATE_DEPTH_TEST`
|
|
147
|
-
*
|
|
148
159
|
* - `graphics.STATE_STENCIL_TEST`
|
|
149
|
-
*
|
|
150
160
|
* - `graphics.STATE_BLEND`
|
|
151
|
-
*
|
|
152
161
|
* - `graphics.STATE_ALPHA_TEST` ( not available on iOS and Android)
|
|
153
|
-
*
|
|
154
162
|
* - `graphics.STATE_CULL_FACE`
|
|
155
|
-
*
|
|
156
163
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
157
164
|
* @example
|
|
158
165
|
* ```ts
|
|
@@ -177,6 +184,18 @@ declare global {
|
|
|
177
184
|
* @example
|
|
178
185
|
* ```ts
|
|
179
186
|
* export default defineRenderScript({
|
|
187
|
+
* init() {
|
|
188
|
+
* const color_params = {
|
|
189
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
190
|
+
* width: render.get_window_width(),
|
|
191
|
+
* height: render.get_window_height(),
|
|
192
|
+
* };
|
|
193
|
+
* return {
|
|
194
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
195
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
196
|
+
* };
|
|
197
|
+
* },
|
|
198
|
+
*
|
|
180
199
|
* update(self, dt) {
|
|
181
200
|
* render.enable_texture(0, self.my_render_target, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
182
201
|
* // draw a predicate with the render target available as texture 0 in the predicate
|
|
@@ -188,7 +207,7 @@ declare global {
|
|
|
188
207
|
* });
|
|
189
208
|
* ```
|
|
190
209
|
*/
|
|
191
|
-
function disable_texture(binding: Opaque<"texture"> | string | Hash): void;
|
|
210
|
+
function disable_texture(binding: Opaque<"texture"> | string | Hash | number): void;
|
|
192
211
|
/**
|
|
193
212
|
* Dispatches the currently enabled compute program. The dispatch call takes three arguments x,y,z which constitutes
|
|
194
213
|
* the 'global working group' of the compute dispatch. Together with the 'local working group' specified in the compute shader
|
|
@@ -213,6 +232,7 @@ declare global {
|
|
|
213
232
|
* height: render.get_window_height(),
|
|
214
233
|
* };
|
|
215
234
|
* return {
|
|
235
|
+
* backing_texture: resource.get_texture_info("/main/backing.texturec").handle,
|
|
216
236
|
* scene_rt: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
217
237
|
* };
|
|
218
238
|
* },
|
|
@@ -225,14 +245,16 @@ declare global {
|
|
|
225
245
|
* render.set_compute();
|
|
226
246
|
* },
|
|
227
247
|
* });
|
|
228
|
-
*
|
|
229
|
-
*
|
|
248
|
+
* ```
|
|
249
|
+
* @example
|
|
250
|
+
* Dispatch a compute program with a constant buffer:
|
|
251
|
+
* ```ts
|
|
230
252
|
* const constants = render.constant_buffer();
|
|
231
253
|
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
232
254
|
* render.dispatch_compute(32, 32, 32, { constants });
|
|
233
255
|
* ```
|
|
234
256
|
*/
|
|
235
|
-
function dispatch_compute(x: number, y: number, z: number, options?: { constants?: Opaque<"constant_buffer"> }): void;
|
|
257
|
+
function dispatch_compute(x: number, y: number, z: number, options?: { constants?: Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] } }): void;
|
|
236
258
|
/**
|
|
237
259
|
* Draws all objects that match a specified predicate. An optional constant buffer can be
|
|
238
260
|
* provided to override the default constants. If no constants buffer is provided, a default
|
|
@@ -248,7 +270,6 @@ declare global {
|
|
|
248
270
|
* int Determines which sides of the frustum will be used. Default is render.FRUSTUM_PLANES_SIDES.
|
|
249
271
|
*
|
|
250
272
|
* - render.FRUSTUM_PLANES_SIDES : The left, right, top and bottom sides of the frustum.
|
|
251
|
-
*
|
|
252
273
|
* - render.FRUSTUM_PLANES_ALL : All 6 sides of the frustum.
|
|
253
274
|
*
|
|
254
275
|
* `constants`
|
|
@@ -266,24 +287,36 @@ declare global {
|
|
|
266
287
|
* update(self, dt) {
|
|
267
288
|
* // draw everything in the my_pred predicate
|
|
268
289
|
* render.draw(self.my_pred);
|
|
269
|
-
*
|
|
270
|
-
* // Draw predicate with constants:
|
|
271
|
-
* const constants = render.constant_buffer();
|
|
272
|
-
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
273
|
-
* render.draw(self.my_pred, { constants });
|
|
274
|
-
*
|
|
275
|
-
* // Draw with predicate and frustum culling (without near+far planes):
|
|
276
|
-
* const frustum = self.proj.mul(self.view);
|
|
277
|
-
* render.draw(self.my_pred, { frustum });
|
|
278
|
-
*
|
|
279
|
-
* // Draw with predicate and frustum culling (with near+far planes):
|
|
280
|
-
* const frustum2 = self.proj.mul(self.view);
|
|
281
|
-
* render.draw(self.my_pred, { frustum: frustum2, frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
282
290
|
* },
|
|
283
291
|
* });
|
|
284
292
|
* ```
|
|
293
|
+
* @example
|
|
294
|
+
* Draw predicate with constants:
|
|
295
|
+
* ```ts
|
|
296
|
+
* function draw_tinted(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
297
|
+
* const constants = render.constant_buffer();
|
|
298
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
299
|
+
* render.draw(self.my_pred, { constants });
|
|
300
|
+
* }
|
|
301
|
+
* ```
|
|
302
|
+
* @example
|
|
303
|
+
* Draw with predicate and frustum culling (without 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 });
|
|
308
|
+
* }
|
|
309
|
+
* ```
|
|
310
|
+
* @example
|
|
311
|
+
* Draw with predicate and frustum culling (with near+far planes):
|
|
312
|
+
* ```ts
|
|
313
|
+
* function draw_culled(self: { my_pred: Opaque<"render_predicate">; proj: Matrix4; view: Matrix4 }) {
|
|
314
|
+
* const frustum = self.proj.mul(self.view);
|
|
315
|
+
* render.draw(self.my_pred, { frustum, frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
316
|
+
* }
|
|
317
|
+
* ```
|
|
285
318
|
*/
|
|
286
|
-
function draw(predicate:
|
|
319
|
+
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;
|
|
287
320
|
/**
|
|
288
321
|
* Draws all 3d debug graphics such as lines drawn with "draw_line" messages and physics visualization.
|
|
289
322
|
*
|
|
@@ -295,7 +328,6 @@ declare global {
|
|
|
295
328
|
* int Determines which sides of the frustum will be used. Default is render.FRUSTUM_PLANES_SIDES.
|
|
296
329
|
*
|
|
297
330
|
* - render.FRUSTUM_PLANES_SIDES : The left, right, top and bottom sides of the frustum.
|
|
298
|
-
*
|
|
299
331
|
* - render.FRUSTUM_PLANES_ALL : All sides of the frustum.
|
|
300
332
|
* @example
|
|
301
333
|
* ```ts
|
|
@@ -338,15 +370,10 @@ declare global {
|
|
|
338
370
|
* @param state - state to enable
|
|
339
371
|
*
|
|
340
372
|
* - `graphics.STATE_DEPTH_TEST`
|
|
341
|
-
*
|
|
342
373
|
* - `graphics.STATE_STENCIL_TEST`
|
|
343
|
-
*
|
|
344
374
|
* - `graphics.STATE_BLEND`
|
|
345
|
-
*
|
|
346
375
|
* - `graphics.STATE_ALPHA_TEST` ( not available on iOS and Android)
|
|
347
|
-
*
|
|
348
376
|
* - `graphics.STATE_CULL_FACE`
|
|
349
|
-
*
|
|
350
377
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
351
378
|
* @example
|
|
352
379
|
* ```ts
|
|
@@ -387,22 +414,30 @@ declare global {
|
|
|
387
414
|
* If The render target has been created as depth and/or stencil textures, these buffer types can be used:
|
|
388
415
|
*
|
|
389
416
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
390
|
-
*
|
|
391
417
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
392
418
|
*
|
|
393
419
|
* If the render target has been created with multiple color attachments, these buffer types can be used
|
|
394
420
|
* to enable those textures as well. Currently 4 color attachments are supported:
|
|
395
421
|
*
|
|
396
422
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
397
|
-
*
|
|
398
423
|
* - `graphics.BUFFER_TYPE_COLOR1_BIT`
|
|
399
|
-
*
|
|
400
424
|
* - `graphics.BUFFER_TYPE_COLOR2_BIT`
|
|
401
|
-
*
|
|
402
425
|
* - `graphics.BUFFER_TYPE_COLOR3_BIT`
|
|
403
426
|
* @example
|
|
404
427
|
* ```ts
|
|
405
428
|
* export default defineRenderScript({
|
|
429
|
+
* init() {
|
|
430
|
+
* const color_params = {
|
|
431
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
432
|
+
* width: render.get_window_width(),
|
|
433
|
+
* height: render.get_window_height(),
|
|
434
|
+
* };
|
|
435
|
+
* return {
|
|
436
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
437
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
438
|
+
* };
|
|
439
|
+
* },
|
|
440
|
+
*
|
|
406
441
|
* update(self, dt) {
|
|
407
442
|
* // enable target so all drawing is done to it
|
|
408
443
|
* render.set_render_target(self.my_render_target);
|
|
@@ -424,6 +459,10 @@ declare global {
|
|
|
424
459
|
* ```ts
|
|
425
460
|
* // Or enable a render target by resource id:
|
|
426
461
|
* export default defineRenderScript({
|
|
462
|
+
* init() {
|
|
463
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
464
|
+
* },
|
|
465
|
+
*
|
|
427
466
|
* update(self, dt) {
|
|
428
467
|
* render.set_render_target("my_rt_resource");
|
|
429
468
|
* render.draw(self.my_pred);
|
|
@@ -440,6 +479,10 @@ declare global {
|
|
|
440
479
|
* ```ts
|
|
441
480
|
* // Or bind a texture handle directly:
|
|
442
481
|
* export default defineRenderScript({
|
|
482
|
+
* init() {
|
|
483
|
+
* return { my_texture_handle: resource.get_texture_info("/main/my_texture.texturec").handle };
|
|
484
|
+
* },
|
|
485
|
+
*
|
|
443
486
|
* update(self, dt) {
|
|
444
487
|
* // bind a texture to the texture unit 0
|
|
445
488
|
* render.enable_texture(0, self.my_texture_handle);
|
|
@@ -449,7 +492,7 @@ declare global {
|
|
|
449
492
|
* });
|
|
450
493
|
* ```
|
|
451
494
|
*/
|
|
452
|
-
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash, buffer_type?: graphics.BufferType): void;
|
|
495
|
+
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash | Opaque<"render_target"> | number, buffer_type?: graphics.BufferType): void;
|
|
453
496
|
/**
|
|
454
497
|
* Returns the logical window height that is set in the "game.project" settings.
|
|
455
498
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -470,9 +513,7 @@ declare global {
|
|
|
470
513
|
* @param buffer_type - which type of buffer to retrieve the height from
|
|
471
514
|
*
|
|
472
515
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
473
|
-
*
|
|
474
516
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
475
|
-
*
|
|
476
517
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
477
518
|
* @returns the height of the render target buffer texture
|
|
478
519
|
* @example
|
|
@@ -505,7 +546,7 @@ declare global {
|
|
|
505
546
|
* });
|
|
506
547
|
* ```
|
|
507
548
|
*/
|
|
508
|
-
function get_render_target_height(render_target: Opaque<"render_target"
|
|
549
|
+
function get_render_target_height(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BufferType): number;
|
|
509
550
|
/**
|
|
510
551
|
* Returns the specified buffer width from a render target.
|
|
511
552
|
*
|
|
@@ -513,11 +554,8 @@ declare global {
|
|
|
513
554
|
* @param buffer_type - which type of buffer to retrieve the width from
|
|
514
555
|
*
|
|
515
556
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
516
|
-
*
|
|
517
557
|
* - `graphics.BUFFER_TYPE_COLOR[x]_BIT` (x: [0..3], if supported!)
|
|
518
|
-
*
|
|
519
558
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
520
|
-
*
|
|
521
559
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
522
560
|
* @returns the width of the render target buffer texture
|
|
523
561
|
* @example
|
|
@@ -550,7 +588,7 @@ declare global {
|
|
|
550
588
|
* });
|
|
551
589
|
* ```
|
|
552
590
|
*/
|
|
553
|
-
function get_render_target_width(render_target: Opaque<"render_target"
|
|
591
|
+
function get_render_target_width(render_target: Opaque<"render_target"> | string | Hash, buffer_type: graphics.BufferType): number;
|
|
554
592
|
/**
|
|
555
593
|
* Returns the logical window width that is set in the "game.project" settings.
|
|
556
594
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -606,7 +644,7 @@ declare global {
|
|
|
606
644
|
* const p = render.predicate([hash("opaque"), hash("smoke")]);
|
|
607
645
|
* ```
|
|
608
646
|
*/
|
|
609
|
-
function predicate(tags: (string | Hash)[]):
|
|
647
|
+
function predicate(tags: (string | Hash)[]): Opaque<"render_predicate">;
|
|
610
648
|
/**
|
|
611
649
|
* Specifies the arithmetic used when computing pixel values that are written to the frame
|
|
612
650
|
* buffer. In RGBA mode, pixels can be drawn using a function that blends the source RGBA
|
|
@@ -674,11 +712,8 @@ declare global {
|
|
|
674
712
|
* The blended RGBA values of a pixel comes from the following equations:
|
|
675
713
|
*
|
|
676
714
|
* - Rd = min(kR, Rs * sR + Rd * dR)
|
|
677
|
-
*
|
|
678
715
|
* - Gd = min(kG, Gs * sG + Gd * dG)
|
|
679
|
-
*
|
|
680
716
|
* - Bd = min(kB, Bs * sB + Bd * dB)
|
|
681
|
-
*
|
|
682
717
|
* - Ad = min(kA, As * sA + Ad * dA)
|
|
683
718
|
*
|
|
684
719
|
* Blend function `(graphics.BLEND_FACTOR_SRC_ALPHA, graphics.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA)` is useful for
|
|
@@ -709,29 +744,27 @@ declare global {
|
|
|
709
744
|
* `use_frustum`
|
|
710
745
|
* boolean If true, the renderer will use the cameras view-projection matrix for frustum culling (default: false)
|
|
711
746
|
* @example
|
|
747
|
+
* Set the current camera to be used for rendering
|
|
712
748
|
* ```ts
|
|
713
|
-
*
|
|
714
|
-
*
|
|
715
|
-
*
|
|
716
|
-
*
|
|
717
|
-
*
|
|
718
|
-
*
|
|
719
|
-
*
|
|
720
|
-
*
|
|
721
|
-
*
|
|
722
|
-
*
|
|
723
|
-
*
|
|
724
|
-
*
|
|
725
|
-
*
|
|
726
|
-
*
|
|
727
|
-
*
|
|
728
|
-
*
|
|
729
|
-
* render.set_camera();
|
|
730
|
-
* },
|
|
731
|
-
* });
|
|
749
|
+
* function draw_through_camera(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
750
|
+
* render.set_camera("main:/my_go#camera");
|
|
751
|
+
* render.draw(self.my_pred);
|
|
752
|
+
* render.set_camera(undefined);
|
|
753
|
+
* }
|
|
754
|
+
* ```
|
|
755
|
+
* @example
|
|
756
|
+
* Use the camera frustum for frustum culling together with a specific frustum plane option for the draw command
|
|
757
|
+
* ```ts
|
|
758
|
+
* function draw_through_camera(self: { my_pred: Opaque<"render_predicate"> }) {
|
|
759
|
+
* // The camera frustum will take precedence over the frustum plane option in render.draw
|
|
760
|
+
* render.set_camera("main:/my_go#camera", { use_frustum: true });
|
|
761
|
+
* // However, we can still customize the frustum planes regardless of the camera option!
|
|
762
|
+
* render.draw(self.my_pred, { frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
763
|
+
* render.set_camera();
|
|
764
|
+
* }
|
|
732
765
|
* ```
|
|
733
766
|
*/
|
|
734
|
-
function set_camera(camera?: Url | number, options?: { use_frustum?: boolean }): void;
|
|
767
|
+
function set_camera(camera?: Url | number | string | Hash, options?: { use_frustum?: boolean }): void;
|
|
735
768
|
/**
|
|
736
769
|
* 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.
|
|
737
770
|
* The component masks are all initially `true`.
|
|
@@ -781,9 +814,7 @@ declare global {
|
|
|
781
814
|
* @param face_type - face type
|
|
782
815
|
*
|
|
783
816
|
* - `graphics.FACE_TYPE_FRONT`
|
|
784
|
-
*
|
|
785
817
|
* - `graphics.FACE_TYPE_BACK`
|
|
786
|
-
*
|
|
787
818
|
* - `graphics.FACE_TYPE_FRONT_AND_BACK`
|
|
788
819
|
* @example
|
|
789
820
|
* ```ts
|
|
@@ -801,19 +832,12 @@ declare global {
|
|
|
801
832
|
* Function constants:
|
|
802
833
|
*
|
|
803
834
|
* - `graphics.COMPARE_FUNC_NEVER` (never passes)
|
|
804
|
-
*
|
|
805
835
|
* - `graphics.COMPARE_FUNC_LESS` (passes if the incoming depth value is less than the stored value)
|
|
806
|
-
*
|
|
807
836
|
* - `graphics.COMPARE_FUNC_LEQUAL` (passes if the incoming depth value is less than or equal to the stored value)
|
|
808
|
-
*
|
|
809
837
|
* - `graphics.COMPARE_FUNC_GREATER` (passes if the incoming depth value is greater than the stored value)
|
|
810
|
-
*
|
|
811
838
|
* - `graphics.COMPARE_FUNC_GEQUAL` (passes if the incoming depth value is greater than or equal to the stored value)
|
|
812
|
-
*
|
|
813
839
|
* - `graphics.COMPARE_FUNC_EQUAL` (passes if the incoming depth value is equal to the stored value)
|
|
814
|
-
*
|
|
815
840
|
* - `graphics.COMPARE_FUNC_NOTEQUAL` (passes if the incoming depth value is not equal to the stored value)
|
|
816
|
-
*
|
|
817
841
|
* - `graphics.COMPARE_FUNC_ALWAYS` (always passes)
|
|
818
842
|
*
|
|
819
843
|
* The depth function is initially set to `graphics.COMPARE_FUNC_LESS`.
|
|
@@ -881,7 +905,7 @@ declare global {
|
|
|
881
905
|
* offset for each polygon. The initial value is `0`.
|
|
882
906
|
* `units` is multiplied by an implementation-specific value to create a
|
|
883
907
|
* constant depth offset. The initial value is `0`.
|
|
884
|
-
* The value of the offset is computed as `factor`
|
|
908
|
+
* The value of the offset is computed as `factor` × `DZ` + `r` × `units`
|
|
885
909
|
* `DZ` is a measurement of the depth slope of the polygon which is the change in z (depth)
|
|
886
910
|
* values divided by the change in either x or y coordinates, as you traverse a polygon.
|
|
887
911
|
* The depth values are in window coordinates, clamped to the range [0, 1].
|
|
@@ -925,9 +949,7 @@ declare global {
|
|
|
925
949
|
* A buffer type defined that doesn't exist in the render target is silently ignored.
|
|
926
950
|
*
|
|
927
951
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
928
|
-
*
|
|
929
952
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
930
|
-
*
|
|
931
953
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
932
954
|
* @example
|
|
933
955
|
* How to set a render target and draw to it and then switch back to the default render target
|
|
@@ -936,6 +958,18 @@ declare global {
|
|
|
936
958
|
* // How to set a render target and draw to it and then switch back to the default render target
|
|
937
959
|
* // 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
|
|
938
960
|
* export default defineRenderScript({
|
|
961
|
+
* init() {
|
|
962
|
+
* const color_params = {
|
|
963
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
964
|
+
* width: render.get_window_width(),
|
|
965
|
+
* height: render.get_window_height(),
|
|
966
|
+
* };
|
|
967
|
+
* return {
|
|
968
|
+
* my_render_target: render.render_target({ [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params }),
|
|
969
|
+
* my_pred: render.predicate([hash("my_tag")]),
|
|
970
|
+
* };
|
|
971
|
+
* },
|
|
972
|
+
*
|
|
939
973
|
* update(self, dt) {
|
|
940
974
|
* // set render target so all drawing is done to it
|
|
941
975
|
* render.set_render_target(self.my_render_target, {
|
|
@@ -955,6 +989,10 @@ declare global {
|
|
|
955
989
|
* ```ts
|
|
956
990
|
* // Or set the render target by a render target resource identifier:
|
|
957
991
|
* export default defineRenderScript({
|
|
992
|
+
* init() {
|
|
993
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
994
|
+
* },
|
|
995
|
+
*
|
|
958
996
|
* update(self, dt) {
|
|
959
997
|
* render.set_render_target("my_rt_resource");
|
|
960
998
|
*
|
|
@@ -967,7 +1005,7 @@ declare global {
|
|
|
967
1005
|
* });
|
|
968
1006
|
* ```
|
|
969
1007
|
*/
|
|
970
|
-
function set_render_target(render_target
|
|
1008
|
+
function set_render_target(render_target?: Opaque<"render_target"> | string | Hash | typeof render.RENDER_TARGET_DEFAULT, options?: { transient?: graphics.BufferType[] }): void;
|
|
971
1009
|
/**
|
|
972
1010
|
* Sets the render target size for a render target created from
|
|
973
1011
|
* either a render script, or from a render target resource.
|
|
@@ -990,7 +1028,7 @@ declare global {
|
|
|
990
1028
|
* });
|
|
991
1029
|
* ```
|
|
992
1030
|
*/
|
|
993
|
-
function set_render_target_size(render_target: Opaque<"render_target"
|
|
1031
|
+
function set_render_target_size(render_target: Opaque<"render_target"> | string | Hash, width: number, height: number): void;
|
|
994
1032
|
/**
|
|
995
1033
|
* Stenciling is similar to depth-buffering as it enables and disables drawing on a
|
|
996
1034
|
* per-pixel basis. First, GL drawing primitives are drawn into the stencil planes.
|
|
@@ -1008,19 +1046,12 @@ declare global {
|
|
|
1008
1046
|
* Function constant:
|
|
1009
1047
|
*
|
|
1010
1048
|
* - `graphics.COMPARE_FUNC_NEVER` (never passes)
|
|
1011
|
-
*
|
|
1012
1049
|
* - `graphics.COMPARE_FUNC_LESS` (passes if (ref & mask) < (stencil & mask))
|
|
1013
|
-
*
|
|
1014
1050
|
* - `graphics.COMPARE_FUNC_LEQUAL` (passes if (ref & mask) <= (stencil & mask))
|
|
1015
|
-
*
|
|
1016
1051
|
* - `graphics.COMPARE_FUNC_GREATER` (passes if (ref & mask) > (stencil & mask))
|
|
1017
|
-
*
|
|
1018
1052
|
* - `graphics.COMPARE_FUNC_GEQUAL` (passes if (ref & mask) >= (stencil & mask))
|
|
1019
|
-
*
|
|
1020
1053
|
* - `graphics.COMPARE_FUNC_EQUAL` (passes if (ref & mask) = (stencil & mask))
|
|
1021
|
-
*
|
|
1022
1054
|
* - `graphics.COMPARE_FUNC_NOTEQUAL` (passes if (ref & mask) != (stencil & mask))
|
|
1023
|
-
*
|
|
1024
1055
|
* - `graphics.COMPARE_FUNC_ALWAYS` (always passes)
|
|
1025
1056
|
*
|
|
1026
1057
|
* @param func - stencil test function, see the description for available values
|
|
@@ -1061,19 +1092,12 @@ declare global {
|
|
|
1061
1092
|
* Operator constants:
|
|
1062
1093
|
*
|
|
1063
1094
|
* - `graphics.STENCIL_OP_KEEP` (keeps the current value)
|
|
1064
|
-
*
|
|
1065
1095
|
* - `graphics.STENCIL_OP_ZERO` (sets the stencil buffer value to 0)
|
|
1066
|
-
*
|
|
1067
1096
|
* - `graphics.STENCIL_OP_REPLACE` (sets the stencil buffer value to `ref`, as specified by render.set_stencil_func)
|
|
1068
|
-
*
|
|
1069
1097
|
* - `graphics.STENCIL_OP_INCR` (increments the stencil buffer value and clamp to the maximum representable unsigned value)
|
|
1070
|
-
*
|
|
1071
1098
|
* - `graphics.STENCIL_OP_INCR_WRAP` (increments the stencil buffer value and wrap to zero when incrementing the maximum representable unsigned value)
|
|
1072
|
-
*
|
|
1073
1099
|
* - `graphics.STENCIL_OP_DECR` (decrements the current stencil buffer value and clamp to 0)
|
|
1074
|
-
*
|
|
1075
1100
|
* - `graphics.STENCIL_OP_DECR_WRAP` (decrements the current stencil buffer value and wrap to the maximum representable unsigned value when decrementing zero)
|
|
1076
|
-
*
|
|
1077
1101
|
* - `graphics.STENCIL_OP_INVERT` (bitwise inverts the current stencil buffer value)
|
|
1078
1102
|
*
|
|
1079
1103
|
* `dppass` and `dpfail` specify the stencil buffer actions depending on whether subsequent
|
|
@@ -1116,7 +1140,11 @@ declare global {
|
|
|
1116
1140
|
* },
|
|
1117
1141
|
*
|
|
1118
1142
|
* on_message(self, message_id, message) {
|
|
1119
|
-
* if (
|
|
1143
|
+
* if (
|
|
1144
|
+
* message_id === hash("set_view_projection") &&
|
|
1145
|
+
* types.is_matrix4(message.view) &&
|
|
1146
|
+
* types.is_matrix4(message.projection)
|
|
1147
|
+
* ) {
|
|
1120
1148
|
* // camera view and projection arrives here.
|
|
1121
1149
|
* self.view = message.view;
|
|
1122
1150
|
* self.projection = message.projection;
|