@defold-typescript/types 0.37.0 → 0.39.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-signatures.json +348 -267
- package/examples/translations.json +323 -147
- package/generated/b2d_body.d.ts +7 -4
- package/generated/buffer.d.ts +16 -4
- package/generated/camera.d.ts +1 -0
- package/generated/collectionfactory.d.ts +5 -2
- package/generated/collectionproxy.d.ts +1 -1
- package/generated/factory.d.ts +2 -1
- package/generated/go.d.ts +141 -86
- package/generated/graphics.d.ts +2 -0
- package/generated/gui.d.ts +65 -40
- package/generated/html5.d.ts +1 -1
- package/generated/http.d.ts +4 -0
- package/generated/model.d.ts +9 -4
- package/generated/particlefx.d.ts +1 -1
- package/generated/physics.d.ts +16 -9
- package/generated/profiler.d.ts +9 -2
- package/generated/render.d.ts +224 -99
- package/generated/resource.d.ts +143 -157
- package/generated/socket.d.ts +13 -8
- package/generated/sound.d.ts +3 -2
- package/generated/sys.d.ts +16 -10
- package/generated/tilemap.d.ts +25 -19
- package/generated/timer.d.ts +33 -24
- package/generated/versions/defold-1.12.4/buffer.d.ts +16 -4
- package/generated/versions/defold-1.12.4/camera.d.ts +1 -0
- package/generated/versions/defold-1.12.4/collectionfactory.d.ts +5 -2
- package/generated/versions/defold-1.12.4/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.12.4/factory.d.ts +2 -1
- package/generated/versions/defold-1.12.4/go.d.ts +141 -86
- package/generated/versions/defold-1.12.4/graphics.d.ts +2 -0
- package/generated/versions/defold-1.12.4/gui.d.ts +63 -39
- package/generated/versions/defold-1.12.4/html5.d.ts +1 -1
- package/generated/versions/defold-1.12.4/http.d.ts +4 -0
- package/generated/versions/defold-1.12.4/model.d.ts +9 -4
- package/generated/versions/defold-1.12.4/particlefx.d.ts +1 -1
- package/generated/versions/defold-1.12.4/physics.d.ts +16 -9
- package/generated/versions/defold-1.12.4/profiler.d.ts +9 -2
- package/generated/versions/defold-1.12.4/render.d.ts +223 -98
- package/generated/versions/defold-1.12.4/resource.d.ts +143 -157
- package/generated/versions/defold-1.12.4/socket.d.ts +13 -8
- package/generated/versions/defold-1.12.4/sound.d.ts +3 -2
- package/generated/versions/defold-1.12.4/sys.d.ts +16 -10
- package/generated/versions/defold-1.12.4/tilemap.d.ts +25 -19
- package/generated/versions/defold-1.12.4/timer.d.ts +33 -24
- package/generated/versions/defold-1.12.4/vmath.d.ts +13 -5
- package/generated/versions/defold-1.12.4/window.d.ts +5 -3
- package/generated/versions/defold-1.13.0/b2d_body.d.ts +7 -4
- package/generated/versions/defold-1.13.0/buffer.d.ts +16 -4
- package/generated/versions/defold-1.13.0/camera.d.ts +1 -0
- package/generated/versions/defold-1.13.0/collectionfactory.d.ts +5 -2
- package/generated/versions/defold-1.13.0/collectionproxy.d.ts +1 -1
- package/generated/versions/defold-1.13.0/factory.d.ts +2 -1
- package/generated/versions/defold-1.13.0/go.d.ts +141 -86
- package/generated/versions/defold-1.13.0/graphics.d.ts +2 -0
- package/generated/versions/defold-1.13.0/gui.d.ts +63 -39
- package/generated/versions/defold-1.13.0/html5.d.ts +1 -1
- package/generated/versions/defold-1.13.0/http.d.ts +4 -0
- package/generated/versions/defold-1.13.0/model.d.ts +9 -4
- package/generated/versions/defold-1.13.0/particlefx.d.ts +1 -1
- package/generated/versions/defold-1.13.0/physics.d.ts +16 -9
- package/generated/versions/defold-1.13.0/profiler.d.ts +9 -2
- package/generated/versions/defold-1.13.0/render.d.ts +224 -99
- package/generated/versions/defold-1.13.0/resource.d.ts +143 -157
- package/generated/versions/defold-1.13.0/socket.d.ts +13 -8
- package/generated/versions/defold-1.13.0/sound.d.ts +3 -2
- package/generated/versions/defold-1.13.0/sys.d.ts +16 -10
- package/generated/versions/defold-1.13.0/tilemap.d.ts +25 -19
- package/generated/versions/defold-1.13.0/timer.d.ts +33 -24
- package/generated/versions/defold-1.13.0/vmath.d.ts +13 -5
- package/generated/versions/defold-1.13.0/window.d.ts +5 -3
- package/generated/vmath.d.ts +13 -5
- package/generated/window.d.ts +5 -3
- package/package.json +2 -1
- package/src/api-doc.ts +8 -0
- package/src/doc-comment.ts +213 -32
- package/src/emit-dts.ts +501 -10
- package/src/example-store.ts +26 -0
- package/src/index.ts +5 -0
- package/src/lifecycle.ts +31 -8
- package/src/message-dispatch.d.ts +55 -13
- package/src/msg-overloads.d.ts +73 -3
- package/src/render-overloads.d.ts +0 -17
|
@@ -17,6 +17,7 @@ declare global {
|
|
|
17
17
|
type constant_buffer = Opaque<"constant_buffer">;
|
|
18
18
|
type render_target = Opaque<"render_target">;
|
|
19
19
|
type texture = Opaque<"texture">;
|
|
20
|
+
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
20
21
|
const FRUSTUM_PLANES_ALL: number & { readonly __brand: "render.FRUSTUM_PLANES_ALL" };
|
|
21
22
|
const FRUSTUM_PLANES_SIDES: number & { readonly __brand: "render.FRUSTUM_PLANES_SIDES" };
|
|
22
23
|
const RENDER_TARGET_DEFAULT: number & { readonly __brand: "render.RENDER_TARGET_DEFAULT" };
|
|
@@ -52,7 +53,7 @@ declare global {
|
|
|
52
53
|
* render.clear(buffers);
|
|
53
54
|
* ```
|
|
54
55
|
*/
|
|
55
|
-
function clear(buffers: LuaMap<
|
|
56
|
+
function clear(buffers: LuaMap<render.ClearBufferKey, number | Vector4>): void;
|
|
56
57
|
/**
|
|
57
58
|
* Constant buffers are used to set shader program variables and are optionally passed to the `render.draw()` function.
|
|
58
59
|
* The buffer's constant elements can be indexed like an ordinary Lua table, but you can't iterate over them with pairs() or ipairs().
|
|
@@ -60,30 +61,38 @@ declare global {
|
|
|
60
61
|
* @returns new constant buffer
|
|
61
62
|
* @example
|
|
62
63
|
* ```ts
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
* // Then use the constant buffer when drawing a predicate:
|
|
68
|
-
* render.draw(self.my_pred, { constants });
|
|
69
|
-
*
|
|
70
|
-
* // The constant buffer also supports array values by specifying constants in an array:
|
|
71
|
-
* const constants2 = render.constant_buffer();
|
|
72
|
-
* constants2.light_colors = [];
|
|
73
|
-
* constants2.light_colors[0] = vmath.vector4(1, 0, 0, 1);
|
|
74
|
-
* constants2.light_colors[1] = vmath.vector4(0, 1, 0, 1);
|
|
75
|
-
* constants2.light_colors[2] = vmath.vector4(0, 0, 1, 1);
|
|
76
|
-
*
|
|
77
|
-
* // You can also create the array by passing the vectors directly:
|
|
78
|
-
* const constants3 = render.constant_buffer();
|
|
79
|
-
* constants3.light_colors = [
|
|
80
|
-
* vmath.vector4(1, 0, 0, 1),
|
|
81
|
-
* vmath.vector4(0, 1, 0, 1),
|
|
82
|
-
* vmath.vector4(0, 0, 1, 1),
|
|
83
|
-
* ];
|
|
64
|
+
* export default defineRenderScript({
|
|
65
|
+
* init() {
|
|
66
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
67
|
+
* },
|
|
84
68
|
*
|
|
85
|
-
*
|
|
86
|
-
*
|
|
69
|
+
* update(self, dt) {
|
|
70
|
+
* // Set a "tint" constant in a constant buffer in the render script:
|
|
71
|
+
* const constants = render.constant_buffer();
|
|
72
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
73
|
+
*
|
|
74
|
+
* // Then use the constant buffer when drawing a predicate:
|
|
75
|
+
* render.draw(self.my_pred, { constants });
|
|
76
|
+
*
|
|
77
|
+
* // The constant buffer also supports array values by specifying constants in an array:
|
|
78
|
+
* const constants2 = render.constant_buffer();
|
|
79
|
+
* constants2.light_colors = [];
|
|
80
|
+
* constants2.light_colors[0] = vmath.vector4(1, 0, 0, 1);
|
|
81
|
+
* constants2.light_colors[1] = vmath.vector4(0, 1, 0, 1);
|
|
82
|
+
* constants2.light_colors[2] = vmath.vector4(0, 0, 1, 1);
|
|
83
|
+
*
|
|
84
|
+
* // You can also create the array by passing the vectors directly:
|
|
85
|
+
* const constants3 = render.constant_buffer();
|
|
86
|
+
* constants3.light_colors = [
|
|
87
|
+
* vmath.vector4(1, 0, 0, 1),
|
|
88
|
+
* vmath.vector4(0, 1, 0, 1),
|
|
89
|
+
* vmath.vector4(0, 0, 1, 1),
|
|
90
|
+
* ];
|
|
91
|
+
*
|
|
92
|
+
* // Add more constants to the array
|
|
93
|
+
* constants3.light_colors[3] = vmath.vector4(1, 1, 1, 1);
|
|
94
|
+
* },
|
|
95
|
+
* });
|
|
87
96
|
* ```
|
|
88
97
|
*/
|
|
89
98
|
function constant_buffer(): Opaque<"constant_buffer">;
|
|
@@ -94,8 +103,16 @@ declare global {
|
|
|
94
103
|
* @param render_target - render target to delete
|
|
95
104
|
* @example
|
|
96
105
|
* ```ts
|
|
97
|
-
*
|
|
98
|
-
*
|
|
106
|
+
* export default defineRenderScript({
|
|
107
|
+
* init() {
|
|
108
|
+
* return { my_render_target: render.render_target("my_target", {}) };
|
|
109
|
+
* },
|
|
110
|
+
*
|
|
111
|
+
* final(self) {
|
|
112
|
+
* // How to delete a render target:
|
|
113
|
+
* render.delete_render_target(self.my_render_target);
|
|
114
|
+
* },
|
|
115
|
+
* });
|
|
99
116
|
* ```
|
|
100
117
|
*/
|
|
101
118
|
function delete_render_target(render_target: Opaque<"render_target">): void;
|
|
@@ -106,10 +123,18 @@ declare global {
|
|
|
106
123
|
*
|
|
107
124
|
* @example
|
|
108
125
|
* ```ts
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* render.
|
|
112
|
-
*
|
|
126
|
+
* export default defineRenderScript({
|
|
127
|
+
* init() {
|
|
128
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
129
|
+
* },
|
|
130
|
+
*
|
|
131
|
+
* update(self, dt) {
|
|
132
|
+
* // Enable material named "glow", then draw my_pred with it.
|
|
133
|
+
* render.enable_material("glow");
|
|
134
|
+
* render.draw(self.my_pred);
|
|
135
|
+
* render.disable_material();
|
|
136
|
+
* },
|
|
137
|
+
* });
|
|
113
138
|
* ```
|
|
114
139
|
*/
|
|
115
140
|
function disable_material(): void;
|
|
@@ -131,19 +156,27 @@ declare global {
|
|
|
131
156
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
132
157
|
* @example
|
|
133
158
|
* ```ts
|
|
134
|
-
*
|
|
135
|
-
*
|
|
136
|
-
* render.
|
|
159
|
+
* export default defineRenderScript({
|
|
160
|
+
* init() {
|
|
161
|
+
* return { tile_pred: render.predicate([hash("tile")]) };
|
|
162
|
+
* },
|
|
163
|
+
*
|
|
164
|
+
* update(self, dt) {
|
|
165
|
+
* // Disable face culling when drawing the tile predicate:
|
|
166
|
+
* render.disable_state(graphics.STATE_CULL_FACE);
|
|
167
|
+
* render.draw(self.tile_pred);
|
|
168
|
+
* },
|
|
169
|
+
* });
|
|
137
170
|
* ```
|
|
138
171
|
*/
|
|
139
|
-
function disable_state(state:
|
|
172
|
+
function disable_state(state: graphics.State): void;
|
|
140
173
|
/**
|
|
141
174
|
* Disables a texture that has previourly been enabled.
|
|
142
175
|
*
|
|
143
176
|
* @param binding - texture binding, either by texture unit, string or hash that should be disabled
|
|
144
177
|
* @example
|
|
145
178
|
* ```ts
|
|
146
|
-
* export default
|
|
179
|
+
* export default defineRenderScript({
|
|
147
180
|
* update(self, dt) {
|
|
148
181
|
* render.enable_texture(0, self.my_render_target, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
149
182
|
* // draw a predicate with the render target available as texture 0 in the predicate
|
|
@@ -172,7 +205,7 @@ declare global {
|
|
|
172
205
|
* constant_buffer optional constants to use while rendering
|
|
173
206
|
* @example
|
|
174
207
|
* ```ts
|
|
175
|
-
* export default
|
|
208
|
+
* export default defineRenderScript({
|
|
176
209
|
* init() {
|
|
177
210
|
* const color_params = {
|
|
178
211
|
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
@@ -224,7 +257,7 @@ declare global {
|
|
|
224
257
|
* int How to sort draw order for world-ordered entries. Default uses the renderer's preferred world sorting (back-to-front).
|
|
225
258
|
* @example
|
|
226
259
|
* ```ts
|
|
227
|
-
* export default
|
|
260
|
+
* export default defineRenderScript({
|
|
228
261
|
* init() {
|
|
229
262
|
* // define a predicate matching anything with material tag "my_tag"
|
|
230
263
|
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
@@ -233,21 +266,21 @@ declare global {
|
|
|
233
266
|
* update(self, dt) {
|
|
234
267
|
* // draw everything in the my_pred predicate
|
|
235
268
|
* render.draw(self.my_pred);
|
|
236
|
-
* },
|
|
237
|
-
* });
|
|
238
269
|
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
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 });
|
|
243
274
|
*
|
|
244
|
-
*
|
|
245
|
-
*
|
|
246
|
-
*
|
|
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 });
|
|
247
278
|
*
|
|
248
|
-
*
|
|
249
|
-
*
|
|
250
|
-
*
|
|
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
|
+
* },
|
|
283
|
+
* });
|
|
251
284
|
* ```
|
|
252
285
|
*/
|
|
253
286
|
function draw(predicate: number, options?: { frustum?: Matrix4; frustum_planes?: number; constants?: Opaque<"constant_buffer">; sort_order?: number }): void;
|
|
@@ -266,7 +299,7 @@ declare global {
|
|
|
266
299
|
* - render.FRUSTUM_PLANES_ALL : All sides of the frustum.
|
|
267
300
|
* @example
|
|
268
301
|
* ```ts
|
|
269
|
-
* export default
|
|
302
|
+
* export default defineRenderScript({
|
|
270
303
|
* update(self, dt) {
|
|
271
304
|
* // draw debug visualization
|
|
272
305
|
* render.draw_debug3d();
|
|
@@ -284,10 +317,18 @@ declare global {
|
|
|
284
317
|
* @param material_id - material id to enable
|
|
285
318
|
* @example
|
|
286
319
|
* ```ts
|
|
287
|
-
*
|
|
288
|
-
*
|
|
289
|
-
* render.
|
|
290
|
-
*
|
|
320
|
+
* export default defineRenderScript({
|
|
321
|
+
* init() {
|
|
322
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
323
|
+
* },
|
|
324
|
+
*
|
|
325
|
+
* update(self, dt) {
|
|
326
|
+
* // Enable material named "glow", then draw my_pred with it.
|
|
327
|
+
* render.enable_material("glow");
|
|
328
|
+
* render.draw(self.my_pred);
|
|
329
|
+
* render.disable_material();
|
|
330
|
+
* },
|
|
331
|
+
* });
|
|
291
332
|
* ```
|
|
292
333
|
*/
|
|
293
334
|
function enable_material(material_id: string | Hash): void;
|
|
@@ -309,13 +350,21 @@ declare global {
|
|
|
309
350
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
310
351
|
* @example
|
|
311
352
|
* ```ts
|
|
312
|
-
*
|
|
313
|
-
*
|
|
314
|
-
* render.
|
|
315
|
-
*
|
|
353
|
+
* export default defineRenderScript({
|
|
354
|
+
* init() {
|
|
355
|
+
* return { gui_pred: render.predicate([hash("gui")]) };
|
|
356
|
+
* },
|
|
357
|
+
*
|
|
358
|
+
* update(self, dt) {
|
|
359
|
+
* // Enable stencil test when drawing the gui predicate, then disable it:
|
|
360
|
+
* render.enable_state(graphics.STATE_STENCIL_TEST);
|
|
361
|
+
* render.draw(self.gui_pred);
|
|
362
|
+
* render.disable_state(graphics.STATE_STENCIL_TEST);
|
|
363
|
+
* },
|
|
364
|
+
* });
|
|
316
365
|
* ```
|
|
317
366
|
*/
|
|
318
|
-
function enable_state(state:
|
|
367
|
+
function enable_state(state: graphics.State): void;
|
|
319
368
|
/**
|
|
320
369
|
* Sets the specified texture handle for a render target attachment or a regular texture
|
|
321
370
|
* that should be used for rendering. The texture can be bound to either a texture unit
|
|
@@ -353,7 +402,7 @@ declare global {
|
|
|
353
402
|
* - `graphics.BUFFER_TYPE_COLOR3_BIT`
|
|
354
403
|
* @example
|
|
355
404
|
* ```ts
|
|
356
|
-
* export default
|
|
405
|
+
* export default defineRenderScript({
|
|
357
406
|
* update(self, dt) {
|
|
358
407
|
* // enable target so all drawing is done to it
|
|
359
408
|
* render.set_render_target(self.my_render_target);
|
|
@@ -370,9 +419,11 @@ declare global {
|
|
|
370
419
|
* render.draw(self.my_pred);
|
|
371
420
|
* },
|
|
372
421
|
* });
|
|
373
|
-
*
|
|
422
|
+
* ```
|
|
423
|
+
* @example
|
|
424
|
+
* ```ts
|
|
374
425
|
* // Or enable a render target by resource id:
|
|
375
|
-
* export default
|
|
426
|
+
* export default defineRenderScript({
|
|
376
427
|
* update(self, dt) {
|
|
377
428
|
* render.set_render_target("my_rt_resource");
|
|
378
429
|
* render.draw(self.my_pred);
|
|
@@ -384,9 +435,11 @@ declare global {
|
|
|
384
435
|
* render.draw(self.my_pred);
|
|
385
436
|
* },
|
|
386
437
|
* });
|
|
387
|
-
*
|
|
438
|
+
* ```
|
|
439
|
+
* @example
|
|
440
|
+
* ```ts
|
|
388
441
|
* // Or bind a texture handle directly:
|
|
389
|
-
* export default
|
|
442
|
+
* export default defineRenderScript({
|
|
390
443
|
* update(self, dt) {
|
|
391
444
|
* // bind a texture to the texture unit 0
|
|
392
445
|
* render.enable_texture(0, self.my_texture_handle);
|
|
@@ -396,7 +449,7 @@ declare global {
|
|
|
396
449
|
* });
|
|
397
450
|
* ```
|
|
398
451
|
*/
|
|
399
|
-
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash, buffer_type?:
|
|
452
|
+
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash, buffer_type?: graphics.BufferType): void;
|
|
400
453
|
/**
|
|
401
454
|
* Returns the logical window height that is set in the "game.project" settings.
|
|
402
455
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -424,13 +477,35 @@ declare global {
|
|
|
424
477
|
* @returns the height of the render target buffer texture
|
|
425
478
|
* @example
|
|
426
479
|
* ```ts
|
|
427
|
-
*
|
|
428
|
-
*
|
|
429
|
-
*
|
|
430
|
-
*
|
|
480
|
+
* export default defineRenderScript({
|
|
481
|
+
* init() {
|
|
482
|
+
* // render target buffer parameters
|
|
483
|
+
* const color_params = {
|
|
484
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
485
|
+
* width: render.get_window_width(),
|
|
486
|
+
* height: render.get_window_height(),
|
|
487
|
+
* min_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
488
|
+
* mag_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
489
|
+
* u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
490
|
+
* v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
491
|
+
* };
|
|
492
|
+
* return {
|
|
493
|
+
* target_right: render.render_target("right", {
|
|
494
|
+
* [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params,
|
|
495
|
+
* }),
|
|
496
|
+
* };
|
|
497
|
+
* },
|
|
498
|
+
*
|
|
499
|
+
* update(self, dt) {
|
|
500
|
+
* // get the height of the render target color buffer
|
|
501
|
+
* const h = render.get_render_target_height(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
502
|
+
* // get the height of a render target resource
|
|
503
|
+
* const w = render.get_render_target_height("my_rt_resource", graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
504
|
+
* },
|
|
505
|
+
* });
|
|
431
506
|
* ```
|
|
432
507
|
*/
|
|
433
|
-
function get_render_target_height(render_target: Opaque<"render_target">, buffer_type:
|
|
508
|
+
function get_render_target_height(render_target: Opaque<"render_target">, buffer_type: graphics.BufferType): number;
|
|
434
509
|
/**
|
|
435
510
|
* Returns the specified buffer width from a render target.
|
|
436
511
|
*
|
|
@@ -447,13 +522,35 @@ declare global {
|
|
|
447
522
|
* @returns the width of the render target buffer texture
|
|
448
523
|
* @example
|
|
449
524
|
* ```ts
|
|
450
|
-
*
|
|
451
|
-
*
|
|
452
|
-
*
|
|
453
|
-
*
|
|
525
|
+
* export default defineRenderScript({
|
|
526
|
+
* init() {
|
|
527
|
+
* // render target buffer parameters
|
|
528
|
+
* const color_params = {
|
|
529
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
530
|
+
* width: render.get_window_width(),
|
|
531
|
+
* height: render.get_window_height(),
|
|
532
|
+
* min_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
533
|
+
* mag_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
534
|
+
* u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
535
|
+
* v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
536
|
+
* };
|
|
537
|
+
* return {
|
|
538
|
+
* target_right: render.render_target("right", {
|
|
539
|
+
* [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params,
|
|
540
|
+
* }),
|
|
541
|
+
* };
|
|
542
|
+
* },
|
|
543
|
+
*
|
|
544
|
+
* update(self, dt) {
|
|
545
|
+
* // get the width of the render target color buffer
|
|
546
|
+
* const w = render.get_render_target_width(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
547
|
+
* // get the width of a render target resource
|
|
548
|
+
* const w2 = render.get_render_target_width("my_rt_resource", graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
549
|
+
* },
|
|
550
|
+
* });
|
|
454
551
|
* ```
|
|
455
552
|
*/
|
|
456
|
-
function get_render_target_width(render_target: Opaque<"render_target">, buffer_type:
|
|
553
|
+
function get_render_target_width(render_target: Opaque<"render_target">, buffer_type: graphics.BufferType): number;
|
|
457
554
|
/**
|
|
458
555
|
* Returns the logical window width that is set in the "game.project" settings.
|
|
459
556
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -613,17 +710,25 @@ declare global {
|
|
|
613
710
|
* boolean If true, the renderer will use the cameras view-projection matrix for frustum culling (default: false)
|
|
614
711
|
* @example
|
|
615
712
|
* ```ts
|
|
616
|
-
*
|
|
617
|
-
*
|
|
618
|
-
* render.
|
|
619
|
-
*
|
|
713
|
+
* export default defineRenderScript({
|
|
714
|
+
* init() {
|
|
715
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
716
|
+
* },
|
|
620
717
|
*
|
|
621
|
-
*
|
|
622
|
-
*
|
|
623
|
-
*
|
|
624
|
-
*
|
|
625
|
-
*
|
|
626
|
-
*
|
|
718
|
+
* update(self, dt) {
|
|
719
|
+
* // Set the current camera to be used for rendering
|
|
720
|
+
* render.set_camera("main:/my_go#camera");
|
|
721
|
+
* render.draw(self.my_pred);
|
|
722
|
+
* render.set_camera(undefined);
|
|
723
|
+
*
|
|
724
|
+
* // Use the camera frustum for frustum culling together with a specific frustum plane option for the draw command
|
|
725
|
+
* // The camera frustum will take precedence over the frustum plane option in render.draw
|
|
726
|
+
* render.set_camera("main:/my_go#camera", { use_frustum: true });
|
|
727
|
+
* // However, we can still customize the frustum planes regardless of the camera option!
|
|
728
|
+
* render.draw(self.my_pred, { frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
729
|
+
* render.set_camera();
|
|
730
|
+
* },
|
|
731
|
+
* });
|
|
627
732
|
* ```
|
|
628
733
|
*/
|
|
629
734
|
function set_camera(camera?: Url | number, options?: { use_frustum?: boolean }): void;
|
|
@@ -650,11 +755,19 @@ declare global {
|
|
|
650
755
|
* @param compute - compute id to use, or nil to disable
|
|
651
756
|
* @example
|
|
652
757
|
* ```ts
|
|
653
|
-
*
|
|
654
|
-
*
|
|
655
|
-
*
|
|
656
|
-
*
|
|
657
|
-
*
|
|
758
|
+
* export default defineRenderScript({
|
|
759
|
+
* init() {
|
|
760
|
+
* return { backing_texture: "my_texture_resource" };
|
|
761
|
+
* },
|
|
762
|
+
*
|
|
763
|
+
* update(self, dt) {
|
|
764
|
+
* // Enable compute program named "fractals", then dispatch it.
|
|
765
|
+
* render.set_compute("fractals");
|
|
766
|
+
* render.enable_texture(0, self.backing_texture);
|
|
767
|
+
* render.dispatch_compute(128, 128, 1);
|
|
768
|
+
* render.set_compute();
|
|
769
|
+
* },
|
|
770
|
+
* });
|
|
658
771
|
* ```
|
|
659
772
|
*/
|
|
660
773
|
function set_compute(compute?: string | Hash): void;
|
|
@@ -744,7 +857,7 @@ declare global {
|
|
|
744
857
|
* ```ts
|
|
745
858
|
* // Set listener and handle render context events.
|
|
746
859
|
* // custom.render_script
|
|
747
|
-
* export default
|
|
860
|
+
* export default defineRenderScript({
|
|
748
861
|
* init() {
|
|
749
862
|
* render.set_listener((self, event_type) => {
|
|
750
863
|
* if (event_type === render.CONTEXT_EVENT_CONTEXT_LOST) {
|
|
@@ -817,10 +930,12 @@ declare global {
|
|
|
817
930
|
*
|
|
818
931
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
819
932
|
* @example
|
|
933
|
+
* How to set a render target and draw to it and then switch back to the default render target
|
|
934
|
+
* 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
|
|
820
935
|
* ```ts
|
|
821
936
|
* // How to set a render target and draw to it and then switch back to the default render target
|
|
822
937
|
* // 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
|
|
823
|
-
* export default
|
|
938
|
+
* export default defineRenderScript({
|
|
824
939
|
* update(self, dt) {
|
|
825
940
|
* // set render target so all drawing is done to it
|
|
826
941
|
* render.set_render_target(self.my_render_target, {
|
|
@@ -835,9 +950,11 @@ declare global {
|
|
|
835
950
|
* render.set_render_target(render.RENDER_TARGET_DEFAULT);
|
|
836
951
|
* },
|
|
837
952
|
* });
|
|
838
|
-
*
|
|
953
|
+
* ```
|
|
954
|
+
* @example
|
|
955
|
+
* ```ts
|
|
839
956
|
* // Or set the render target by a render target resource identifier:
|
|
840
|
-
* export default
|
|
957
|
+
* export default defineRenderScript({
|
|
841
958
|
* update(self, dt) {
|
|
842
959
|
* render.set_render_target("my_rt_resource");
|
|
843
960
|
*
|
|
@@ -860,9 +977,17 @@ declare global {
|
|
|
860
977
|
* @param height - new render target height
|
|
861
978
|
* @example
|
|
862
979
|
* ```ts
|
|
863
|
-
*
|
|
864
|
-
*
|
|
865
|
-
* render.
|
|
980
|
+
* export default defineRenderScript({
|
|
981
|
+
* init() {
|
|
982
|
+
* return { my_render_target: render.render_target("my_target", {}) };
|
|
983
|
+
* },
|
|
984
|
+
*
|
|
985
|
+
* update(self, dt) {
|
|
986
|
+
* // Resize render targets to the current window size:
|
|
987
|
+
* render.set_render_target_size(self.my_render_target, render.get_window_width(), render.get_window_height());
|
|
988
|
+
* render.set_render_target_size("my_rt_resource", render.get_window_width(), render.get_window_height());
|
|
989
|
+
* },
|
|
990
|
+
* });
|
|
866
991
|
* ```
|
|
867
992
|
*/
|
|
868
993
|
function set_render_target_size(render_target: Opaque<"render_target">, width: number, height: number): void;
|
|
@@ -976,7 +1101,7 @@ declare global {
|
|
|
976
1101
|
* ```ts
|
|
977
1102
|
* // How to set the view and projection matrices according to
|
|
978
1103
|
* // the values supplied by a camera.
|
|
979
|
-
* export default
|
|
1104
|
+
* export default defineRenderScript({
|
|
980
1105
|
* init() {
|
|
981
1106
|
* return {
|
|
982
1107
|
* view: vmath.matrix4(),
|