@defold-typescript/types 0.40.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 +3963 -772
- package/api-migrations.json +27 -0
- package/api-signatures.json +18069 -10240
- package/api-targets.json +448 -11
- package/examples/translations.json +560 -89
- 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 +183 -20
- package/generated/b2d_world.d.ts +57 -63
- package/generated/buffer.d.ts +16 -15
- 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 +29 -32
- package/generated/collectionfactory.d.ts +15 -18
- 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 +235 -182
- package/generated/graphics.d.ts +335 -97
- package/generated/gui.d.ts +240 -471
- package/generated/html5.d.ts +2 -2
- package/generated/http.d.ts +28 -35
- package/generated/image.d.ts +105 -72
- package/generated/json.d.ts +34 -16
- package/generated/kinds/gui-script.d.ts +7 -0
- package/generated/kinds/render-script.d.ts +7 -0
- package/generated/kinds/script.d.ts +7 -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 +40 -39
- package/generated/particlefx.d.ts +19 -28
- package/generated/physics.d.ts +365 -133
- package/generated/profiler.d.ts +13 -23
- package/generated/render.d.ts +237 -297
- package/generated/resource.d.ts +664 -583
- package/generated/socket.d.ts +120 -133
- package/generated/sound.d.ts +62 -31
- package/generated/sprite.d.ts +31 -17
- package/generated/sys.d.ts +234 -190
- 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 +1 -3
- package/generated/versions/defold-1.12.4/camera.d.ts +21 -21
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +9 -9
- 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 +6 -12
- package/generated/versions/defold-1.12.4/gui.d.ts +77 -175
- package/generated/versions/defold-1.12.4/html5.d.ts +1 -1
- package/generated/versions/defold-1.12.4/http.d.ts +0 -13
- package/generated/versions/defold-1.12.4/image.d.ts +16 -33
- package/generated/versions/defold-1.12.4/index.d.ts +1 -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 +2 -10
- package/generated/versions/defold-1.12.4/particlefx.d.ts +2 -5
- package/generated/versions/defold-1.12.4/physics.d.ts +69 -67
- package/generated/versions/defold-1.12.4/profiler.d.ts +2 -5
- package/generated/versions/defold-1.12.4/render.d.ts +99 -128
- package/generated/versions/defold-1.12.4/resource.d.ts +120 -148
- package/generated/versions/defold-1.12.4/socket.d.ts +34 -60
- package/generated/versions/defold-1.12.4/sound.d.ts +8 -8
- package/generated/versions/defold-1.12.4/sprite.d.ts +15 -5
- package/generated/versions/defold-1.12.4/sys.d.ts +37 -71
- 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 +0 -21
- 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 +169 -8
- package/generated/versions/defold-1.13.0/b2d_world.d.ts +16 -10
- package/generated/versions/defold-1.13.0/buffer.d.ts +1 -3
- package/generated/versions/defold-1.13.0/camera.d.ts +25 -25
- package/generated/versions/defold-1.13.0/collectionfactory.d.ts +9 -9
- package/generated/versions/defold-1.13.0/collectionproxy.d.ts +2 -2
- package/generated/versions/defold-1.13.0/compute.d.ts +0 -69
- 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 +6 -12
- package/generated/versions/defold-1.13.0/graphics.d.ts +73 -37
- package/generated/versions/defold-1.13.0/gui.d.ts +77 -175
- package/generated/versions/defold-1.13.0/html5.d.ts +1 -1
- package/generated/versions/defold-1.13.0/http.d.ts +0 -13
- package/generated/versions/defold-1.13.0/image.d.ts +16 -33
- package/generated/versions/defold-1.13.0/index.d.ts +1 -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 +68 -106
- package/generated/versions/defold-1.13.0/model.d.ts +2 -10
- package/generated/versions/defold-1.13.0/particlefx.d.ts +2 -5
- package/generated/versions/defold-1.13.0/physics.d.ts +69 -67
- package/generated/versions/defold-1.13.0/profiler.d.ts +2 -5
- package/generated/versions/defold-1.13.0/render.d.ts +99 -128
- package/generated/versions/defold-1.13.0/resource.d.ts +126 -150
- package/generated/versions/defold-1.13.0/socket.d.ts +34 -60
- package/generated/versions/defold-1.13.0/sound.d.ts +8 -8
- package/generated/versions/defold-1.13.0/sprite.d.ts +15 -5
- package/generated/versions/defold-1.13.0/sys.d.ts +37 -71
- 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 +0 -21
- 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 +1 -21
- package/generated/window.d.ts +71 -71
- package/identity-vocabulary.json +561 -0
- package/index.d.ts +7 -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 +12 -2
- package/scripts/import-defold-release.ts +85 -24
- package/scripts/prose-constants.ts +77 -16
- package/scripts/regen.ts +391 -77
- 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/core-types.ts +26 -3
- package/src/correction-pins.ts +49 -0
- package/src/doc-comment.ts +104 -11
- package/src/doc-corrections.ts +108 -0
- package/src/editor-vm-globals.d.ts +5 -2
- package/src/emit-dts.ts +2064 -281
- package/src/emit-messages.ts +52 -0
- 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 +25 -6
- package/src/index-base-table.ts +145 -0
- package/src/index-slot-classifications.ts +588 -0
- package/src/index.ts +38 -5
- 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 +8 -11
- package/src/render-overloads.d.ts +0 -15
- package/src/return-correction-provenance.ts +58 -16
- 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
|
@@ -18,9 +18,17 @@ declare global {
|
|
|
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,39 +70,41 @@ 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
110
|
function constant_buffer(): Opaque<"constant_buffer"> & { [name: string]: Vector4 | Matrix4 | Vector4[] | Matrix4[] };
|
|
@@ -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
|
|
@@ -238,8 +245,10 @@ declare global {
|
|
|
238
245
|
* render.set_compute();
|
|
239
246
|
* },
|
|
240
247
|
* });
|
|
241
|
-
*
|
|
242
|
-
*
|
|
248
|
+
* ```
|
|
249
|
+
* @example
|
|
250
|
+
* Dispatch a compute program with a constant buffer:
|
|
251
|
+
* ```ts
|
|
243
252
|
* const constants = render.constant_buffer();
|
|
244
253
|
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
245
254
|
* render.dispatch_compute(32, 32, 32, { constants });
|
|
@@ -261,7 +270,6 @@ declare global {
|
|
|
261
270
|
* int Determines which sides of the frustum will be used. Default is render.FRUSTUM_PLANES_SIDES.
|
|
262
271
|
*
|
|
263
272
|
* - render.FRUSTUM_PLANES_SIDES : The left, right, top and bottom sides of the frustum.
|
|
264
|
-
*
|
|
265
273
|
* - render.FRUSTUM_PLANES_ALL : All 6 sides of the frustum.
|
|
266
274
|
*
|
|
267
275
|
* `constants`
|
|
@@ -272,35 +280,43 @@ declare global {
|
|
|
272
280
|
* ```ts
|
|
273
281
|
* export default defineRenderScript({
|
|
274
282
|
* init() {
|
|
275
|
-
*
|
|
276
|
-
*
|
|
277
|
-
* my_pred: render.predicate([hash("my_tag")]),
|
|
278
|
-
* proj: vmath.matrix4_perspective(math.rad(45), render.get_window_width() / render.get_window_height(), 0.1, 1000),
|
|
279
|
-
* view: vmath.matrix4_look_at(vmath.vector3(0, 0, 10), vmath.vector3(0, 0, 0), vmath.vector3(0, 1, 0)),
|
|
280
|
-
* };
|
|
283
|
+
* // define a predicate matching anything with material tag "my_tag"
|
|
284
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
281
285
|
* },
|
|
282
286
|
*
|
|
283
287
|
* update(self, dt) {
|
|
284
288
|
* // draw everything in the my_pred predicate
|
|
285
289
|
* render.draw(self.my_pred);
|
|
286
|
-
*
|
|
287
|
-
* // Draw predicate with constants:
|
|
288
|
-
* const constants = render.constant_buffer();
|
|
289
|
-
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
290
|
-
* render.draw(self.my_pred, { constants });
|
|
291
|
-
*
|
|
292
|
-
* // Draw with predicate and frustum culling (without near+far planes):
|
|
293
|
-
* const frustum = self.proj.mul(self.view);
|
|
294
|
-
* render.draw(self.my_pred, { frustum });
|
|
295
|
-
*
|
|
296
|
-
* // Draw with predicate and frustum culling (with near+far planes):
|
|
297
|
-
* const frustum2 = self.proj.mul(self.view);
|
|
298
|
-
* render.draw(self.my_pred, { frustum: frustum2, frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
299
290
|
* },
|
|
300
291
|
* });
|
|
301
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
|
+
* ```
|
|
302
318
|
*/
|
|
303
|
-
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;
|
|
304
320
|
/**
|
|
305
321
|
* Draws all 3d debug graphics such as lines drawn with "draw_line" messages and physics visualization.
|
|
306
322
|
*
|
|
@@ -312,7 +328,6 @@ declare global {
|
|
|
312
328
|
* int Determines which sides of the frustum will be used. Default is render.FRUSTUM_PLANES_SIDES.
|
|
313
329
|
*
|
|
314
330
|
* - render.FRUSTUM_PLANES_SIDES : The left, right, top and bottom sides of the frustum.
|
|
315
|
-
*
|
|
316
331
|
* - render.FRUSTUM_PLANES_ALL : All sides of the frustum.
|
|
317
332
|
* @example
|
|
318
333
|
* ```ts
|
|
@@ -355,15 +370,10 @@ declare global {
|
|
|
355
370
|
* @param state - state to enable
|
|
356
371
|
*
|
|
357
372
|
* - `graphics.STATE_DEPTH_TEST`
|
|
358
|
-
*
|
|
359
373
|
* - `graphics.STATE_STENCIL_TEST`
|
|
360
|
-
*
|
|
361
374
|
* - `graphics.STATE_BLEND`
|
|
362
|
-
*
|
|
363
375
|
* - `graphics.STATE_ALPHA_TEST` ( not available on iOS and Android)
|
|
364
|
-
*
|
|
365
376
|
* - `graphics.STATE_CULL_FACE`
|
|
366
|
-
*
|
|
367
377
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
368
378
|
* @example
|
|
369
379
|
* ```ts
|
|
@@ -404,18 +414,14 @@ declare global {
|
|
|
404
414
|
* If The render target has been created as depth and/or stencil textures, these buffer types can be used:
|
|
405
415
|
*
|
|
406
416
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
407
|
-
*
|
|
408
417
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
409
418
|
*
|
|
410
419
|
* If the render target has been created with multiple color attachments, these buffer types can be used
|
|
411
420
|
* to enable those textures as well. Currently 4 color attachments are supported:
|
|
412
421
|
*
|
|
413
422
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
414
|
-
*
|
|
415
423
|
* - `graphics.BUFFER_TYPE_COLOR1_BIT`
|
|
416
|
-
*
|
|
417
424
|
* - `graphics.BUFFER_TYPE_COLOR2_BIT`
|
|
418
|
-
*
|
|
419
425
|
* - `graphics.BUFFER_TYPE_COLOR3_BIT`
|
|
420
426
|
* @example
|
|
421
427
|
* ```ts
|
|
@@ -507,9 +513,7 @@ declare global {
|
|
|
507
513
|
* @param buffer_type - which type of buffer to retrieve the height from
|
|
508
514
|
*
|
|
509
515
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
510
|
-
*
|
|
511
516
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
512
|
-
*
|
|
513
517
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
514
518
|
* @returns the height of the render target buffer texture
|
|
515
519
|
* @example
|
|
@@ -550,11 +554,8 @@ declare global {
|
|
|
550
554
|
* @param buffer_type - which type of buffer to retrieve the width from
|
|
551
555
|
*
|
|
552
556
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
553
|
-
*
|
|
554
557
|
* - `graphics.BUFFER_TYPE_COLOR[x]_BIT` (x: [0..3], if supported!)
|
|
555
|
-
*
|
|
556
558
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
557
|
-
*
|
|
558
559
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
559
560
|
* @returns the width of the render target buffer texture
|
|
560
561
|
* @example
|
|
@@ -643,7 +644,7 @@ declare global {
|
|
|
643
644
|
* const p = render.predicate([hash("opaque"), hash("smoke")]);
|
|
644
645
|
* ```
|
|
645
646
|
*/
|
|
646
|
-
function predicate(tags: (string | Hash)[]):
|
|
647
|
+
function predicate(tags: (string | Hash)[]): Opaque<"render_predicate">;
|
|
647
648
|
/**
|
|
648
649
|
* Specifies the arithmetic used when computing pixel values that are written to the frame
|
|
649
650
|
* buffer. In RGBA mode, pixels can be drawn using a function that blends the source RGBA
|
|
@@ -711,11 +712,8 @@ declare global {
|
|
|
711
712
|
* The blended RGBA values of a pixel comes from the following equations:
|
|
712
713
|
*
|
|
713
714
|
* - Rd = min(kR, Rs * sR + Rd * dR)
|
|
714
|
-
*
|
|
715
715
|
* - Gd = min(kG, Gs * sG + Gd * dG)
|
|
716
|
-
*
|
|
717
716
|
* - Bd = min(kB, Bs * sB + Bd * dB)
|
|
718
|
-
*
|
|
719
717
|
* - Ad = min(kA, As * sA + Ad * dA)
|
|
720
718
|
*
|
|
721
719
|
* Blend function `(graphics.BLEND_FACTOR_SRC_ALPHA, graphics.BLEND_FACTOR_ONE_MINUS_SRC_ALPHA)` is useful for
|
|
@@ -746,29 +744,27 @@ declare global {
|
|
|
746
744
|
* `use_frustum`
|
|
747
745
|
* boolean If true, the renderer will use the cameras view-projection matrix for frustum culling (default: false)
|
|
748
746
|
* @example
|
|
747
|
+
* Set the current camera to be used for rendering
|
|
749
748
|
* ```ts
|
|
750
|
-
*
|
|
751
|
-
*
|
|
752
|
-
*
|
|
753
|
-
*
|
|
754
|
-
*
|
|
755
|
-
*
|
|
756
|
-
*
|
|
757
|
-
*
|
|
758
|
-
*
|
|
759
|
-
*
|
|
760
|
-
*
|
|
761
|
-
*
|
|
762
|
-
*
|
|
763
|
-
*
|
|
764
|
-
*
|
|
765
|
-
*
|
|
766
|
-
* render.set_camera();
|
|
767
|
-
* },
|
|
768
|
-
* });
|
|
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
|
+
* }
|
|
769
765
|
* ```
|
|
770
766
|
*/
|
|
771
|
-
function set_camera(camera?: Url | number | string, options?: { use_frustum?: boolean }): void;
|
|
767
|
+
function set_camera(camera?: Url | number | string | Hash, options?: { use_frustum?: boolean }): void;
|
|
772
768
|
/**
|
|
773
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.
|
|
774
770
|
* The component masks are all initially `true`.
|
|
@@ -818,9 +814,7 @@ declare global {
|
|
|
818
814
|
* @param face_type - face type
|
|
819
815
|
*
|
|
820
816
|
* - `graphics.FACE_TYPE_FRONT`
|
|
821
|
-
*
|
|
822
817
|
* - `graphics.FACE_TYPE_BACK`
|
|
823
|
-
*
|
|
824
818
|
* - `graphics.FACE_TYPE_FRONT_AND_BACK`
|
|
825
819
|
* @example
|
|
826
820
|
* ```ts
|
|
@@ -838,19 +832,12 @@ declare global {
|
|
|
838
832
|
* Function constants:
|
|
839
833
|
*
|
|
840
834
|
* - `graphics.COMPARE_FUNC_NEVER` (never passes)
|
|
841
|
-
*
|
|
842
835
|
* - `graphics.COMPARE_FUNC_LESS` (passes if the incoming depth value is less than the stored value)
|
|
843
|
-
*
|
|
844
836
|
* - `graphics.COMPARE_FUNC_LEQUAL` (passes if the incoming depth value is less than or equal to the stored value)
|
|
845
|
-
*
|
|
846
837
|
* - `graphics.COMPARE_FUNC_GREATER` (passes if the incoming depth value is greater than the stored value)
|
|
847
|
-
*
|
|
848
838
|
* - `graphics.COMPARE_FUNC_GEQUAL` (passes if the incoming depth value is greater than or equal to the stored value)
|
|
849
|
-
*
|
|
850
839
|
* - `graphics.COMPARE_FUNC_EQUAL` (passes if the incoming depth value is equal to the stored value)
|
|
851
|
-
*
|
|
852
840
|
* - `graphics.COMPARE_FUNC_NOTEQUAL` (passes if the incoming depth value is not equal to the stored value)
|
|
853
|
-
*
|
|
854
841
|
* - `graphics.COMPARE_FUNC_ALWAYS` (always passes)
|
|
855
842
|
*
|
|
856
843
|
* The depth function is initially set to `graphics.COMPARE_FUNC_LESS`.
|
|
@@ -962,9 +949,7 @@ declare global {
|
|
|
962
949
|
* A buffer type defined that doesn't exist in the render target is silently ignored.
|
|
963
950
|
*
|
|
964
951
|
* - `graphics.BUFFER_TYPE_COLOR0_BIT`
|
|
965
|
-
*
|
|
966
952
|
* - `graphics.BUFFER_TYPE_DEPTH_BIT`
|
|
967
|
-
*
|
|
968
953
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
969
954
|
* @example
|
|
970
955
|
* How to set a render target and draw to it and then switch back to the default render target
|
|
@@ -1020,7 +1005,7 @@ declare global {
|
|
|
1020
1005
|
* });
|
|
1021
1006
|
* ```
|
|
1022
1007
|
*/
|
|
1023
|
-
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;
|
|
1024
1009
|
/**
|
|
1025
1010
|
* Sets the render target size for a render target created from
|
|
1026
1011
|
* either a render script, or from a render target resource.
|
|
@@ -1061,19 +1046,12 @@ declare global {
|
|
|
1061
1046
|
* Function constant:
|
|
1062
1047
|
*
|
|
1063
1048
|
* - `graphics.COMPARE_FUNC_NEVER` (never passes)
|
|
1064
|
-
*
|
|
1065
1049
|
* - `graphics.COMPARE_FUNC_LESS` (passes if (ref & mask) < (stencil & mask))
|
|
1066
|
-
*
|
|
1067
1050
|
* - `graphics.COMPARE_FUNC_LEQUAL` (passes if (ref & mask) <= (stencil & mask))
|
|
1068
|
-
*
|
|
1069
1051
|
* - `graphics.COMPARE_FUNC_GREATER` (passes if (ref & mask) > (stencil & mask))
|
|
1070
|
-
*
|
|
1071
1052
|
* - `graphics.COMPARE_FUNC_GEQUAL` (passes if (ref & mask) >= (stencil & mask))
|
|
1072
|
-
*
|
|
1073
1053
|
* - `graphics.COMPARE_FUNC_EQUAL` (passes if (ref & mask) = (stencil & mask))
|
|
1074
|
-
*
|
|
1075
1054
|
* - `graphics.COMPARE_FUNC_NOTEQUAL` (passes if (ref & mask) != (stencil & mask))
|
|
1076
|
-
*
|
|
1077
1055
|
* - `graphics.COMPARE_FUNC_ALWAYS` (always passes)
|
|
1078
1056
|
*
|
|
1079
1057
|
* @param func - stencil test function, see the description for available values
|
|
@@ -1114,19 +1092,12 @@ declare global {
|
|
|
1114
1092
|
* Operator constants:
|
|
1115
1093
|
*
|
|
1116
1094
|
* - `graphics.STENCIL_OP_KEEP` (keeps the current value)
|
|
1117
|
-
*
|
|
1118
1095
|
* - `graphics.STENCIL_OP_ZERO` (sets the stencil buffer value to 0)
|
|
1119
|
-
*
|
|
1120
1096
|
* - `graphics.STENCIL_OP_REPLACE` (sets the stencil buffer value to `ref`, as specified by render.set_stencil_func)
|
|
1121
|
-
*
|
|
1122
1097
|
* - `graphics.STENCIL_OP_INCR` (increments the stencil buffer value and clamp to the maximum representable unsigned value)
|
|
1123
|
-
*
|
|
1124
1098
|
* - `graphics.STENCIL_OP_INCR_WRAP` (increments the stencil buffer value and wrap to zero when incrementing the maximum representable unsigned value)
|
|
1125
|
-
*
|
|
1126
1099
|
* - `graphics.STENCIL_OP_DECR` (decrements the current stencil buffer value and clamp to 0)
|
|
1127
|
-
*
|
|
1128
1100
|
* - `graphics.STENCIL_OP_DECR_WRAP` (decrements the current stencil buffer value and wrap to the maximum representable unsigned value when decrementing zero)
|
|
1129
|
-
*
|
|
1130
1101
|
* - `graphics.STENCIL_OP_INVERT` (bitwise inverts the current stencil buffer value)
|
|
1131
1102
|
*
|
|
1132
1103
|
* `dppass` and `dpfail` specify the stencil buffer actions depending on whether subsequent
|