@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
|
@@ -9,6 +9,7 @@ declare global {
|
|
|
9
9
|
type constant_buffer = Opaque<"constant_buffer">;
|
|
10
10
|
type render_target = Opaque<"render_target">;
|
|
11
11
|
type texture = Opaque<"texture">;
|
|
12
|
+
type ClearBufferKey = typeof graphics.BUFFER_TYPE_COLOR0_BIT | typeof graphics.BUFFER_TYPE_DEPTH_BIT | typeof graphics.BUFFER_TYPE_STENCIL_BIT;
|
|
12
13
|
const FRUSTUM_PLANES_ALL: number & { readonly __brand: "render.FRUSTUM_PLANES_ALL" };
|
|
13
14
|
const FRUSTUM_PLANES_SIDES: number & { readonly __brand: "render.FRUSTUM_PLANES_SIDES" };
|
|
14
15
|
const RENDER_TARGET_DEFAULT: number & { readonly __brand: "render.RENDER_TARGET_DEFAULT" };
|
|
@@ -44,7 +45,7 @@ declare global {
|
|
|
44
45
|
* render.clear(buffers);
|
|
45
46
|
* ```
|
|
46
47
|
*/
|
|
47
|
-
function clear(buffers: LuaMap<
|
|
48
|
+
function clear(buffers: LuaMap<render.ClearBufferKey, number | Vector4>): void;
|
|
48
49
|
/**
|
|
49
50
|
* Constant buffers are used to set shader program variables and are optionally passed to the `render.draw()` function.
|
|
50
51
|
* The buffer's constant elements can be indexed like an ordinary Lua table, but you can't iterate over them with pairs() or ipairs().
|
|
@@ -52,30 +53,38 @@ declare global {
|
|
|
52
53
|
* @returns new constant buffer
|
|
53
54
|
* @example
|
|
54
55
|
* ```ts
|
|
55
|
-
*
|
|
56
|
-
*
|
|
57
|
-
*
|
|
56
|
+
* export default defineRenderScript({
|
|
57
|
+
* init() {
|
|
58
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
59
|
+
* },
|
|
58
60
|
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
*
|
|
67
|
-
*
|
|
68
|
-
*
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
*
|
|
77
|
-
*
|
|
78
|
-
*
|
|
61
|
+
* update(self, dt) {
|
|
62
|
+
* // Set a "tint" constant in a constant buffer in the render script:
|
|
63
|
+
* const constants = render.constant_buffer();
|
|
64
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
65
|
+
*
|
|
66
|
+
* // Then use the constant buffer when drawing a predicate:
|
|
67
|
+
* render.draw(self.my_pred, { constants });
|
|
68
|
+
*
|
|
69
|
+
* // The constant buffer also supports array values by specifying constants in an array:
|
|
70
|
+
* const constants2 = render.constant_buffer();
|
|
71
|
+
* constants2.light_colors = [];
|
|
72
|
+
* constants2.light_colors[0] = vmath.vector4(1, 0, 0, 1);
|
|
73
|
+
* constants2.light_colors[1] = vmath.vector4(0, 1, 0, 1);
|
|
74
|
+
* constants2.light_colors[2] = vmath.vector4(0, 0, 1, 1);
|
|
75
|
+
*
|
|
76
|
+
* // You can also create the array by passing the vectors directly:
|
|
77
|
+
* const constants3 = render.constant_buffer();
|
|
78
|
+
* constants3.light_colors = [
|
|
79
|
+
* vmath.vector4(1, 0, 0, 1),
|
|
80
|
+
* vmath.vector4(0, 1, 0, 1),
|
|
81
|
+
* vmath.vector4(0, 0, 1, 1),
|
|
82
|
+
* ];
|
|
83
|
+
*
|
|
84
|
+
* // Add more constants to the array
|
|
85
|
+
* constants3.light_colors[3] = vmath.vector4(1, 1, 1, 1);
|
|
86
|
+
* },
|
|
87
|
+
* });
|
|
79
88
|
* ```
|
|
80
89
|
*/
|
|
81
90
|
function constant_buffer(): Opaque<"constant_buffer">;
|
|
@@ -86,8 +95,16 @@ declare global {
|
|
|
86
95
|
* @param render_target - render target to delete
|
|
87
96
|
* @example
|
|
88
97
|
* ```ts
|
|
89
|
-
*
|
|
90
|
-
*
|
|
98
|
+
* export default defineRenderScript({
|
|
99
|
+
* init() {
|
|
100
|
+
* return { my_render_target: render.render_target("my_target", {}) };
|
|
101
|
+
* },
|
|
102
|
+
*
|
|
103
|
+
* final(self) {
|
|
104
|
+
* // How to delete a render target:
|
|
105
|
+
* render.delete_render_target(self.my_render_target);
|
|
106
|
+
* },
|
|
107
|
+
* });
|
|
91
108
|
* ```
|
|
92
109
|
*/
|
|
93
110
|
function delete_render_target(render_target: Opaque<"render_target">): void;
|
|
@@ -98,10 +115,18 @@ declare global {
|
|
|
98
115
|
*
|
|
99
116
|
* @example
|
|
100
117
|
* ```ts
|
|
101
|
-
*
|
|
102
|
-
*
|
|
103
|
-
* render.
|
|
104
|
-
*
|
|
118
|
+
* export default defineRenderScript({
|
|
119
|
+
* init() {
|
|
120
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
121
|
+
* },
|
|
122
|
+
*
|
|
123
|
+
* update(self, dt) {
|
|
124
|
+
* // Enable material named "glow", then draw my_pred with it.
|
|
125
|
+
* render.enable_material("glow");
|
|
126
|
+
* render.draw(self.my_pred);
|
|
127
|
+
* render.disable_material();
|
|
128
|
+
* },
|
|
129
|
+
* });
|
|
105
130
|
* ```
|
|
106
131
|
*/
|
|
107
132
|
function disable_material(): void;
|
|
@@ -123,19 +148,27 @@ declare global {
|
|
|
123
148
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
124
149
|
* @example
|
|
125
150
|
* ```ts
|
|
126
|
-
*
|
|
127
|
-
*
|
|
128
|
-
* render.
|
|
151
|
+
* export default defineRenderScript({
|
|
152
|
+
* init() {
|
|
153
|
+
* return { tile_pred: render.predicate([hash("tile")]) };
|
|
154
|
+
* },
|
|
155
|
+
*
|
|
156
|
+
* update(self, dt) {
|
|
157
|
+
* // Disable face culling when drawing the tile predicate:
|
|
158
|
+
* render.disable_state(graphics.STATE_CULL_FACE);
|
|
159
|
+
* render.draw(self.tile_pred);
|
|
160
|
+
* },
|
|
161
|
+
* });
|
|
129
162
|
* ```
|
|
130
163
|
*/
|
|
131
|
-
function disable_state(state:
|
|
164
|
+
function disable_state(state: graphics.State): void;
|
|
132
165
|
/**
|
|
133
166
|
* Disables a texture that has previourly been enabled.
|
|
134
167
|
*
|
|
135
168
|
* @param binding - texture binding, either by texture unit, string or hash that should be disabled
|
|
136
169
|
* @example
|
|
137
170
|
* ```ts
|
|
138
|
-
* export default
|
|
171
|
+
* export default defineRenderScript({
|
|
139
172
|
* update(self, dt) {
|
|
140
173
|
* render.enable_texture(0, self.my_render_target, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
141
174
|
* // draw a predicate with the render target available as texture 0 in the predicate
|
|
@@ -164,7 +197,7 @@ declare global {
|
|
|
164
197
|
* constant_buffer optional constants to use while rendering
|
|
165
198
|
* @example
|
|
166
199
|
* ```ts
|
|
167
|
-
* export default
|
|
200
|
+
* export default defineRenderScript({
|
|
168
201
|
* init() {
|
|
169
202
|
* const color_params = {
|
|
170
203
|
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
@@ -216,7 +249,7 @@ declare global {
|
|
|
216
249
|
* int How to sort draw order for world-ordered entries. Default uses the renderer's preferred world sorting (back-to-front).
|
|
217
250
|
* @example
|
|
218
251
|
* ```ts
|
|
219
|
-
* export default
|
|
252
|
+
* export default defineRenderScript({
|
|
220
253
|
* init() {
|
|
221
254
|
* // define a predicate matching anything with material tag "my_tag"
|
|
222
255
|
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
@@ -225,21 +258,21 @@ declare global {
|
|
|
225
258
|
* update(self, dt) {
|
|
226
259
|
* // draw everything in the my_pred predicate
|
|
227
260
|
* render.draw(self.my_pred);
|
|
228
|
-
* },
|
|
229
|
-
* });
|
|
230
261
|
*
|
|
231
|
-
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
*
|
|
262
|
+
* // Draw predicate with constants:
|
|
263
|
+
* const constants = render.constant_buffer();
|
|
264
|
+
* constants.tint = vmath.vector4(1, 1, 1, 1);
|
|
265
|
+
* render.draw(self.my_pred, { constants });
|
|
235
266
|
*
|
|
236
|
-
*
|
|
237
|
-
*
|
|
238
|
-
*
|
|
267
|
+
* // Draw with predicate and frustum culling (without near+far planes):
|
|
268
|
+
* const frustum = self.proj.mul(self.view);
|
|
269
|
+
* render.draw(self.my_pred, { frustum });
|
|
239
270
|
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
*
|
|
271
|
+
* // Draw with predicate and frustum culling (with near+far planes):
|
|
272
|
+
* const frustum2 = self.proj.mul(self.view);
|
|
273
|
+
* render.draw(self.my_pred, { frustum: frustum2, frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
274
|
+
* },
|
|
275
|
+
* });
|
|
243
276
|
* ```
|
|
244
277
|
*/
|
|
245
278
|
function draw(predicate: number, options?: { frustum?: Matrix4; frustum_planes?: number; constants?: Opaque<"constant_buffer">; sort_order?: number }): void;
|
|
@@ -258,7 +291,7 @@ declare global {
|
|
|
258
291
|
* - render.FRUSTUM_PLANES_ALL : All sides of the frustum.
|
|
259
292
|
* @example
|
|
260
293
|
* ```ts
|
|
261
|
-
* export default
|
|
294
|
+
* export default defineRenderScript({
|
|
262
295
|
* update(self, dt) {
|
|
263
296
|
* // draw debug visualization
|
|
264
297
|
* render.draw_debug3d();
|
|
@@ -276,10 +309,18 @@ declare global {
|
|
|
276
309
|
* @param material_id - material id to enable
|
|
277
310
|
* @example
|
|
278
311
|
* ```ts
|
|
279
|
-
*
|
|
280
|
-
*
|
|
281
|
-
* render.
|
|
282
|
-
*
|
|
312
|
+
* export default defineRenderScript({
|
|
313
|
+
* init() {
|
|
314
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
315
|
+
* },
|
|
316
|
+
*
|
|
317
|
+
* update(self, dt) {
|
|
318
|
+
* // Enable material named "glow", then draw my_pred with it.
|
|
319
|
+
* render.enable_material("glow");
|
|
320
|
+
* render.draw(self.my_pred);
|
|
321
|
+
* render.disable_material();
|
|
322
|
+
* },
|
|
323
|
+
* });
|
|
283
324
|
* ```
|
|
284
325
|
*/
|
|
285
326
|
function enable_material(material_id: string | Hash): void;
|
|
@@ -301,13 +342,21 @@ declare global {
|
|
|
301
342
|
* - `graphics.STATE_POLYGON_OFFSET_FILL`
|
|
302
343
|
* @example
|
|
303
344
|
* ```ts
|
|
304
|
-
*
|
|
305
|
-
*
|
|
306
|
-
* render.
|
|
307
|
-
*
|
|
345
|
+
* export default defineRenderScript({
|
|
346
|
+
* init() {
|
|
347
|
+
* return { gui_pred: render.predicate([hash("gui")]) };
|
|
348
|
+
* },
|
|
349
|
+
*
|
|
350
|
+
* update(self, dt) {
|
|
351
|
+
* // Enable stencil test when drawing the gui predicate, then disable it:
|
|
352
|
+
* render.enable_state(graphics.STATE_STENCIL_TEST);
|
|
353
|
+
* render.draw(self.gui_pred);
|
|
354
|
+
* render.disable_state(graphics.STATE_STENCIL_TEST);
|
|
355
|
+
* },
|
|
356
|
+
* });
|
|
308
357
|
* ```
|
|
309
358
|
*/
|
|
310
|
-
function enable_state(state:
|
|
359
|
+
function enable_state(state: graphics.State): void;
|
|
311
360
|
/**
|
|
312
361
|
* Sets the specified texture handle for a render target attachment or a regular texture
|
|
313
362
|
* that should be used for rendering. The texture can be bound to either a texture unit
|
|
@@ -345,7 +394,7 @@ declare global {
|
|
|
345
394
|
* - `graphics.BUFFER_TYPE_COLOR3_BIT`
|
|
346
395
|
* @example
|
|
347
396
|
* ```ts
|
|
348
|
-
* export default
|
|
397
|
+
* export default defineRenderScript({
|
|
349
398
|
* update(self, dt) {
|
|
350
399
|
* // enable target so all drawing is done to it
|
|
351
400
|
* render.set_render_target(self.my_render_target);
|
|
@@ -362,9 +411,11 @@ declare global {
|
|
|
362
411
|
* render.draw(self.my_pred);
|
|
363
412
|
* },
|
|
364
413
|
* });
|
|
365
|
-
*
|
|
414
|
+
* ```
|
|
415
|
+
* @example
|
|
416
|
+
* ```ts
|
|
366
417
|
* // Or enable a render target by resource id:
|
|
367
|
-
* export default
|
|
418
|
+
* export default defineRenderScript({
|
|
368
419
|
* update(self, dt) {
|
|
369
420
|
* render.set_render_target("my_rt_resource");
|
|
370
421
|
* render.draw(self.my_pred);
|
|
@@ -376,9 +427,11 @@ declare global {
|
|
|
376
427
|
* render.draw(self.my_pred);
|
|
377
428
|
* },
|
|
378
429
|
* });
|
|
379
|
-
*
|
|
430
|
+
* ```
|
|
431
|
+
* @example
|
|
432
|
+
* ```ts
|
|
380
433
|
* // Or bind a texture handle directly:
|
|
381
|
-
* export default
|
|
434
|
+
* export default defineRenderScript({
|
|
382
435
|
* update(self, dt) {
|
|
383
436
|
* // bind a texture to the texture unit 0
|
|
384
437
|
* render.enable_texture(0, self.my_texture_handle);
|
|
@@ -388,7 +441,7 @@ declare global {
|
|
|
388
441
|
* });
|
|
389
442
|
* ```
|
|
390
443
|
*/
|
|
391
|
-
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash, buffer_type?:
|
|
444
|
+
function enable_texture(binding: number | string | Hash, handle_or_name: Opaque<"texture"> | string | Hash, buffer_type?: graphics.BufferType): void;
|
|
392
445
|
/**
|
|
393
446
|
* Returns the logical window height that is set in the "game.project" settings.
|
|
394
447
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -416,13 +469,35 @@ declare global {
|
|
|
416
469
|
* @returns the height of the render target buffer texture
|
|
417
470
|
* @example
|
|
418
471
|
* ```ts
|
|
419
|
-
*
|
|
420
|
-
*
|
|
421
|
-
*
|
|
422
|
-
*
|
|
472
|
+
* export default defineRenderScript({
|
|
473
|
+
* init() {
|
|
474
|
+
* // render target buffer parameters
|
|
475
|
+
* const color_params = {
|
|
476
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
477
|
+
* width: render.get_window_width(),
|
|
478
|
+
* height: render.get_window_height(),
|
|
479
|
+
* min_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
480
|
+
* mag_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
481
|
+
* u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
482
|
+
* v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
483
|
+
* };
|
|
484
|
+
* return {
|
|
485
|
+
* target_right: render.render_target("right", {
|
|
486
|
+
* [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params,
|
|
487
|
+
* }),
|
|
488
|
+
* };
|
|
489
|
+
* },
|
|
490
|
+
*
|
|
491
|
+
* update(self, dt) {
|
|
492
|
+
* // get the height of the render target color buffer
|
|
493
|
+
* const h = render.get_render_target_height(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
494
|
+
* // get the height of a render target resource
|
|
495
|
+
* const w = render.get_render_target_height("my_rt_resource", graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
496
|
+
* },
|
|
497
|
+
* });
|
|
423
498
|
* ```
|
|
424
499
|
*/
|
|
425
|
-
function get_render_target_height(render_target: Opaque<"render_target">, buffer_type:
|
|
500
|
+
function get_render_target_height(render_target: Opaque<"render_target">, buffer_type: graphics.BufferType): number;
|
|
426
501
|
/**
|
|
427
502
|
* Returns the specified buffer width from a render target.
|
|
428
503
|
*
|
|
@@ -439,13 +514,35 @@ declare global {
|
|
|
439
514
|
* @returns the width of the render target buffer texture
|
|
440
515
|
* @example
|
|
441
516
|
* ```ts
|
|
442
|
-
*
|
|
443
|
-
*
|
|
444
|
-
*
|
|
445
|
-
*
|
|
517
|
+
* export default defineRenderScript({
|
|
518
|
+
* init() {
|
|
519
|
+
* // render target buffer parameters
|
|
520
|
+
* const color_params = {
|
|
521
|
+
* format: graphics.TEXTURE_FORMAT_RGBA,
|
|
522
|
+
* width: render.get_window_width(),
|
|
523
|
+
* height: render.get_window_height(),
|
|
524
|
+
* min_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
525
|
+
* mag_filter: graphics.TEXTURE_FILTER_LINEAR,
|
|
526
|
+
* u_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
527
|
+
* v_wrap: graphics.TEXTURE_WRAP_CLAMP_TO_EDGE,
|
|
528
|
+
* };
|
|
529
|
+
* return {
|
|
530
|
+
* target_right: render.render_target("right", {
|
|
531
|
+
* [graphics.BUFFER_TYPE_COLOR0_BIT]: color_params,
|
|
532
|
+
* }),
|
|
533
|
+
* };
|
|
534
|
+
* },
|
|
535
|
+
*
|
|
536
|
+
* update(self, dt) {
|
|
537
|
+
* // get the width of the render target color buffer
|
|
538
|
+
* const w = render.get_render_target_width(self.target_right, graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
539
|
+
* // get the width of a render target resource
|
|
540
|
+
* const w2 = render.get_render_target_width("my_rt_resource", graphics.BUFFER_TYPE_COLOR0_BIT);
|
|
541
|
+
* },
|
|
542
|
+
* });
|
|
446
543
|
* ```
|
|
447
544
|
*/
|
|
448
|
-
function get_render_target_width(render_target: Opaque<"render_target">, buffer_type:
|
|
545
|
+
function get_render_target_width(render_target: Opaque<"render_target">, buffer_type: graphics.BufferType): number;
|
|
449
546
|
/**
|
|
450
547
|
* Returns the logical window width that is set in the "game.project" settings.
|
|
451
548
|
* Note that the actual window pixel size can change, either by device constraints
|
|
@@ -629,17 +726,25 @@ declare global {
|
|
|
629
726
|
* boolean If true, the renderer will use the cameras view-projection matrix for frustum culling (default: false)
|
|
630
727
|
* @example
|
|
631
728
|
* ```ts
|
|
632
|
-
*
|
|
633
|
-
*
|
|
634
|
-
* render.
|
|
635
|
-
*
|
|
636
|
-
*
|
|
637
|
-
*
|
|
638
|
-
*
|
|
639
|
-
*
|
|
640
|
-
*
|
|
641
|
-
*
|
|
642
|
-
*
|
|
729
|
+
* export default defineRenderScript({
|
|
730
|
+
* init() {
|
|
731
|
+
* return { my_pred: render.predicate([hash("my_tag")]) };
|
|
732
|
+
* },
|
|
733
|
+
*
|
|
734
|
+
* update(self, dt) {
|
|
735
|
+
* // Set the current camera to be used for rendering
|
|
736
|
+
* render.set_camera("main:/my_go#camera");
|
|
737
|
+
* render.draw(self.my_pred);
|
|
738
|
+
* render.set_camera(undefined);
|
|
739
|
+
*
|
|
740
|
+
* // Use the camera frustum for frustum culling together with a specific frustum plane option for the draw command
|
|
741
|
+
* // The camera frustum will take precedence over the frustum plane option in render.draw
|
|
742
|
+
* render.set_camera("main:/my_go#camera", { use_frustum: true });
|
|
743
|
+
* // However, we can still customize the frustum planes regardless of the camera option!
|
|
744
|
+
* render.draw(self.my_pred, { frustum_planes: render.FRUSTUM_PLANES_ALL });
|
|
745
|
+
* render.set_camera();
|
|
746
|
+
* },
|
|
747
|
+
* });
|
|
643
748
|
* ```
|
|
644
749
|
*/
|
|
645
750
|
function set_camera(camera?: Url | number, options?: { use_frustum?: boolean }): void;
|
|
@@ -666,11 +771,19 @@ declare global {
|
|
|
666
771
|
* @param compute - compute id to use, or nil to disable
|
|
667
772
|
* @example
|
|
668
773
|
* ```ts
|
|
669
|
-
*
|
|
670
|
-
*
|
|
671
|
-
*
|
|
672
|
-
*
|
|
673
|
-
*
|
|
774
|
+
* export default defineRenderScript({
|
|
775
|
+
* init() {
|
|
776
|
+
* return { backing_texture: "my_texture_resource" };
|
|
777
|
+
* },
|
|
778
|
+
*
|
|
779
|
+
* update(self, dt) {
|
|
780
|
+
* // Enable compute program named "fractals", then dispatch it.
|
|
781
|
+
* render.set_compute("fractals");
|
|
782
|
+
* render.enable_texture(0, self.backing_texture);
|
|
783
|
+
* render.dispatch_compute(128, 128, 1);
|
|
784
|
+
* render.set_compute();
|
|
785
|
+
* },
|
|
786
|
+
* });
|
|
674
787
|
* ```
|
|
675
788
|
*/
|
|
676
789
|
function set_compute(compute?: string | Hash): void;
|
|
@@ -760,7 +873,7 @@ declare global {
|
|
|
760
873
|
* ```ts
|
|
761
874
|
* // Set listener and handle render context events.
|
|
762
875
|
* // custom.render_script
|
|
763
|
-
* export default
|
|
876
|
+
* export default defineRenderScript({
|
|
764
877
|
* init() {
|
|
765
878
|
* render.set_listener((self, event_type) => {
|
|
766
879
|
* if (event_type === render.CONTEXT_EVENT_CONTEXT_LOST) {
|
|
@@ -833,10 +946,12 @@ declare global {
|
|
|
833
946
|
*
|
|
834
947
|
* - `graphics.BUFFER_TYPE_STENCIL_BIT`
|
|
835
948
|
* @example
|
|
949
|
+
* How to set a render target and draw to it and then switch back to the default render target
|
|
950
|
+
* 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
|
|
836
951
|
* ```ts
|
|
837
952
|
* // How to set a render target and draw to it and then switch back to the default render target
|
|
838
953
|
* // 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
|
|
839
|
-
* export default
|
|
954
|
+
* export default defineRenderScript({
|
|
840
955
|
* update(self, dt) {
|
|
841
956
|
* // set render target so all drawing is done to it
|
|
842
957
|
* render.set_render_target(self.my_render_target, {
|
|
@@ -851,9 +966,11 @@ declare global {
|
|
|
851
966
|
* render.set_render_target(render.RENDER_TARGET_DEFAULT);
|
|
852
967
|
* },
|
|
853
968
|
* });
|
|
854
|
-
*
|
|
969
|
+
* ```
|
|
970
|
+
* @example
|
|
971
|
+
* ```ts
|
|
855
972
|
* // Or set the render target by a render target resource identifier:
|
|
856
|
-
* export default
|
|
973
|
+
* export default defineRenderScript({
|
|
857
974
|
* update(self, dt) {
|
|
858
975
|
* render.set_render_target("my_rt_resource");
|
|
859
976
|
*
|
|
@@ -876,9 +993,17 @@ declare global {
|
|
|
876
993
|
* @param height - new render target height
|
|
877
994
|
* @example
|
|
878
995
|
* ```ts
|
|
879
|
-
*
|
|
880
|
-
*
|
|
881
|
-
* render.
|
|
996
|
+
* export default defineRenderScript({
|
|
997
|
+
* init() {
|
|
998
|
+
* return { my_render_target: render.render_target("my_target", {}) };
|
|
999
|
+
* },
|
|
1000
|
+
*
|
|
1001
|
+
* update(self, dt) {
|
|
1002
|
+
* // Resize render targets to the current window size:
|
|
1003
|
+
* render.set_render_target_size(self.my_render_target, render.get_window_width(), render.get_window_height());
|
|
1004
|
+
* render.set_render_target_size("my_rt_resource", render.get_window_width(), render.get_window_height());
|
|
1005
|
+
* },
|
|
1006
|
+
* });
|
|
882
1007
|
* ```
|
|
883
1008
|
*/
|
|
884
1009
|
function set_render_target_size(render_target: Opaque<"render_target">, width: number, height: number): void;
|
|
@@ -992,7 +1117,7 @@ declare global {
|
|
|
992
1117
|
* ```ts
|
|
993
1118
|
* // How to set the view and projection matrices according to
|
|
994
1119
|
* // the values supplied by a camera.
|
|
995
|
-
* export default
|
|
1120
|
+
* export default defineRenderScript({
|
|
996
1121
|
* init() {
|
|
997
1122
|
* return {
|
|
998
1123
|
* view: vmath.matrix4(),
|