@defold-typescript/types 0.52.0 → 0.54.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 +2074 -1964
- package/dist/cli-runtime.js +8966 -0
- package/dist/identity-vocabulary.json +660 -0
- package/dist/src/index.d.ts +18 -0
- package/examples/translations.json +15 -15
- package/fixtures/defold-1.12.4/b2d_body_doc.json +1327 -0
- package/fixtures/defold-1.12.4/b2d_doc.json +107 -0
- package/fixtures/defold-1.12.4/base_doc.json +758 -0
- package/fixtures/defold-1.12.4/bit_doc.json +404 -0
- package/fixtures/defold-1.12.4/buffer_doc.json +422 -0
- package/fixtures/defold-1.12.4/camera_doc.json +664 -0
- package/fixtures/defold-1.12.4/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.12.4/collectionproxy_doc.json +289 -0
- package/fixtures/defold-1.12.4/coroutine_doc.json +151 -0
- package/fixtures/defold-1.12.4/crash_doc.json +497 -0
- package/fixtures/defold-1.12.4/debug_doc.json +410 -0
- package/fixtures/defold-1.12.4/factory_doc.json +219 -0
- package/fixtures/defold-1.12.4/font_doc.json +141 -0
- package/fixtures/defold-1.12.4/globals_doc.json +42 -0
- package/fixtures/defold-1.12.4/go-instance-functions.json +111 -0
- package/fixtures/defold-1.12.4/go_doc.json +1901 -0
- package/fixtures/defold-1.12.4/graphics_doc.json +1634 -0
- package/fixtures/defold-1.12.4/gui_doc.json +5249 -0
- package/fixtures/defold-1.12.4/html5_doc.json +64 -0
- package/fixtures/defold-1.12.4/http_doc.json +66 -0
- package/fixtures/defold-1.12.4/image_doc.json +170 -0
- package/fixtures/defold-1.12.4/io_doc.json +399 -0
- package/fixtures/defold-1.12.4/json_doc.json +97 -0
- package/fixtures/defold-1.12.4/label_doc.json +220 -0
- package/fixtures/defold-1.12.4/liveupdate_doc.json +308 -0
- package/fixtures/defold-1.12.4/math_doc.json +702 -0
- package/fixtures/defold-1.12.4/messages_doc.json +579 -0
- package/fixtures/defold-1.12.4/model_doc.json +315 -0
- package/fixtures/defold-1.12.4/msg_doc.json +137 -0
- package/fixtures/defold-1.12.4/os_doc.json +266 -0
- package/fixtures/defold-1.12.4/package_doc.json +139 -0
- package/fixtures/defold-1.12.4/particlefx_doc.json +249 -0
- package/fixtures/defold-1.12.4/physics_doc.json +1120 -0
- package/fixtures/defold-1.12.4/profiler_doc.json +375 -0
- package/fixtures/defold-1.12.4/render_doc.json +1167 -0
- package/fixtures/defold-1.12.4/resource_doc.json +762 -0
- package/fixtures/defold-1.12.4/socket_doc.json +2194 -0
- package/fixtures/defold-1.12.4/sound_doc.json +582 -0
- package/fixtures/defold-1.12.4/sprite_doc.json +245 -0
- package/fixtures/defold-1.12.4/string_doc.json +412 -0
- package/fixtures/defold-1.12.4/sys_doc.json +853 -0
- package/fixtures/defold-1.12.4/table_doc.json +166 -0
- package/fixtures/defold-1.12.4/tilemap_doc.json +374 -0
- package/fixtures/defold-1.12.4/timer_doc.json +153 -0
- package/fixtures/defold-1.12.4/types_doc.json +212 -0
- package/fixtures/defold-1.12.4/vmath_doc.json +1814 -0
- package/fixtures/defold-1.12.4/window_doc.json +388 -0
- package/fixtures/defold-1.12.4/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.0/b2d_body_doc.json +2428 -0
- package/fixtures/defold-1.13.0/b2d_chain_doc.json +394 -0
- package/fixtures/defold-1.13.0/b2d_doc.json +128 -0
- package/fixtures/defold-1.13.0/b2d_fixture_doc.json +594 -0
- package/fixtures/defold-1.13.0/b2d_joint_doc.json +3315 -0
- package/fixtures/defold-1.13.0/b2d_shape_doc.json +802 -0
- package/fixtures/defold-1.13.0/b2d_world_doc.json +1314 -0
- package/fixtures/defold-1.13.0/base_doc.json +758 -0
- package/fixtures/defold-1.13.0/bit_doc.json +404 -0
- package/fixtures/defold-1.13.0/buffer_doc.json +422 -0
- package/fixtures/defold-1.13.0/camera_doc.json +900 -0
- package/fixtures/defold-1.13.0/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.13.0/collectionproxy_doc.json +289 -0
- package/fixtures/defold-1.13.0/compute_doc.json +182 -0
- package/fixtures/defold-1.13.0/coroutine_doc.json +151 -0
- package/fixtures/defold-1.13.0/crash_doc.json +497 -0
- package/fixtures/defold-1.13.0/debug_doc.json +410 -0
- package/fixtures/defold-1.13.0/editor_doc.json +3665 -0
- package/fixtures/defold-1.13.0/editor_http_doc.json +273 -0
- package/fixtures/defold-1.13.0/editor_json_doc.json +59 -0
- package/fixtures/defold-1.13.0/editor_localization_doc.json +138 -0
- package/fixtures/defold-1.13.0/editor_pprint_doc.json +36 -0
- package/fixtures/defold-1.13.0/editor_tilemap_tiles_doc.json +235 -0
- package/fixtures/defold-1.13.0/editor_zip_doc.json +163 -0
- package/fixtures/defold-1.13.0/editor_zlib_doc.json +48 -0
- package/fixtures/defold-1.13.0/factory_doc.json +219 -0
- package/fixtures/defold-1.13.0/font_doc.json +141 -0
- package/fixtures/defold-1.13.0/globals_doc.json +42 -0
- package/fixtures/defold-1.13.0/go-instance-functions.json +101 -0
- package/fixtures/defold-1.13.0/go_doc.json +1989 -0
- package/fixtures/defold-1.13.0/graphics_doc.json +1886 -0
- package/fixtures/defold-1.13.0/gui_doc.json +5277 -0
- package/fixtures/defold-1.13.0/html5_doc.json +64 -0
- package/fixtures/defold-1.13.0/http_doc.json +66 -0
- package/fixtures/defold-1.13.0/image_doc.json +170 -0
- package/fixtures/defold-1.13.0/import-manifest.json +10558 -0
- package/fixtures/defold-1.13.0/io_doc.json +399 -0
- package/fixtures/defold-1.13.0/json_doc.json +97 -0
- package/fixtures/defold-1.13.0/label_doc.json +220 -0
- package/fixtures/defold-1.13.0/liveupdate_doc.json +330 -0
- package/fixtures/defold-1.13.0/material_doc.json +238 -0
- package/fixtures/defold-1.13.0/math_doc.json +702 -0
- package/fixtures/defold-1.13.0/model_doc.json +412 -0
- package/fixtures/defold-1.13.0/msg_doc.json +137 -0
- package/fixtures/defold-1.13.0/os_doc.json +266 -0
- package/fixtures/defold-1.13.0/package_doc.json +139 -0
- package/fixtures/defold-1.13.0/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.0/physics_doc.json +1492 -0
- package/fixtures/defold-1.13.0/profiler_doc.json +375 -0
- package/fixtures/defold-1.13.0/render_doc.json +1381 -0
- package/fixtures/defold-1.13.0/resource_doc.json +762 -0
- package/fixtures/defold-1.13.0/socket_doc.json +2194 -0
- package/fixtures/defold-1.13.0/sound_doc.json +582 -0
- package/fixtures/defold-1.13.0/sprite_doc.json +335 -0
- package/fixtures/defold-1.13.0/string_doc.json +412 -0
- package/fixtures/defold-1.13.0/sys_doc.json +1142 -0
- package/fixtures/defold-1.13.0/table_doc.json +166 -0
- package/fixtures/defold-1.13.0/tilemap_doc.json +402 -0
- package/fixtures/defold-1.13.0/timer_doc.json +153 -0
- package/fixtures/defold-1.13.0/types_doc.json +212 -0
- package/fixtures/defold-1.13.0/vmath_doc.json +1814 -0
- package/fixtures/defold-1.13.0/window_doc.json +388 -0
- package/fixtures/defold-1.13.0/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.1/b2d_body_doc.json +2428 -0
- package/fixtures/defold-1.13.1/b2d_chain_doc.json +394 -0
- package/fixtures/defold-1.13.1/b2d_doc.json +128 -0
- package/fixtures/defold-1.13.1/b2d_fixture_doc.json +594 -0
- package/fixtures/defold-1.13.1/b2d_joint_doc.json +3315 -0
- package/fixtures/defold-1.13.1/b2d_shape_doc.json +802 -0
- package/fixtures/defold-1.13.1/b2d_world_doc.json +1314 -0
- package/fixtures/defold-1.13.1/base_doc.json +758 -0
- package/fixtures/defold-1.13.1/bit_doc.json +404 -0
- package/fixtures/defold-1.13.1/buffer_doc.json +422 -0
- package/fixtures/defold-1.13.1/camera_doc.json +900 -0
- package/fixtures/defold-1.13.1/collectionfactory_doc.json +219 -0
- package/fixtures/defold-1.13.1/collectionproxy_doc.json +323 -0
- package/fixtures/defold-1.13.1/compute_doc.json +182 -0
- package/fixtures/defold-1.13.1/coroutine_doc.json +151 -0
- package/fixtures/defold-1.13.1/crash_doc.json +497 -0
- package/fixtures/defold-1.13.1/debug_doc.json +410 -0
- package/fixtures/defold-1.13.1/editor_doc.json +3880 -0
- package/fixtures/defold-1.13.1/editor_http_doc.json +273 -0
- package/fixtures/defold-1.13.1/editor_image_doc.json +128 -0
- package/fixtures/defold-1.13.1/editor_json_doc.json +59 -0
- package/fixtures/defold-1.13.1/editor_localization_doc.json +138 -0
- package/fixtures/defold-1.13.1/editor_pprint_doc.json +36 -0
- package/fixtures/defold-1.13.1/editor_tilemap_tiles_doc.json +235 -0
- package/fixtures/defold-1.13.1/editor_zip_doc.json +163 -0
- package/fixtures/defold-1.13.1/editor_zlib_doc.json +48 -0
- package/fixtures/defold-1.13.1/factory_doc.json +219 -0
- package/fixtures/defold-1.13.1/font_doc.json +141 -0
- package/fixtures/defold-1.13.1/globals_doc.json +42 -0
- package/fixtures/defold-1.13.1/go-instance-functions.json +102 -0
- package/fixtures/defold-1.13.1/go_doc.json +1989 -0
- package/fixtures/defold-1.13.1/graphics_doc.json +1886 -0
- package/fixtures/defold-1.13.1/gui_doc.json +5277 -0
- package/fixtures/defold-1.13.1/html5_doc.json +64 -0
- package/fixtures/defold-1.13.1/http_doc.json +66 -0
- package/fixtures/defold-1.13.1/image_doc.json +170 -0
- package/fixtures/defold-1.13.1/import-manifest.json +10091 -0
- package/fixtures/defold-1.13.1/io_doc.json +399 -0
- package/fixtures/defold-1.13.1/json_doc.json +97 -0
- package/fixtures/defold-1.13.1/label_doc.json +220 -0
- package/fixtures/defold-1.13.1/liveupdate_doc.json +330 -0
- package/fixtures/defold-1.13.1/material_doc.json +238 -0
- package/fixtures/defold-1.13.1/math_doc.json +702 -0
- package/fixtures/defold-1.13.1/model_doc.json +412 -0
- package/fixtures/defold-1.13.1/msg_doc.json +137 -0
- package/fixtures/defold-1.13.1/os_doc.json +266 -0
- package/fixtures/defold-1.13.1/package_doc.json +139 -0
- package/fixtures/defold-1.13.1/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.1/physics_doc.json +1492 -0
- package/fixtures/defold-1.13.1/profiler_doc.json +375 -0
- package/fixtures/defold-1.13.1/render_doc.json +1381 -0
- package/fixtures/defold-1.13.1/resource_doc.json +762 -0
- package/fixtures/defold-1.13.1/socket_doc.json +2194 -0
- package/fixtures/defold-1.13.1/sound_doc.json +582 -0
- package/fixtures/defold-1.13.1/sprite_doc.json +335 -0
- package/fixtures/defold-1.13.1/string_doc.json +412 -0
- package/fixtures/defold-1.13.1/sys_doc.json +1142 -0
- package/fixtures/defold-1.13.1/table_doc.json +166 -0
- package/fixtures/defold-1.13.1/tilemap_doc.json +402 -0
- package/fixtures/defold-1.13.1/timer_doc.json +153 -0
- package/fixtures/defold-1.13.1/types_doc.json +212 -0
- package/fixtures/defold-1.13.1/vmath_doc.json +1814 -0
- package/fixtures/defold-1.13.1/window_doc.json +388 -0
- package/fixtures/defold-1.13.1/zlib_doc.json +70 -0
- package/fixtures/defold-1.13.2/b2d_body_doc.json +2359 -0
- package/fixtures/defold-1.13.2/b2d_chain_doc.json +395 -0
- package/fixtures/defold-1.13.2/b2d_doc.json +1945 -0
- package/fixtures/defold-1.13.2/b2d_fixture_doc.json +595 -0
- package/fixtures/defold-1.13.2/b2d_joint_doc.json +3178 -0
- package/fixtures/defold-1.13.2/b2d_shape_doc.json +767 -0
- package/fixtures/defold-1.13.2/b2d_world_doc.json +1315 -0
- package/fixtures/defold-1.13.2/base_doc.json +759 -0
- package/fixtures/defold-1.13.2/bit_doc.json +405 -0
- package/fixtures/defold-1.13.2/buffer_doc.json +393 -0
- package/fixtures/defold-1.13.2/bullet3d_collision_object_doc.json +1206 -0
- package/fixtures/defold-1.13.2/bullet3d_constraint_doc.json +2455 -0
- package/fixtures/defold-1.13.2/bullet3d_doc.json +215 -0
- package/fixtures/defold-1.13.2/bullet3d_rigid_body_doc.json +1376 -0
- package/fixtures/defold-1.13.2/bullet3d_shape_doc.json +430 -0
- package/fixtures/defold-1.13.2/bullet3d_world_doc.json +855 -0
- package/fixtures/defold-1.13.2/camera_doc.json +887 -0
- package/fixtures/defold-1.13.2/collectionfactory_doc.json +206 -0
- package/fixtures/defold-1.13.2/collectionproxy_doc.json +397 -0
- package/fixtures/defold-1.13.2/compute_doc.json +183 -0
- package/fixtures/defold-1.13.2/coroutine_doc.json +152 -0
- package/fixtures/defold-1.13.2/crash_doc.json +483 -0
- package/fixtures/defold-1.13.2/debug_doc.json +411 -0
- package/fixtures/defold-1.13.2/editor_doc.json +6320 -0
- package/fixtures/defold-1.13.2/editor_http_doc.json +476 -0
- package/fixtures/defold-1.13.2/editor_image_doc.json +129 -0
- package/fixtures/defold-1.13.2/editor_json_doc.json +81 -0
- package/fixtures/defold-1.13.2/editor_localization_doc.json +139 -0
- package/fixtures/defold-1.13.2/editor_pprint_doc.json +37 -0
- package/fixtures/defold-1.13.2/editor_tilemap_tiles_doc.json +292 -0
- package/fixtures/defold-1.13.2/editor_zip_doc.json +237 -0
- package/fixtures/defold-1.13.2/editor_zlib_doc.json +49 -0
- package/fixtures/defold-1.13.2/factory_doc.json +206 -0
- package/fixtures/defold-1.13.2/font_doc.json +230 -0
- package/fixtures/defold-1.13.2/globals_doc.json +64 -0
- package/fixtures/defold-1.13.2/go-instance-functions.json +106 -0
- package/fixtures/defold-1.13.2/go_doc.json +1789 -0
- package/fixtures/defold-1.13.2/graphics_doc.json +1211 -0
- package/fixtures/defold-1.13.2/gui_doc.json +4735 -0
- package/fixtures/defold-1.13.2/html5_doc.json +65 -0
- package/fixtures/defold-1.13.2/http_doc.json +174 -0
- package/fixtures/defold-1.13.2/image_doc.json +298 -0
- package/fixtures/defold-1.13.2/import-manifest.json +10902 -0
- package/fixtures/defold-1.13.2/io_doc.json +400 -0
- package/fixtures/defold-1.13.2/json_doc.json +140 -0
- package/fixtures/defold-1.13.2/label_doc.json +427 -0
- package/fixtures/defold-1.13.2/liveupdate_doc.json +221 -0
- package/fixtures/defold-1.13.2/material_doc.json +773 -0
- package/fixtures/defold-1.13.2/math_doc.json +703 -0
- package/fixtures/defold-1.13.2/model_doc.json +472 -0
- package/fixtures/defold-1.13.2/msg_doc.json +169 -0
- package/fixtures/defold-1.13.2/os_doc.json +269 -0
- package/fixtures/defold-1.13.2/package_doc.json +140 -0
- package/fixtures/defold-1.13.2/particlefx_doc.json +249 -0
- package/fixtures/defold-1.13.2/physics_doc.json +1624 -0
- package/fixtures/defold-1.13.2/profiler_doc.json +348 -0
- package/fixtures/defold-1.13.2/render_doc.json +1623 -0
- package/fixtures/defold-1.13.2/resource_doc.json +1539 -0
- package/fixtures/defold-1.13.2/socket_doc.json +2335 -0
- package/fixtures/defold-1.13.2/sound_doc.json +673 -0
- package/fixtures/defold-1.13.2/sprite_doc.json +364 -0
- package/fixtures/defold-1.13.2/string_doc.json +413 -0
- package/fixtures/defold-1.13.2/sys_doc.json +1347 -0
- package/fixtures/defold-1.13.2/table_doc.json +167 -0
- package/fixtures/defold-1.13.2/tilemap_doc.json +369 -0
- package/fixtures/defold-1.13.2/timer_doc.json +214 -0
- package/fixtures/defold-1.13.2/types_doc.json +213 -0
- package/fixtures/defold-1.13.2/vmath_doc.json +2056 -0
- package/fixtures/defold-1.13.2/window_doc.json +426 -0
- package/fixtures/defold-1.13.2/zlib_doc.json +71 -0
- package/fixtures/defold-1.14.0/b2d_body_doc.json +2359 -0
- package/fixtures/defold-1.14.0/b2d_chain_doc.json +395 -0
- package/fixtures/defold-1.14.0/b2d_doc.json +1973 -0
- package/fixtures/defold-1.14.0/b2d_fixture_doc.json +595 -0
- package/fixtures/defold-1.14.0/b2d_joint_doc.json +3178 -0
- package/fixtures/defold-1.14.0/b2d_shape_doc.json +767 -0
- package/fixtures/defold-1.14.0/b2d_world_doc.json +1315 -0
- package/fixtures/defold-1.14.0/base_doc.json +759 -0
- package/fixtures/defold-1.14.0/bit_doc.json +405 -0
- package/fixtures/defold-1.14.0/buffer_doc.json +393 -0
- package/fixtures/defold-1.14.0/bullet3d_collision_object_doc.json +1206 -0
- package/fixtures/defold-1.14.0/bullet3d_constraint_doc.json +2455 -0
- package/fixtures/defold-1.14.0/bullet3d_doc.json +243 -0
- package/fixtures/defold-1.14.0/bullet3d_rigid_body_doc.json +1376 -0
- package/fixtures/defold-1.14.0/bullet3d_shape_doc.json +430 -0
- package/fixtures/defold-1.14.0/bullet3d_world_doc.json +855 -0
- package/fixtures/defold-1.14.0/camera_doc.json +887 -0
- package/fixtures/defold-1.14.0/collectionfactory_doc.json +206 -0
- package/fixtures/defold-1.14.0/collectionproxy_doc.json +397 -0
- package/fixtures/defold-1.14.0/compute_doc.json +183 -0
- package/fixtures/defold-1.14.0/coroutine_doc.json +152 -0
- package/fixtures/defold-1.14.0/crash_doc.json +483 -0
- package/fixtures/defold-1.14.0/debug_doc.json +411 -0
- package/fixtures/defold-1.14.0/editor_doc.json +6320 -0
- package/fixtures/defold-1.14.0/editor_http_doc.json +476 -0
- package/fixtures/defold-1.14.0/editor_image_doc.json +129 -0
- package/fixtures/defold-1.14.0/editor_json_doc.json +81 -0
- package/fixtures/defold-1.14.0/editor_localization_doc.json +139 -0
- package/fixtures/defold-1.14.0/editor_pprint_doc.json +37 -0
- package/fixtures/defold-1.14.0/editor_tilemap_tiles_doc.json +292 -0
- package/fixtures/defold-1.14.0/editor_zip_doc.json +237 -0
- package/fixtures/defold-1.14.0/editor_zlib_doc.json +49 -0
- package/fixtures/defold-1.14.0/factory_doc.json +206 -0
- package/fixtures/defold-1.14.0/font_doc.json +230 -0
- package/fixtures/defold-1.14.0/globals_doc.json +64 -0
- package/fixtures/defold-1.14.0/go-instance-functions.json +106 -0
- package/fixtures/defold-1.14.0/go_doc.json +1789 -0
- package/fixtures/defold-1.14.0/graphics_doc.json +1257 -0
- package/fixtures/defold-1.14.0/gui_doc.json +4735 -0
- package/fixtures/defold-1.14.0/html5_doc.json +65 -0
- package/fixtures/defold-1.14.0/http_doc.json +174 -0
- package/fixtures/defold-1.14.0/image_doc.json +298 -0
- package/fixtures/defold-1.14.0/import-manifest.json +10260 -0
- package/fixtures/defold-1.14.0/io_doc.json +400 -0
- package/fixtures/defold-1.14.0/json_doc.json +140 -0
- package/fixtures/defold-1.14.0/label_doc.json +427 -0
- package/fixtures/defold-1.14.0/liveupdate_doc.json +221 -0
- package/fixtures/defold-1.14.0/material_doc.json +773 -0
- package/fixtures/defold-1.14.0/math_doc.json +703 -0
- package/fixtures/defold-1.14.0/model_doc.json +472 -0
- package/fixtures/defold-1.14.0/msg_doc.json +169 -0
- package/fixtures/defold-1.14.0/os_doc.json +269 -0
- package/fixtures/defold-1.14.0/package_doc.json +140 -0
- package/fixtures/defold-1.14.0/particlefx_doc.json +249 -0
- package/fixtures/defold-1.14.0/physics_doc.json +1624 -0
- package/fixtures/defold-1.14.0/profiler_doc.json +348 -0
- package/fixtures/defold-1.14.0/render_doc.json +1628 -0
- package/fixtures/defold-1.14.0/resource_doc.json +1539 -0
- package/fixtures/defold-1.14.0/socket_doc.json +2335 -0
- package/fixtures/defold-1.14.0/sound_doc.json +673 -0
- package/fixtures/defold-1.14.0/sprite_doc.json +364 -0
- package/fixtures/defold-1.14.0/string_doc.json +413 -0
- package/fixtures/defold-1.14.0/sys_doc.json +1347 -0
- package/fixtures/defold-1.14.0/table_doc.json +167 -0
- package/fixtures/defold-1.14.0/tilemap_doc.json +369 -0
- package/fixtures/defold-1.14.0/timer_doc.json +214 -0
- package/fixtures/defold-1.14.0/types_doc.json +213 -0
- package/fixtures/defold-1.14.0/vmath_doc.json +2056 -0
- package/fixtures/defold-1.14.0/window_doc.json +426 -0
- package/fixtures/defold-1.14.0/zlib_doc.json +71 -0
- package/generated/b2d.d.ts +39 -39
- package/generated/b2d_body.d.ts +11 -11
- package/generated/b2d_chain.d.ts +3 -3
- package/generated/b2d_fixture.d.ts +5 -5
- package/generated/b2d_joint.d.ts +29 -29
- package/generated/b2d_shape.d.ts +13 -13
- package/generated/b2d_world.d.ts +15 -15
- package/generated/buffer.d.ts +5 -6
- package/generated/bullet3d.d.ts +6 -6
- package/generated/bullet3d_collision_object.d.ts +9 -9
- package/generated/bullet3d_constraint.d.ts +78 -78
- package/generated/bullet3d_rigid_body.d.ts +3 -3
- package/generated/bullet3d_shape.d.ts +11 -11
- package/generated/bullet3d_world.d.ts +20 -20
- package/generated/camera.d.ts +4 -4
- package/generated/collectionfactory.d.ts +2 -3
- package/generated/collectionproxy.d.ts +5 -5
- package/generated/compute.d.ts +5 -5
- package/generated/crash.d.ts +7 -7
- package/generated/editor-vm/http.d.ts +13 -13
- package/generated/editor-vm/image.d.ts +4 -4
- package/generated/editor-vm/json.d.ts +1 -1
- package/generated/editor-vm/tilemap_tiles.d.ts +9 -9
- package/generated/editor-vm/zip.d.ts +4 -4
- package/generated/editor.d.ts +183 -183
- package/generated/factory.d.ts +2 -3
- package/generated/font.d.ts +4 -4
- package/generated/go.d.ts +10 -12
- package/generated/graphics.d.ts +23 -26
- package/generated/gui.d.ts +44 -58
- package/generated/http.d.ts +2 -2
- package/generated/image.d.ts +12 -12
- package/generated/json.d.ts +4 -4
- package/generated/label.d.ts +5 -5
- package/generated/liveupdate.d.ts +3 -3
- package/generated/material.d.ts +48 -48
- package/generated/model.d.ts +46 -14
- package/generated/particlefx.d.ts +5 -5
- package/generated/physics.d.ts +19 -19
- package/generated/profiler.d.ts +3 -5
- package/generated/render-script-modules/b2d.d.ts +39 -39
- package/generated/render-script-modules/bullet3d.d.ts +5 -5
- package/generated/render-script-modules/collectionfactory.d.ts +1 -2
- package/generated/render-script-modules/collectionproxy.d.ts +3 -3
- package/generated/render-script-modules/factory.d.ts +1 -2
- package/generated/render-script-modules/go.d.ts +8 -10
- package/generated/render-script-modules/label.d.ts +2 -2
- package/generated/render-script-modules/model.d.ts +43 -11
- package/generated/render-script-modules/particlefx.d.ts +3 -3
- package/generated/render-script-modules/physics.d.ts +12 -12
- package/generated/render-script-modules/resource.d.ts +52 -53
- package/generated/render-script-modules/sound.d.ts +4 -4
- package/generated/render-script-modules/sprite.d.ts +2 -2
- package/generated/render-script-modules/tilemap.d.ts +2 -2
- package/generated/render.d.ts +44 -45
- package/generated/resource.d.ts +58 -59
- package/generated/socket.d.ts +18 -23
- package/generated/sound.d.ts +6 -6
- package/generated/sprite.d.ts +3 -3
- package/generated/sys.d.ts +20 -21
- package/generated/tilemap.d.ts +3 -3
- package/generated/timer.d.ts +3 -3
- package/generated/versions/defold-1.12.4/b2d.d.ts +2 -2
- package/generated/versions/defold-1.12.4/b2d_body.d.ts +2 -2
- package/generated/versions/defold-1.12.4/go.d.ts +2 -2
- package/generated/versions/defold-1.12.4/graphics.d.ts +1 -1
- package/generated/versions/defold-1.12.4/gui.d.ts +18 -19
- package/generated/versions/defold-1.12.4/label.d.ts +1 -1
- package/generated/versions/defold-1.12.4/model.d.ts +42 -10
- package/generated/versions/defold-1.12.4/particlefx.d.ts +1 -1
- package/generated/versions/defold-1.12.4/physics.d.ts +1 -1
- package/generated/versions/defold-1.12.4/render.d.ts +5 -5
- package/generated/versions/defold-1.12.4/resource.d.ts +8 -8
- package/generated/versions/defold-1.12.4/socket.d.ts +12 -12
- package/generated/versions/defold-1.12.4/sound.d.ts +1 -1
- package/generated/versions/defold-1.12.4/sprite.d.ts +1 -1
- package/generated/versions/defold-1.12.4/sys.d.ts +2 -2
- package/generated/versions/defold-1.12.4/tilemap.d.ts +1 -1
- package/generated/versions/defold-1.12.4/window.d.ts +3 -4
- package/generated/versions/defold-1.13.0/b2d.d.ts +2 -2
- package/generated/versions/defold-1.13.0/b2d_body.d.ts +2 -2
- package/generated/versions/defold-1.13.0/b2d_chain.d.ts +1 -1
- package/generated/versions/defold-1.13.0/b2d_joint.d.ts +1 -1
- package/generated/versions/defold-1.13.0/b2d_shape.d.ts +1 -1
- package/generated/versions/defold-1.13.0/camera.d.ts +1 -1
- package/generated/versions/defold-1.13.0/go.d.ts +2 -2
- package/generated/versions/defold-1.13.0/graphics.d.ts +1 -1
- package/generated/versions/defold-1.13.0/gui.d.ts +18 -19
- package/generated/versions/defold-1.13.0/label.d.ts +1 -1
- package/generated/versions/defold-1.13.0/model.d.ts +42 -10
- package/generated/versions/defold-1.13.0/particlefx.d.ts +1 -1
- package/generated/versions/defold-1.13.0/physics.d.ts +1 -1
- package/generated/versions/defold-1.13.0/render.d.ts +5 -5
- package/generated/versions/defold-1.13.0/resource.d.ts +8 -8
- package/generated/versions/defold-1.13.0/socket.d.ts +12 -12
- package/generated/versions/defold-1.13.0/sound.d.ts +1 -1
- package/generated/versions/defold-1.13.0/sprite.d.ts +1 -1
- package/generated/versions/defold-1.13.0/sys.d.ts +2 -2
- package/generated/versions/defold-1.13.0/tilemap.d.ts +1 -1
- package/generated/versions/defold-1.13.0/window.d.ts +3 -4
- package/generated/versions/defold-1.13.1/b2d.d.ts +2 -2
- package/generated/versions/defold-1.13.1/b2d_body.d.ts +2 -2
- package/generated/versions/defold-1.13.1/b2d_chain.d.ts +1 -1
- package/generated/versions/defold-1.13.1/b2d_joint.d.ts +1 -1
- package/generated/versions/defold-1.13.1/b2d_shape.d.ts +1 -1
- package/generated/versions/defold-1.13.1/camera.d.ts +1 -1
- package/generated/versions/defold-1.13.1/go.d.ts +2 -2
- package/generated/versions/defold-1.13.1/graphics.d.ts +1 -1
- package/generated/versions/defold-1.13.1/gui.d.ts +18 -19
- package/generated/versions/defold-1.13.1/label.d.ts +1 -1
- package/generated/versions/defold-1.13.1/model.d.ts +42 -10
- package/generated/versions/defold-1.13.1/particlefx.d.ts +1 -1
- package/generated/versions/defold-1.13.1/physics.d.ts +1 -1
- package/generated/versions/defold-1.13.1/render.d.ts +5 -5
- package/generated/versions/defold-1.13.1/resource.d.ts +8 -8
- package/generated/versions/defold-1.13.1/socket.d.ts +12 -12
- package/generated/versions/defold-1.13.1/sound.d.ts +1 -1
- package/generated/versions/defold-1.13.1/sprite.d.ts +1 -1
- package/generated/versions/defold-1.13.1/sys.d.ts +2 -2
- package/generated/versions/defold-1.13.1/tilemap.d.ts +1 -1
- package/generated/versions/defold-1.13.1/window.d.ts +3 -4
- package/generated/versions/defold-1.13.2/b2d.d.ts +39 -39
- package/generated/versions/defold-1.13.2/b2d_body.d.ts +11 -11
- package/generated/versions/defold-1.13.2/b2d_chain.d.ts +3 -3
- package/generated/versions/defold-1.13.2/b2d_fixture.d.ts +5 -5
- package/generated/versions/defold-1.13.2/b2d_joint.d.ts +29 -29
- package/generated/versions/defold-1.13.2/b2d_shape.d.ts +13 -13
- package/generated/versions/defold-1.13.2/b2d_world.d.ts +15 -15
- package/generated/versions/defold-1.13.2/buffer.d.ts +5 -6
- package/generated/versions/defold-1.13.2/bullet3d.d.ts +6 -6
- package/generated/versions/defold-1.13.2/bullet3d_collision_object.d.ts +9 -9
- package/generated/versions/defold-1.13.2/bullet3d_constraint.d.ts +78 -78
- package/generated/versions/defold-1.13.2/bullet3d_rigid_body.d.ts +3 -3
- package/generated/versions/defold-1.13.2/bullet3d_shape.d.ts +11 -11
- package/generated/versions/defold-1.13.2/bullet3d_world.d.ts +20 -20
- package/generated/versions/defold-1.13.2/camera.d.ts +4 -4
- package/generated/versions/defold-1.13.2/collectionfactory.d.ts +2 -3
- package/generated/versions/defold-1.13.2/collectionproxy.d.ts +5 -5
- package/generated/versions/defold-1.13.2/compute.d.ts +5 -5
- package/generated/versions/defold-1.13.2/crash.d.ts +7 -7
- package/generated/versions/defold-1.13.2/editor-vm/http.d.ts +13 -13
- package/generated/versions/defold-1.13.2/editor-vm/image.d.ts +4 -4
- package/generated/versions/defold-1.13.2/editor-vm/json.d.ts +1 -1
- package/generated/versions/defold-1.13.2/editor-vm/tilemap_tiles.d.ts +9 -9
- package/generated/versions/defold-1.13.2/editor-vm/zip.d.ts +4 -4
- package/generated/versions/defold-1.13.2/editor.d.ts +183 -183
- package/generated/versions/defold-1.13.2/factory.d.ts +2 -3
- package/generated/versions/defold-1.13.2/font.d.ts +4 -4
- package/generated/versions/defold-1.13.2/go.d.ts +10 -12
- package/generated/versions/defold-1.13.2/graphics.d.ts +22 -25
- package/generated/versions/defold-1.13.2/gui.d.ts +44 -58
- package/generated/versions/defold-1.13.2/http.d.ts +2 -2
- package/generated/versions/defold-1.13.2/image.d.ts +12 -12
- package/generated/versions/defold-1.13.2/json.d.ts +4 -4
- package/generated/versions/defold-1.13.2/label.d.ts +5 -5
- package/generated/versions/defold-1.13.2/liveupdate.d.ts +3 -3
- package/generated/versions/defold-1.13.2/material.d.ts +48 -48
- package/generated/versions/defold-1.13.2/model.d.ts +46 -14
- package/generated/versions/defold-1.13.2/particlefx.d.ts +5 -5
- package/generated/versions/defold-1.13.2/physics.d.ts +19 -19
- package/generated/versions/defold-1.13.2/profiler.d.ts +3 -5
- package/generated/versions/defold-1.13.2/render.d.ts +43 -44
- package/generated/versions/defold-1.13.2/resource.d.ts +58 -59
- package/generated/versions/defold-1.13.2/socket.d.ts +18 -23
- package/generated/versions/defold-1.13.2/sound.d.ts +6 -6
- package/generated/versions/defold-1.13.2/sprite.d.ts +3 -3
- package/generated/versions/defold-1.13.2/sys.d.ts +20 -21
- package/generated/versions/defold-1.13.2/tilemap.d.ts +3 -3
- package/generated/versions/defold-1.13.2/timer.d.ts +3 -3
- package/generated/versions/defold-1.13.2/vmath.d.ts +0 -1
- package/generated/versions/defold-1.13.2/window.d.ts +8 -10
- package/generated/vmath.d.ts +0 -1
- package/generated/window.d.ts +8 -10
- package/identity-vocabulary.json +41 -34
- package/package.json +13 -5
- package/scripts/cli-runtime.ts +18 -0
- package/scripts/example-store-io.ts +2 -2
- package/scripts/extension-goldens.ts +9 -5
- package/scripts/generate-api-availability.ts +10 -4
- package/scripts/generate-api-signatures.ts +1 -1
- package/scripts/import-defold-release.ts +1 -1
- package/scripts/regen.ts +35 -9
- package/scripts/shared-handle-methods.ts +3 -2
- package/scripts/signature-store-fs.ts +37 -17
- package/scripts/sync-api-docs.ts +127 -20
- package/src/api-doc.ts +19 -4
- package/src/api-identity.ts +32 -1
- package/src/component-properties.d.ts +8 -8
- package/src/core-types.ts +29 -13
- package/src/doc-corrections.ts +9 -0
- package/src/emit-dts.ts +770 -214
- package/src/engine-type-name.ts +33 -0
- package/src/go-overloads.d.ts +10 -10
- package/src/gui-overloads.d.ts +11 -11
- package/src/index-slot-classifications.ts +75 -9
- package/src/index.ts +4 -1
- package/src/lifecycle.ts +2 -2
- package/src/publish-dts.ts +16 -0
- package/src/script-api.ts +36 -38
- package/src/socket-types.d.ts +3 -3
- package/src/library-index-slot-classifications.ts +0 -332
|
@@ -0,0 +1,762 @@
|
|
|
1
|
+
{
|
|
2
|
+
"elements": [
|
|
3
|
+
{
|
|
4
|
+
"type": "FUNCTION",
|
|
5
|
+
"name": "resource.material",
|
|
6
|
+
"brief": "reference to material resource",
|
|
7
|
+
"description": "Constructor-like function with two purposes:\n<ul>\n<li>Load the specified resource as part of loading the script</li>\n<li>Return a hash to the run-time version of the resource</li>\n</ul>\n<span class=\"icon-attention\"></span> This function can only be called within <a href=\"/ref/go#go.property\">go.property</a> function calls.",
|
|
8
|
+
"returnvalues": [
|
|
9
|
+
{
|
|
10
|
+
"name": "path",
|
|
11
|
+
"doc": "a path hash to the binary version of the resource",
|
|
12
|
+
"types": ["hash"]
|
|
13
|
+
}
|
|
14
|
+
],
|
|
15
|
+
"parameters": [
|
|
16
|
+
{
|
|
17
|
+
"name": "path",
|
|
18
|
+
"doc": "optional resource path string to the resource",
|
|
19
|
+
"types": ["string"],
|
|
20
|
+
"is_optional": "True"
|
|
21
|
+
}
|
|
22
|
+
],
|
|
23
|
+
"examples": "Load a material and set it to a sprite:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_material"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">material</span><span class=\"p\">(</span><span class=\"s2\">"/material.material"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#sprite"</span><span class=\"p\">,</span> <span class=\"s2\">"material"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_material</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>\n\nLoad a material resource and update a named material with the resource:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_material"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">material</span><span class=\"p\">(</span><span class=\"s2\">"/material.material"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#gui"</span><span class=\"p\">,</span> <span class=\"s2\">"materials"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_material</span><span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"n\">key</span> <span class=\"o\">=</span> <span class=\"s2\">"my_material"</span><span class=\"p\">})</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
24
|
+
"replaces": "",
|
|
25
|
+
"error": "",
|
|
26
|
+
"tparams": [],
|
|
27
|
+
"members": [],
|
|
28
|
+
"notes": [],
|
|
29
|
+
"language": ""
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"type": "FUNCTION",
|
|
33
|
+
"name": "resource.font",
|
|
34
|
+
"brief": "reference to font resource",
|
|
35
|
+
"description": "Constructor-like function with two purposes:\n<ul>\n<li>Load the specified resource as part of loading the script</li>\n<li>Return a hash to the run-time version of the resource</li>\n</ul>\n<span class=\"icon-attention\"></span> This function can only be called within <a href=\"/ref/go#go.property\">go.property</a> function calls.",
|
|
36
|
+
"returnvalues": [
|
|
37
|
+
{
|
|
38
|
+
"name": "path",
|
|
39
|
+
"doc": "a path hash to the binary version of the resource",
|
|
40
|
+
"types": ["hash"]
|
|
41
|
+
}
|
|
42
|
+
],
|
|
43
|
+
"parameters": [
|
|
44
|
+
{
|
|
45
|
+
"name": "path",
|
|
46
|
+
"doc": "optional resource path string to the resource",
|
|
47
|
+
"types": ["string"],
|
|
48
|
+
"is_optional": "True"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"examples": "Load a font and set it to a label:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_font"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">font</span><span class=\"p\">(</span><span class=\"s2\">"/font.font"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#label"</span><span class=\"p\">,</span> <span class=\"s2\">"font"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_font</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>\n\nLoad a font and set it to a gui:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_font"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">font</span><span class=\"p\">(</span><span class=\"s2\">"/font.font"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#gui"</span><span class=\"p\">,</span> <span class=\"s2\">"fonts"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_font</span><span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"n\">key</span> <span class=\"o\">=</span> <span class=\"s2\">"my_font"</span><span class=\"p\">})</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
52
|
+
"replaces": "",
|
|
53
|
+
"error": "",
|
|
54
|
+
"tparams": [],
|
|
55
|
+
"members": [],
|
|
56
|
+
"notes": [],
|
|
57
|
+
"language": ""
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"type": "FUNCTION",
|
|
61
|
+
"name": "resource.texture",
|
|
62
|
+
"brief": "reference to texture resource",
|
|
63
|
+
"description": "Constructor-like function with two purposes:\n<ul>\n<li>Load the specified resource as part of loading the script</li>\n<li>Return a hash to the run-time version of the resource</li>\n</ul>\n<span class=\"icon-attention\"></span> This function can only be called within <a href=\"/ref/go#go.property\">go.property</a> function calls.",
|
|
64
|
+
"returnvalues": [
|
|
65
|
+
{
|
|
66
|
+
"name": "path",
|
|
67
|
+
"doc": "a path hash to the binary version of the resource",
|
|
68
|
+
"types": ["hash"]
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
"parameters": [
|
|
72
|
+
{
|
|
73
|
+
"name": "path",
|
|
74
|
+
"doc": "optional resource path string to the resource",
|
|
75
|
+
"types": ["string"],
|
|
76
|
+
"is_optional": "True"
|
|
77
|
+
}
|
|
78
|
+
],
|
|
79
|
+
"examples": "Load a texture and set it to a model:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_texture"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">texture</span><span class=\"p\">(</span><span class=\"s2\">"/texture.png"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_texture</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
80
|
+
"replaces": "",
|
|
81
|
+
"error": "",
|
|
82
|
+
"tparams": [],
|
|
83
|
+
"members": [],
|
|
84
|
+
"notes": [],
|
|
85
|
+
"language": ""
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"type": "FUNCTION",
|
|
89
|
+
"name": "resource.atlas",
|
|
90
|
+
"brief": "reference to atlas resource",
|
|
91
|
+
"description": "Constructor-like function with two purposes:\n<ul>\n<li>Load the specified resource as part of loading the script</li>\n<li>Return a hash to the run-time version of the resource</li>\n</ul>\n<span class=\"icon-attention\"></span> This function can only be called within <a href=\"/ref/go#go.property\">go.property</a> function calls.",
|
|
92
|
+
"returnvalues": [
|
|
93
|
+
{
|
|
94
|
+
"name": "path",
|
|
95
|
+
"doc": "a path hash to the binary version of the resource",
|
|
96
|
+
"types": ["hash"]
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"parameters": [
|
|
100
|
+
{
|
|
101
|
+
"name": "path",
|
|
102
|
+
"doc": "optional resource path string to the resource",
|
|
103
|
+
"types": ["string"],
|
|
104
|
+
"is_optional": "True"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
"examples": "Load an atlas and set it to a sprite:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_atlas"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">atlas</span><span class=\"p\">(</span><span class=\"s2\">"/atlas.atlas"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#sprite"</span><span class=\"p\">,</span> <span class=\"s2\">"image"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_atlas</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>\n\nLoad an atlas and set it to a gui:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_atlas"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">atlas</span><span class=\"p\">(</span><span class=\"s2\">"/atlas.atlas"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#gui"</span><span class=\"p\">,</span> <span class=\"s2\">"textures"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_atlas</span><span class=\"p\">,</span> <span class=\"p\">{</span><span class=\"n\">key</span> <span class=\"o\">=</span> <span class=\"s2\">"my_atlas"</span><span class=\"p\">})</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
108
|
+
"replaces": "",
|
|
109
|
+
"error": "",
|
|
110
|
+
"tparams": [],
|
|
111
|
+
"members": [],
|
|
112
|
+
"notes": [],
|
|
113
|
+
"language": ""
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
"type": "FUNCTION",
|
|
117
|
+
"name": "resource.buffer",
|
|
118
|
+
"brief": "reference to buffer resource",
|
|
119
|
+
"description": "Constructor-like function with two purposes:\n<ul>\n<li>Load the specified resource as part of loading the script</li>\n<li>Return a hash to the run-time version of the resource</li>\n</ul>\n<span class=\"icon-attention\"></span> This function can only be called within <a href=\"/ref/go#go.property\">go.property</a> function calls.",
|
|
120
|
+
"returnvalues": [
|
|
121
|
+
{
|
|
122
|
+
"name": "path",
|
|
123
|
+
"doc": "a path hash to the binary version of the resource",
|
|
124
|
+
"types": ["hash"]
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"parameters": [
|
|
128
|
+
{
|
|
129
|
+
"name": "path",
|
|
130
|
+
"doc": "optional resource path string to the resource",
|
|
131
|
+
"types": ["string"],
|
|
132
|
+
"is_optional": "True"
|
|
133
|
+
}
|
|
134
|
+
],
|
|
135
|
+
"examples": "Set a unique buffer it to a sprite:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_buffer"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">buffer</span><span class=\"p\">(</span><span class=\"s2\">"/cube.buffer"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#mesh"</span><span class=\"p\">,</span> <span class=\"s2\">"vertices"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_buffer</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
136
|
+
"replaces": "",
|
|
137
|
+
"error": "",
|
|
138
|
+
"tparams": [],
|
|
139
|
+
"members": [],
|
|
140
|
+
"notes": [],
|
|
141
|
+
"language": ""
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
"type": "FUNCTION",
|
|
145
|
+
"name": "resource.tile_source",
|
|
146
|
+
"brief": "reference to tile source resource",
|
|
147
|
+
"description": "Constructor-like function with two purposes:\n<ul>\n<li>Load the specified resource as part of loading the script</li>\n<li>Return a hash to the run-time version of the resource</li>\n</ul>\n<span class=\"icon-attention\"></span> This function can only be called within <a href=\"/ref/go#go.property\">go.property</a> function calls.",
|
|
148
|
+
"returnvalues": [
|
|
149
|
+
{
|
|
150
|
+
"name": "path",
|
|
151
|
+
"doc": "a path hash to the binary version of the resource",
|
|
152
|
+
"types": ["hash"]
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"parameters": [
|
|
156
|
+
{
|
|
157
|
+
"name": "path",
|
|
158
|
+
"doc": "optional resource path string to the resource",
|
|
159
|
+
"types": ["string"],
|
|
160
|
+
"is_optional": "True"
|
|
161
|
+
}
|
|
162
|
+
],
|
|
163
|
+
"examples": "Load tile source and set it to a tile map:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_tile_source"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">tile_source</span><span class=\"p\">(</span><span class=\"s2\">"/tilesource.tilesource"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#tilemap"</span><span class=\"p\">,</span> <span class=\"s2\">"tile_source"</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_tile_source</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
164
|
+
"replaces": "",
|
|
165
|
+
"error": "",
|
|
166
|
+
"tparams": [],
|
|
167
|
+
"members": [],
|
|
168
|
+
"notes": [],
|
|
169
|
+
"language": ""
|
|
170
|
+
},
|
|
171
|
+
{
|
|
172
|
+
"type": "FUNCTION",
|
|
173
|
+
"name": "resource.render_target",
|
|
174
|
+
"brief": "reference to render target resource",
|
|
175
|
+
"description": "Constructor-like function with two purposes:\n<ul>\n<li>Load the specified resource as part of loading the script</li>\n<li>Return a hash to the run-time version of the resource</li>\n</ul>\n<span class=\"icon-attention\"></span> This function can only be called within <a href=\"/ref/go#go.property\">go.property</a> function calls.",
|
|
176
|
+
"returnvalues": [
|
|
177
|
+
{
|
|
178
|
+
"name": "path",
|
|
179
|
+
"doc": "a path hash to the binary version of the resource",
|
|
180
|
+
"types": ["hash"]
|
|
181
|
+
}
|
|
182
|
+
],
|
|
183
|
+
"parameters": [
|
|
184
|
+
{
|
|
185
|
+
"name": "path",
|
|
186
|
+
"doc": "optional resource path string to the resource",
|
|
187
|
+
"types": ["string"],
|
|
188
|
+
"is_optional": "True"
|
|
189
|
+
}
|
|
190
|
+
],
|
|
191
|
+
"examples": "Set a render target color attachment as a model texture:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_render_target"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">render_target</span><span class=\"p\">(</span><span class=\"s2\">"/rt.render_target"</span><span class=\"p\">))</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">rt_info</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_render_target_info</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_render_target</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">rt_info</span><span class=\"p\">.</span><span class=\"n\">attachments</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">].</span><span class=\"n\">texture</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
192
|
+
"replaces": "",
|
|
193
|
+
"error": "",
|
|
194
|
+
"tparams": [],
|
|
195
|
+
"members": [],
|
|
196
|
+
"notes": [],
|
|
197
|
+
"language": ""
|
|
198
|
+
},
|
|
199
|
+
{
|
|
200
|
+
"type": "FUNCTION",
|
|
201
|
+
"name": "resource.set",
|
|
202
|
+
"brief": "Set a resource",
|
|
203
|
+
"description": "Sets the resource data for a specific resource",
|
|
204
|
+
"returnvalues": [],
|
|
205
|
+
"parameters": [
|
|
206
|
+
{
|
|
207
|
+
"name": "path",
|
|
208
|
+
"doc": "The path to the resource",
|
|
209
|
+
"types": ["string", "hash"],
|
|
210
|
+
"is_optional": "False"
|
|
211
|
+
},
|
|
212
|
+
{
|
|
213
|
+
"name": "buffer",
|
|
214
|
+
"doc": "The buffer of precreated data, suitable for the intended resource type",
|
|
215
|
+
"types": ["buffer"],
|
|
216
|
+
"is_optional": "False"
|
|
217
|
+
}
|
|
218
|
+
],
|
|
219
|
+
"examples": "Assuming the folder \"/res\" is added to the project custom resources:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- load a texture resource and set it on a sprite</span>\n<span class=\"kd\">local</span> <span class=\"n\">buffer</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">load</span><span class=\"p\">(</span><span class=\"s2\">"/res/new.texturec"</span><span class=\"p\">)</span>\n<span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">"#sprite"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">),</span> <span class=\"n\">buffer</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
220
|
+
"replaces": "",
|
|
221
|
+
"error": "",
|
|
222
|
+
"tparams": [],
|
|
223
|
+
"members": [],
|
|
224
|
+
"notes": [],
|
|
225
|
+
"language": ""
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"type": "FUNCTION",
|
|
229
|
+
"name": "resource.load",
|
|
230
|
+
"brief": "load a resource",
|
|
231
|
+
"description": "Loads the resource data for a specific resource.",
|
|
232
|
+
"returnvalues": [
|
|
233
|
+
{
|
|
234
|
+
"name": "buffer",
|
|
235
|
+
"doc": "Returns the buffer stored on disc",
|
|
236
|
+
"types": ["buffer"]
|
|
237
|
+
}
|
|
238
|
+
],
|
|
239
|
+
"parameters": [
|
|
240
|
+
{
|
|
241
|
+
"name": "path",
|
|
242
|
+
"doc": "The path to the resource",
|
|
243
|
+
"types": ["string"],
|
|
244
|
+
"is_optional": "False"
|
|
245
|
+
}
|
|
246
|
+
],
|
|
247
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"c1\">-- read custom resource data into buffer</span>\n<span class=\"kd\">local</span> <span class=\"n\">buffer</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">load</span><span class=\"p\">(</span><span class=\"s2\">"/resources/datafile"</span><span class=\"p\">)</span>\n</code></pre></div>\n\nIn order for the engine to include custom resources in the build process, you need\nto specify them in the \"game.project\" settings file:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"k\">[project]</span><span class=\"w\"></span>\n<span class=\"na\">title</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s\">My project</span><span class=\"w\"></span>\n<span class=\"na\">version</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s\">0.1</span><span class=\"w\"></span>\n<span class=\"na\">custom_resources</span><span class=\"w\"> </span><span class=\"o\">=</span><span class=\"w\"> </span><span class=\"s\">resources/,assets/level_data.json</span><span class=\"w\"></span>\n</code></pre></div>",
|
|
248
|
+
"replaces": "",
|
|
249
|
+
"error": "",
|
|
250
|
+
"tparams": [],
|
|
251
|
+
"members": [],
|
|
252
|
+
"notes": [],
|
|
253
|
+
"language": ""
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
"type": "FUNCTION",
|
|
257
|
+
"name": "resource.create_texture",
|
|
258
|
+
"brief": "create a texture",
|
|
259
|
+
"description": "Creates a new texture resource that can be used in the same way as any texture created during build time.\nThe path used for creating the texture must be unique, trying to create a resource at a path that is already\nregistered will trigger an error. If the intention is to instead modify an existing texture, use the <a href=\"/ref/resource#resource.set_texture\">resource.set_texture</a>\nfunction. Also note that the path to the new texture resource must have a '.texturec' extension,\nmeaning \"/path/my_texture\" is not a valid path but \"/path/my_texture.texturec\" is.\nIf the texture is created without a buffer, the pixel data will be blank.",
|
|
260
|
+
"returnvalues": [
|
|
261
|
+
{
|
|
262
|
+
"name": "path",
|
|
263
|
+
"doc": "The path to the resource.\n<span class=\"icon-attention\"></span> 3D Textures are currently only supported on OpenGL and Vulkan adapters. To check if your device supports 3D textures, use:\n```lua\nif graphics.TEXTURE_TYPE_3D ~= nil then\n -- Device and graphics adapter support 3D textures\nend",
|
|
264
|
+
"types": ["hash"]
|
|
265
|
+
}
|
|
266
|
+
],
|
|
267
|
+
"parameters": [
|
|
268
|
+
{
|
|
269
|
+
"name": "path",
|
|
270
|
+
"doc": "The path to the resource.",
|
|
271
|
+
"types": ["string"],
|
|
272
|
+
"is_optional": "False"
|
|
273
|
+
},
|
|
274
|
+
{
|
|
275
|
+
"name": "table",
|
|
276
|
+
"doc": "A table containing info about how to create the texture. Supported entries:\n<dl>\n<dt><code>type</code></dt>\n<dd><span class=\"type\">number</span> The texture type. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_TYPE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_CUBE_MAP</code></li>\n</ul>\n<dl>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> The width of the texture (in pixels). Must be larger than 0.</dd>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> The width of the texture (in pixels). Must be larger than 0.</dd>\n<dt><code>depth</code></dt>\n<dd><span class=\"type\">number</span> The depth of the texture (in pixels). Must be larger than 0. Only used when <code>type</code> is <code>graphics.TEXTURE_TYPE_3D</code> or <code>graphics.TEXTURE_TYPE_IMAGE_3D</code>.</dd>\n<dt><code>format</code></dt>\n<dd><span class=\"type\">number</span> The texture format, note that some of these formats might not be supported by the running device. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_FORMAT_LUMINANCE</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA</code></li>\n</ul>\nThese constants might not be available on the device:\n<ul>\n<li><code>graphics.TEXTURE_FORMAT_RGB_PVRTC_2BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB_PVRTC_4BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_PVRTC_2BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_PVRTC_4BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB_ETC1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_ETC2</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_ASTC_4X4</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB_BC1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_BC3</code></li>\n<li><code>graphics.TEXTURE_FORMAT_R_BC4</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RG_BC5</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_BC7</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB32F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA32F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_R16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RG16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_R32F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RG32F</code></li>\n</ul>\nYou can test if the device supports these values by checking if a specific enum is nil or not:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">if</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA16F</span> <span class=\"o\">~=</span> <span class=\"kc\">nil</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- it is safe to use this format</span>\n<span class=\"kr\">end</span>\n</code></pre></div>\n\n<dl>\n<dt><code>flags</code></dt>\n<dd><span class=\"type\">number</span> Texture creation flags that can be used to dictate how the texture is created. The default value is <a href=\"/ref/graphics#graphics.TEXTURE_USAGE_FLAG_SAMPLE\">graphics.TEXTURE_USAGE_FLAG_SAMPLE</a>, which means that the texture can be sampled from a shader.\nThese flags may or may not be supported on the running device and/or the underlying graphics API and is simply used internally as a 'hint' when creating the texture. There is no guarantee that any of these will have any effect. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_USAGE_FLAG_SAMPLE</code> - The texture can be sampled from a shader (default)</li>\n<li><code>graphics.TEXTURE_USAGE_FLAG_MEMORYLESS</code> - The texture can be used as a memoryless texture, i.e only transient memory for the texture is used during rendering</li>\n<li><code>graphics.TEXTURE_USAGE_FLAG_STORAGE</code> - The texture can be used as a storage texture, which is required for a shader to write to the texture</li>\n</ul>\n<dl>\n<dt><code>max_mipmaps</code></dt>\n<dd><span class=\"type\">number</span> optional max number of mipmaps. Defaults to zero, i.e no mipmap support</dd>\n<dt><code>compression_type</code></dt>\n<dd><span class=\"type\">number</span> optional specify the compression type for the data in the buffer object that holds the texture data. Will only be used when a compressed buffer has been passed into the function.\nCreating an empty texture with no buffer data is not supported as a core feature. Defaults to graphics.COMPRESSION_TYPE_DEFAULT, i.e no compression. Supported values:</dd>\n</dl>\n<ul>\n<li><code>COMPRESSION_TYPE_DEFAULT</code></li>\n<li><code>COMPRESSION_TYPE_BASIS_UASTC</code></li>\n</ul>",
|
|
277
|
+
"types": ["table"],
|
|
278
|
+
"is_optional": "False"
|
|
279
|
+
},
|
|
280
|
+
{
|
|
281
|
+
"name": "buffer",
|
|
282
|
+
"doc": "optional buffer of precreated pixel data",
|
|
283
|
+
"types": ["buffer"],
|
|
284
|
+
"is_optional": "False"
|
|
285
|
+
}
|
|
286
|
+
],
|
|
287
|
+
"examples": "How to create an 128x128 RGBA texture resource and assign it to a model\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">tparams</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA</span><span class=\"p\">,</span>\n <span class=\"p\">}</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_texture_id</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture</span><span class=\"p\">(</span><span class=\"s2\">"/my_custom_texture.texturec"</span><span class=\"p\">,</span> <span class=\"n\">tparams</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">my_texture_id</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">How</span> <span class=\"n\">to</span> <span class=\"n\">create</span> <span class=\"n\">an</span> <span class=\"mi\">128</span><span class=\"n\">x128</span> <span class=\"n\">floating</span> <span class=\"n\">point</span> <span class=\"n\">texture</span> <span class=\"p\">(</span><span class=\"n\">RGBA32F</span><span class=\"p\">)</span> <span class=\"n\">resource</span> <span class=\"n\">from</span> <span class=\"n\">a</span> <span class=\"n\">buffer</span> <span class=\"n\">object</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"c1\">-- Create a new buffer with 4 components and FLOAT32 type</span>\n <span class=\"kd\">local</span> <span class=\"n\">tbuffer</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"mi\">128</span> <span class=\"o\">*</span> <span class=\"mi\">128</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"p\">{</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">),</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_FLOAT32</span><span class=\"p\">,</span> <span class=\"n\">count</span><span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">}</span> <span class=\"p\">}</span> <span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">tstream</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">tbuffer</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">))</span>\n\n <span class=\"c1\">-- Fill the buffer stream with some float values</span>\n <span class=\"kr\">for</span> <span class=\"n\">y</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">128</span> <span class=\"kr\">do</span>\n <span class=\"kr\">for</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">128</span> <span class=\"kr\">do</span>\n <span class=\"kd\">local</span> <span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">128</span> <span class=\"o\">*</span> <span class=\"mi\">4</span> <span class=\"o\">+</span> <span class=\"p\">(</span><span class=\"n\">x</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">4</span> <span class=\"o\">+</span> <span class=\"mi\">1</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">999.0</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"o\">-</span><span class=\"mf\">1.0</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">0.5</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">3</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">1.0</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n\n <span class=\"c1\">-- Create a 2D Texture with a RGBA23F format</span>\n <span class=\"kd\">local</span> <span class=\"n\">tparams</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA32F</span><span class=\"p\">,</span>\n <span class=\"p\">}</span>\n\n <span class=\"c1\">-- Note that we pass the buffer as the last argument here!</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_texture_id</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture</span><span class=\"p\">(</span><span class=\"s2\">"/my_custom_texture.texturec"</span><span class=\"p\">,</span> <span class=\"n\">tparams</span><span class=\"p\">,</span> <span class=\"n\">tbuffer</span><span class=\"p\">)</span>\n\n <span class=\"c1\">-- assign the texture to a model</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">my_texture_id</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">How</span> <span class=\"n\">to</span> <span class=\"n\">create</span> <span class=\"n\">a</span> <span class=\"mi\">32</span><span class=\"n\">x32x32</span> <span class=\"n\">floating</span> <span class=\"n\">point</span> <span class=\"mi\">3</span><span class=\"n\">D</span> <span class=\"n\">texture</span> <span class=\"n\">that</span> <span class=\"n\">can</span> <span class=\"n\">be</span> <span class=\"n\">used</span> <span class=\"n\">to</span> <span class=\"n\">generate</span> <span class=\"n\">volumetric</span> <span class=\"n\">data</span> <span class=\"kr\">in</span> <span class=\"n\">a</span> <span class=\"n\">compute</span> <span class=\"n\">shader</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">t_volume</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture</span><span class=\"p\">(</span><span class=\"s2\">"/my_backing_texture.texturec"</span><span class=\"p\">,</span> <span class=\"p\">{</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_IMAGE_3D</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">32</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">32</span><span class=\"p\">,</span>\n <span class=\"n\">depth</span> <span class=\"o\">=</span> <span class=\"mi\">32</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA32F</span><span class=\"p\">,</span>\n <span class=\"n\">flags</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_USAGE_FLAG_STORAGE</span> <span class=\"o\">+</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_USAGE_FLAG_SAMPLE</span><span class=\"p\">,</span>\n <span class=\"p\">})</span>\n\n <span class=\"c1\">-- pass the backing texture to the render script</span>\n <span class=\"n\">msg</span><span class=\"p\">.</span><span class=\"n\">post</span><span class=\"p\">(</span><span class=\"s2\">"@render:"</span><span class=\"p\">,</span> <span class=\"s2\">"add_textures"</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"n\">t_volume</span> <span class=\"p\">})</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">How</span> <span class=\"n\">to</span> <span class=\"n\">create</span> <span class=\"mi\">512</span><span class=\"n\">x512</span> <span class=\"n\">texture</span> <span class=\"n\">array</span> <span class=\"n\">with</span> <span class=\"mi\">5</span> <span class=\"n\">pages</span><span class=\"p\">.</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n <span class=\"kd\">local</span> <span class=\"n\">new_tex</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture</span><span class=\"p\">(</span><span class=\"s2\">"/runtime/example_array.texturec"</span><span class=\"p\">,</span> <span class=\"p\">{</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D_ARRAY</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">512</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">512</span><span class=\"p\">,</span>\n <span class=\"n\">page_count</span> <span class=\"o\">=</span> <span class=\"mi\">5</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGB</span><span class=\"p\">,</span>\n <span class=\"p\">})</span>\n</code></pre></div>",
|
|
288
|
+
"replaces": "",
|
|
289
|
+
"error": "",
|
|
290
|
+
"tparams": [],
|
|
291
|
+
"members": [],
|
|
292
|
+
"notes": [],
|
|
293
|
+
"language": ""
|
|
294
|
+
},
|
|
295
|
+
{
|
|
296
|
+
"type": "FUNCTION",
|
|
297
|
+
"name": "resource.create_texture_async",
|
|
298
|
+
"brief": "create a texture async",
|
|
299
|
+
"description": "Creates a new texture resource that can be used in the same way as any texture created during build time.\nThe path used for creating the texture must be unique, trying to create a resource at a path that is already\nregistered will trigger an error. If the intention is to instead modify an existing texture, use the <a href=\"/ref/resource#resource.set_texture\">resource.set_texture</a>\nfunction. Also note that the path to the new texture resource must have a '.texturec' extension,\nmeaning \"/path/my_texture\" is not a valid path but \"/path/my_texture.texturec\" is.\nIf the texture is created without a buffer, the pixel data will be blank.\nThe difference between the async version and <a href=\"/ref/resource#resource.create_texture\">resource.create_texture</a> is that the texture data will be uploaded\nin a graphics worker thread. The function will return a resource immediately that contains a 1x1 blank texture which can be used\nimmediately after the function call. When the new texture has been uploaded, the initial blank texture will be deleted and replaced with the\nnew texture. Be careful when using the initial texture handle handle as it will not be valid after the upload has finished.",
|
|
300
|
+
"returnvalues": [
|
|
301
|
+
{
|
|
302
|
+
"name": "path",
|
|
303
|
+
"doc": "The path to the texture resource.",
|
|
304
|
+
"types": ["hash"]
|
|
305
|
+
},
|
|
306
|
+
{
|
|
307
|
+
"name": "request_id",
|
|
308
|
+
"doc": "The request id for the async request.\n<span class=\"icon-attention\"></span> 3D Textures are currently only supported on OpenGL and Vulkan adapters. To check if your device supports 3D textures, use:\n```lua\nif graphics.TEXTURE_TYPE_3D ~= nil then\n -- Device and graphics adapter support 3D textures\nend",
|
|
309
|
+
"types": ["number"]
|
|
310
|
+
}
|
|
311
|
+
],
|
|
312
|
+
"parameters": [
|
|
313
|
+
{
|
|
314
|
+
"name": "path",
|
|
315
|
+
"doc": "The path to the resource.",
|
|
316
|
+
"types": ["string", "hash"],
|
|
317
|
+
"is_optional": "False"
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"name": "table",
|
|
321
|
+
"doc": "<dl>\n<dt>A table containing info about how to create the texture. Supported entries:</dt>\n<dt><code>type</code></dt>\n<dd><span class=\"type\">number</span> The texture type. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_TYPE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_CUBE_MAP</code></li>\n</ul>\n<dl>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> The width of the texture (in pixels). Must be larger than 0.</dd>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> The width of the texture (in pixels). Must be larger than 0.</dd>\n<dt><code>depth</code></dt>\n<dd><span class=\"type\">number</span> The depth of the texture (in pixels). Must be larger than 0. Only used when <code>type</code> is <code>graphics.TEXTURE_TYPE_3D</code> or <code>graphics.TEXTURE_TYPE_IMAGE_3D</code>.</dd>\n<dt><code>format</code></dt>\n<dd><span class=\"type\">number</span> The texture format, note that some of these formats might not be supported by the running device. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_FORMAT_LUMINANCE</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA</code></li>\n</ul>\nThese constants might not be available on the device:\n<ul>\n<li><code>graphics.TEXTURE_FORMAT_RGB_PVRTC_2BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB_PVRTC_4BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_PVRTC_2BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_PVRTC_4BPPV1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB_ETC1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_ETC2</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_ASTC_4X4</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB_BC1</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_BC3</code></li>\n<li><code>graphics.TEXTURE_FORMAT_R_BC4</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RG_BC5</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA_BC7</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB32F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA32F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_R16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RG16F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_R32F</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RG32F</code></li>\n</ul>\nYou can test if the device supports these values by checking if a specific enum is nil or not:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">if</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA16F</span> <span class=\"o\">~=</span> <span class=\"kc\">nil</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- it is safe to use this format</span>\n<span class=\"kr\">end</span>\n</code></pre></div>\n\n<dl>\n<dt><code>flags</code></dt>\n<dd><span class=\"type\">number</span> Texture creation flags that can be used to dictate how the texture is created. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_USAGE_FLAG_SAMPLE</code> - The texture can be sampled from a shader (default)</li>\n<li><code>graphics.TEXTURE_USAGE_FLAG_MEMORYLESS</code> - The texture can be used as a memoryless texture, i.e only transient memory for the texture is used during rendering</li>\n<li><code>graphics.TEXTURE_USAGE_FLAG_STORAGE</code> - The texture can be used as a storage texture, which is required for a shader to write to the texture</li>\n</ul>\n<dl>\n<dt><code>max_mipmaps</code></dt>\n<dd><span class=\"type\">number</span> optional max number of mipmaps. Defaults to zero, i.e no mipmap support</dd>\n<dt><code>compression_type</code></dt>\n<dd><span class=\"type\">number</span> optional specify the compression type for the data in the buffer object that holds the texture data. Will only be used when a compressed buffer has been passed into the function.\nCreating an empty texture with no buffer data is not supported as a core feature. Defaults to graphics.COMPRESSION_TYPE_DEFAULT, i.e no compression. Supported values:</dd>\n</dl>\n<ul>\n<li><code>COMPRESSION_TYPE_DEFAULT</code></li>\n<li><code>COMPRESSION_TYPE_BASIS_UASTC</code></li>\n</ul>",
|
|
322
|
+
"types": ["table"],
|
|
323
|
+
"is_optional": "False"
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
"name": "buffer",
|
|
327
|
+
"doc": "optional buffer of precreated pixel data",
|
|
328
|
+
"types": ["buffer"],
|
|
329
|
+
"is_optional": "False"
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
"name": "callback",
|
|
333
|
+
"doc": "callback function when texture is created (self, request_id, resource)",
|
|
334
|
+
"types": ["function"],
|
|
335
|
+
"is_optional": "False"
|
|
336
|
+
}
|
|
337
|
+
],
|
|
338
|
+
"examples": "Create a texture resource asyncronously with a buffer and a callback\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">callback</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">,</span> <span class=\"n\">request_id</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">)</span>\n <span class=\"c1\">-- The resource has been updated with a new texture,</span>\n <span class=\"c1\">-- so we can update other systems with the new handle,</span>\n <span class=\"c1\">-- or update components to use the resource if we want</span>\n <span class=\"kd\">local</span> <span class=\"n\">tinfo</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_texture_info</span><span class=\"p\">(</span><span class=\"n\">resource</span><span class=\"p\">)</span>\n <span class=\"n\">msg</span><span class=\"p\">.</span><span class=\"n\">post</span><span class=\"p\">(</span><span class=\"s2\">"@render:"</span><span class=\"p\">,</span> <span class=\"s2\">"set_backing_texture"</span><span class=\"p\">,</span> <span class=\"n\">tinfo</span><span class=\"p\">.</span><span class=\"n\">handle</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"c1\">-- Create a texture resource async</span>\n <span class=\"kd\">local</span> <span class=\"n\">tparams</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA</span><span class=\"p\">,</span>\n <span class=\"p\">}</span>\n\n <span class=\"c1\">-- Create a new buffer with 4 components</span>\n <span class=\"kd\">local</span> <span class=\"n\">tbuffer</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">*</span> <span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">height</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"p\">{</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">),</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_UINT8</span><span class=\"p\">,</span> <span class=\"n\">count</span><span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">}</span> <span class=\"p\">}</span> <span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">tstream</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">tbuffer</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">))</span>\n\n <span class=\"c1\">-- Fill the buffer stream with some float values</span>\n <span class=\"kr\">for</span> <span class=\"n\">y</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"kr\">do</span>\n <span class=\"kr\">for</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">height</span> <span class=\"kr\">do</span>\n <span class=\"kd\">local</span> <span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">128</span> <span class=\"o\">*</span> <span class=\"mi\">4</span> <span class=\"o\">+</span> <span class=\"p\">(</span><span class=\"n\">x</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">4</span> <span class=\"o\">+</span> <span class=\"mi\">1</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">255</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">255</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">3</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">255</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n <span class=\"c1\">-- create the texture</span>\n <span class=\"kd\">local</span> <span class=\"n\">tpath</span><span class=\"p\">,</span> <span class=\"n\">request_id</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture_async</span><span class=\"p\">(</span><span class=\"s2\">"/my_texture.texturec"</span><span class=\"p\">,</span> <span class=\"n\">tparams</span><span class=\"p\">,</span> <span class=\"n\">tbuffer</span><span class=\"p\">,</span> <span class=\"n\">callback</span><span class=\"p\">)</span>\n <span class=\"c1\">-- at this point you can use the resource as-is, but note that the texture will be a blank 1x1 texture</span>\n <span class=\"c1\">-- that will be removed once the new texture has been updated</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">tpath</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">Create</span> <span class=\"n\">a</span> <span class=\"n\">texture</span> <span class=\"n\">resource</span> <span class=\"n\">asyncronously</span> <span class=\"n\">without</span> <span class=\"n\">a</span> <span class=\"n\">callback</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"c1\">-- Create a texture resource async</span>\n <span class=\"kd\">local</span> <span class=\"n\">tparams</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA</span><span class=\"p\">,</span>\n <span class=\"p\">}</span>\n\n <span class=\"c1\">-- Create a new buffer with 4 components</span>\n <span class=\"kd\">local</span> <span class=\"n\">tbuffer</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">*</span> <span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">height</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"p\">{</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">),</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_UINT8</span><span class=\"p\">,</span> <span class=\"n\">count</span><span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">}</span> <span class=\"p\">}</span> <span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">tstream</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">tbuffer</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">))</span>\n\n <span class=\"c1\">-- Fill the buffer stream with some float values</span>\n <span class=\"kr\">for</span> <span class=\"n\">y</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"kr\">do</span>\n <span class=\"kr\">for</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">tparams</span><span class=\"p\">.</span><span class=\"n\">height</span> <span class=\"kr\">do</span>\n <span class=\"kd\">local</span> <span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">128</span> <span class=\"o\">*</span> <span class=\"mi\">4</span> <span class=\"o\">+</span> <span class=\"p\">(</span><span class=\"n\">x</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">4</span> <span class=\"o\">+</span> <span class=\"mi\">1</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">255</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">0</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">255</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">3</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mi\">255</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n <span class=\"c1\">-- create the texture</span>\n <span class=\"kd\">local</span> <span class=\"n\">tpath</span><span class=\"p\">,</span> <span class=\"n\">request_id</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture_async</span><span class=\"p\">(</span><span class=\"s2\">"/my_texture.texturec"</span><span class=\"p\">,</span> <span class=\"n\">tparams</span><span class=\"p\">,</span> <span class=\"n\">tbuffer</span><span class=\"p\">)</span>\n <span class=\"c1\">-- at this point you can use the resource as-is, but note that the texture will be a blank 1x1 texture</span>\n <span class=\"c1\">-- that will be removed once the new texture has been updated</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">tpath</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
339
|
+
"replaces": "",
|
|
340
|
+
"error": "",
|
|
341
|
+
"tparams": [],
|
|
342
|
+
"members": [],
|
|
343
|
+
"notes": [],
|
|
344
|
+
"language": ""
|
|
345
|
+
},
|
|
346
|
+
{
|
|
347
|
+
"type": "FUNCTION",
|
|
348
|
+
"name": "resource.release",
|
|
349
|
+
"brief": "release a resource",
|
|
350
|
+
"description": "Release a resource.\n<span class=\"icon-attention\"></span> This is a potentially dangerous operation, releasing resources currently being used can cause unexpected behaviour.",
|
|
351
|
+
"returnvalues": [],
|
|
352
|
+
"parameters": [
|
|
353
|
+
{
|
|
354
|
+
"name": "path",
|
|
355
|
+
"doc": "The path to the resource.",
|
|
356
|
+
"types": ["hash", "string"],
|
|
357
|
+
"is_optional": "False"
|
|
358
|
+
}
|
|
359
|
+
],
|
|
360
|
+
"examples": "",
|
|
361
|
+
"replaces": "",
|
|
362
|
+
"error": "",
|
|
363
|
+
"tparams": [],
|
|
364
|
+
"members": [],
|
|
365
|
+
"notes": [],
|
|
366
|
+
"language": ""
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"type": "FUNCTION",
|
|
370
|
+
"name": "resource.set_texture",
|
|
371
|
+
"brief": "set a texture",
|
|
372
|
+
"description": "Sets the pixel data for a specific texture.",
|
|
373
|
+
"returnvalues": [],
|
|
374
|
+
"parameters": [
|
|
375
|
+
{
|
|
376
|
+
"name": "path",
|
|
377
|
+
"doc": "The path to the resource",
|
|
378
|
+
"types": ["hash", "string"],
|
|
379
|
+
"is_optional": "False"
|
|
380
|
+
},
|
|
381
|
+
{
|
|
382
|
+
"name": "table",
|
|
383
|
+
"doc": "A table containing info about the texture. Supported entries:\n<dl>\n<dt><code>type</code></dt>\n<dd><span class=\"type\">number</span> The texture type. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_TYPE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_CUBE_MAP</code></li>\n</ul>\n<dl>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> The width of the texture (in pixels)</dd>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> The width of the texture (in pixels)</dd>\n<dt><code>format</code></dt>\n<dd><span class=\"type\">number</span> The texture format, note that some of these formats are platform specific. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_FORMAT_LUMINANCE</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGB</code></li>\n<li><code>graphics.TEXTURE_FORMAT_RGBA</code></li>\n</ul>\nThese constants might not be available on the device:\n- <code>graphics.TEXTURE_FORMAT_RGB_PVRTC_2BPPV1</code>\n- <code>graphics.TEXTURE_FORMAT_RGB_PVRTC_4BPPV1</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA_PVRTC_2BPPV1</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA_PVRTC_4BPPV1</code>\n- <code>graphics.TEXTURE_FORMAT_RGB_ETC1</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA_ETC2</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA_ASTC_4X4</code>\n- <code>graphics.TEXTURE_FORMAT_RGB_BC1</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA_BC3</code>\n- <code>graphics.TEXTURE_FORMAT_R_BC4</code>\n- <code>graphics.TEXTURE_FORMAT_RG_BC5</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA_BC7</code>\n- <code>graphics.TEXTURE_FORMAT_RGB16F</code>\n- <code>graphics.TEXTURE_FORMAT_RGB32F</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA16F</code>\n- <code>graphics.TEXTURE_FORMAT_RGBA32F</code>\n- <code>graphics.TEXTURE_FORMAT_R16F</code>\n- <code>graphics.TEXTURE_FORMAT_RG16F</code>\n- <code>graphics.TEXTURE_FORMAT_R32F</code>\n- <code>graphics.TEXTURE_FORMAT_RG32F</code>\nYou can test if the device supports these values by checking if a specific enum is nil or not:\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">if</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA16F</span> <span class=\"o\">~=</span> <span class=\"kc\">nil</span> <span class=\"kr\">then</span>\n <span class=\"c1\">-- it is safe to use this format</span>\n<span class=\"kr\">end</span>\n</code></pre></div>\n\n<dl>\n<dt><code>x</code></dt>\n<dd><span class=\"type\">number</span> optional x offset of the texture (in pixels)</dd>\n<dt><code>y</code></dt>\n<dd><span class=\"type\">number</span> optional y offset of the texture (in pixels)</dd>\n<dt><code>z</code></dt>\n<dd><span class=\"type\">number</span> optional z offset of the texture (in pixels). Only applies to 3D textures</dd>\n<dt><code>page</code></dt>\n<dd><span class=\"type\">number</span> optional slice of the array texture. Only applies to 2D texture arrays. Zero-based</dd>\n<dt><code>mipmap</code></dt>\n<dd><span class=\"type\">number</span> optional mipmap to upload the data to</dd>\n<dt><code>compression_type</code></dt>\n<dd><span class=\"type\">number</span> optional specify the compression type for the data in the buffer object that holds the texture data. Defaults to graphics.COMPRESSION_TYPE_DEFAULT, i.e no compression. Supported values:</dd>\n</dl>\n<ul>\n<li><code>COMPRESSION_TYPE_DEFAULT</code></li>\n<li><code>COMPRESSION_TYPE_BASIS_UASTC</code></li>\n</ul>",
|
|
384
|
+
"types": ["table"],
|
|
385
|
+
"is_optional": "False"
|
|
386
|
+
},
|
|
387
|
+
{
|
|
388
|
+
"name": "buffer",
|
|
389
|
+
"doc": "The buffer of precreated pixel data\n<span class=\"icon-attention\"></span> To update a cube map texture you need to pass in six times the amount of data via the buffer, since a cube map has six sides!\n<span class=\"icon-attention\"></span> 3D Textures are currently only supported on OpenGL and Vulkan adapters. To check if your device supports 3D textures, use:\n```lua\nif graphics.TEXTURE_TYPE_3D ~= nil then\n -- Device and graphics adapter support 3D textures\nend",
|
|
390
|
+
"types": ["buffer"],
|
|
391
|
+
"is_optional": "False"
|
|
392
|
+
}
|
|
393
|
+
],
|
|
394
|
+
"examples": "How to set all pixels of an atlas\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">buffer</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">*</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"p\">{</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgb"</span><span class=\"p\">),</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_UINT8</span><span class=\"p\">,</span> <span class=\"n\">count</span><span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">}</span> <span class=\"p\">}</span> <span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">buffer</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgb"</span><span class=\"p\">))</span>\n\n <span class=\"kr\">for</span> <span class=\"n\">y</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span> <span class=\"kr\">do</span>\n <span class=\"kr\">for</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"kr\">do</span>\n <span class=\"kd\">local</span> <span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">*</span> <span class=\"mi\">3</span> <span class=\"o\">+</span> <span class=\"p\">(</span><span class=\"n\">x</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">3</span> <span class=\"o\">+</span> <span class=\"mi\">1</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mh\">0xff</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mh\">0x80</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mh\">0x10</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">resource_path</span> <span class=\"o\">=</span> <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">args</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"n\">width</span><span class=\"o\">=</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span><span class=\"p\">,</span> <span class=\"n\">height</span><span class=\"o\">=</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span><span class=\"p\">,</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span> <span class=\"n\">format</span><span class=\"o\">=</span><span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGB</span><span class=\"p\">,</span> <span class=\"n\">num_mip_maps</span><span class=\"o\">=</span><span class=\"mi\">1</span> <span class=\"p\">}</span>\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_texture</span><span class=\"p\">(</span> <span class=\"n\">resource_path</span><span class=\"p\">,</span> <span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">buffer</span> <span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">How</span> <span class=\"n\">to</span> <span class=\"n\">update</span> <span class=\"n\">a</span> <span class=\"n\">specific</span> <span class=\"n\">region</span> <span class=\"n\">of</span> <span class=\"n\">an</span> <span class=\"n\">atlas</span> <span class=\"n\">by</span> <span class=\"n\">using</span> <span class=\"n\">the</span> <span class=\"n\">x</span><span class=\"p\">,</span><span class=\"n\">y</span> <span class=\"n\">values</span><span class=\"p\">.</span> <span class=\"n\">Assumes</span> <span class=\"n\">the</span> <span class=\"n\">already</span> <span class=\"n\">set</span> <span class=\"n\">atlas</span> <span class=\"n\">is</span> <span class=\"n\">a</span> <span class=\"mi\">128</span><span class=\"n\">x128</span> <span class=\"n\">texture</span><span class=\"p\">.</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">x</span> <span class=\"o\">=</span> <span class=\"mi\">16</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">y</span> <span class=\"o\">=</span> <span class=\"mi\">16</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span> <span class=\"o\">-</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">x</span> <span class=\"o\">*</span> <span class=\"mi\">2</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span> <span class=\"o\">-</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">y</span> <span class=\"o\">*</span> <span class=\"mi\">2</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">buffer</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">*</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"p\">{</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgb"</span><span class=\"p\">),</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_UINT8</span><span class=\"p\">,</span> <span class=\"n\">count</span><span class=\"o\">=</span><span class=\"mi\">3</span><span class=\"p\">}</span> <span class=\"p\">}</span> <span class=\"p\">)</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">buffer</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgb"</span><span class=\"p\">))</span>\n\n <span class=\"kr\">for</span> <span class=\"n\">y</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span> <span class=\"kr\">do</span>\n <span class=\"kr\">for</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"kr\">do</span>\n <span class=\"kd\">local</span> <span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"p\">(</span><span class=\"n\">y</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span> <span class=\"o\">*</span> <span class=\"mi\">3</span> <span class=\"o\">+</span> <span class=\"p\">(</span><span class=\"n\">x</span><span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">)</span> <span class=\"o\">*</span> <span class=\"mi\">3</span> <span class=\"o\">+</span> <span class=\"mi\">1</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mh\">0xff</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mh\">0x80</span>\n <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mh\">0x10</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">resource_path</span> <span class=\"o\">=</span> <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">args</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"n\">width</span><span class=\"o\">=</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">width</span><span class=\"p\">,</span> <span class=\"n\">height</span><span class=\"o\">=</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">height</span><span class=\"p\">,</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">x</span><span class=\"p\">,</span> <span class=\"n\">y</span><span class=\"o\">=</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">y</span><span class=\"p\">,</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span> <span class=\"n\">format</span><span class=\"o\">=</span><span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGB</span><span class=\"p\">,</span> <span class=\"n\">num_mip_maps</span><span class=\"o\">=</span><span class=\"mi\">1</span> <span class=\"p\">}</span>\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_texture</span><span class=\"p\">(</span><span class=\"n\">resource_path</span><span class=\"p\">,</span> <span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">buffer</span> <span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">Update</span> <span class=\"n\">a</span> <span class=\"n\">texture</span> <span class=\"n\">from</span> <span class=\"n\">a</span> <span class=\"n\">buffer</span> <span class=\"n\">resource</span>\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">property</span><span class=\"p\">(</span><span class=\"s2\">"my_buffer"</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">buffer</span><span class=\"p\">(</span><span class=\"s2\">"/my_default_buffer.buffer"</span><span class=\"p\">))</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">resource_path</span> <span class=\"o\">=</span> <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">)</span>\n <span class=\"c1\">-- the "my_buffer" resource is expected to hold 128 * 128 * 3 bytes!</span>\n <span class=\"kd\">local</span> <span class=\"n\">args</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGB</span>\n <span class=\"p\">}</span>\n <span class=\"c1\">-- Note that the extra resource.get_buffer call is a requirement here</span>\n <span class=\"c1\">-- since the "self.my_buffer" is just pointing to a buffer resource path</span>\n <span class=\"c1\">-- and not an actual buffer object or buffer resource.</span>\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_texture</span><span class=\"p\">(</span><span class=\"n\">resource_path</span><span class=\"p\">,</span> <span class=\"n\">args</span><span class=\"p\">,</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_buffer</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">.</span><span class=\"n\">my_buffer</span><span class=\"p\">))</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">Update</span> <span class=\"n\">an</span> <span class=\"n\">existing</span> <span class=\"mi\">3</span><span class=\"n\">D</span> <span class=\"n\">texture</span> <span class=\"n\">from</span> <span class=\"n\">a</span> <span class=\"n\">lua</span> <span class=\"n\">buffer</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"c1\">-- create a buffer that can hold the data of a 8x8x8 texture</span>\n <span class=\"kd\">local</span> <span class=\"n\">tbuffer</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"mi\">8</span> <span class=\"o\">*</span> <span class=\"mi\">8</span> <span class=\"o\">*</span> <span class=\"mi\">8</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"p\">{</span><span class=\"n\">name</span><span class=\"o\">=</span><span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">),</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_FLOAT32</span><span class=\"p\">,</span> <span class=\"n\">count</span><span class=\"o\">=</span><span class=\"mi\">4</span><span class=\"p\">}</span> <span class=\"p\">}</span> <span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">tstream</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">tbuffer</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"rgba"</span><span class=\"p\">))</span>\n\n <span class=\"c1\">-- populate the buffer with some data</span>\n <span class=\"kd\">local</span> <span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"mi\">1</span>\n <span class=\"kr\">for</span> <span class=\"n\">z</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">8</span> <span class=\"kr\">do</span>\n <span class=\"kr\">for</span> <span class=\"n\">y</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">8</span> <span class=\"kr\">do</span>\n <span class=\"kr\">for</span> <span class=\"n\">x</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">8</span> <span class=\"kr\">do</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">0</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">x</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">1</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">y</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">2</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">z</span>\n <span class=\"n\">tstream</span><span class=\"p\">[</span><span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">3</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"mf\">1.0</span>\n <span class=\"n\">index</span> <span class=\"o\">=</span> <span class=\"n\">index</span> <span class=\"o\">+</span> <span class=\"mi\">4</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n <span class=\"kr\">end</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">t_args</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_IMAGE_3D</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">8</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">8</span><span class=\"p\">,</span>\n <span class=\"n\">depth</span> <span class=\"o\">=</span> <span class=\"mi\">8</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA32F</span>\n <span class=\"p\">}</span>\n\n <span class=\"c1\">-- This expects that the texture resource "/my_3d_texture.texturec" already exists</span>\n <span class=\"c1\">-- and is a 3D texture resource. To create a dynamic 3D texture resource</span>\n <span class=\"c1\">-- use the "resource.create_texture" function.</span>\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_texture</span><span class=\"p\">(</span><span class=\"s2\">"/my_3d_texture.texturec"</span><span class=\"p\">,</span> <span class=\"n\">t_args</span><span class=\"p\">,</span> <span class=\"n\">tbuffer</span><span class=\"p\">)</span>\n<span class=\"n\">endUpdate</span> <span class=\"n\">texture</span> <span class=\"mi\">2</span><span class=\"n\">nd</span> <span class=\"n\">array</span> <span class=\"n\">page</span> <span class=\"n\">with</span> <span class=\"n\">loaded</span> <span class=\"n\">texture</span> <span class=\"n\">from</span> <span class=\"n\">png</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n <span class=\"c1\">-- new_tex is resource handle of texture which was created via resource.create_resource</span>\n <span class=\"kd\">local</span> <span class=\"n\">tex_path</span> <span class=\"o\">=</span> <span class=\"s2\">"/bundle_resources/page_02.png"</span>\n <span class=\"kd\">local</span> <span class=\"n\">data</span> <span class=\"o\">=</span> <span class=\"n\">sys</span><span class=\"p\">.</span><span class=\"n\">load_resource</span><span class=\"p\">(</span><span class=\"n\">tex_path</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">buf</span> <span class=\"o\">=</span> <span class=\"n\">image</span><span class=\"p\">.</span><span class=\"n\">load_buffer</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">)</span>\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_texture</span><span class=\"p\">(</span><span class=\"n\">new_tex</span><span class=\"p\">,</span> <span class=\"p\">{</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D_ARRAY</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"n\">buf</span><span class=\"p\">.</span><span class=\"n\">width</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"n\">buf</span><span class=\"p\">.</span><span class=\"n\">height</span><span class=\"p\">,</span>\n <span class=\"n\">page</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGB</span>\n <span class=\"p\">},</span> <span class=\"n\">buf</span><span class=\"p\">.</span><span class=\"n\">buffer</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#mesh"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">new_tex</span><span class=\"p\">)</span>\n</code></pre></div>",
|
|
395
|
+
"replaces": "",
|
|
396
|
+
"error": "",
|
|
397
|
+
"tparams": [],
|
|
398
|
+
"members": [],
|
|
399
|
+
"notes": [],
|
|
400
|
+
"language": ""
|
|
401
|
+
},
|
|
402
|
+
{
|
|
403
|
+
"type": "FUNCTION",
|
|
404
|
+
"name": "resource.get_texture_info",
|
|
405
|
+
"brief": "get texture info",
|
|
406
|
+
"description": "Gets texture info from a texture resource path or a texture handle",
|
|
407
|
+
"returnvalues": [
|
|
408
|
+
{
|
|
409
|
+
"name": "table",
|
|
410
|
+
"doc": "A table containing info about the texture:\n<dl>\n<dt><code>handle</code></dt>\n<dd><span class=\"type\">number</span> the opaque handle to the texture resource</dd>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> width of the texture</dd>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> height of the texture</dd>\n<dt><code>depth</code></dt>\n<dd><span class=\"type\">number</span> depth of the texture (i.e 1 for a 2D texture, 6 for a cube map, the actual depth of a 3D texture)</dd>\n<dt><code>page_count</code></dt>\n<dd><span class=\"type\">number</span> number of pages of the texture array. For 2D texture value is 1. For cube map - 6</dd>\n<dt><code>mipmaps</code></dt>\n<dd><span class=\"type\">number</span> number of mipmaps of the texture</dd>\n<dt><code>flags</code></dt>\n<dd><span class=\"type\">number</span> usage hints of the texture.</dd>\n<dt><code>type</code></dt>\n<dd><span class=\"type\">number</span> The texture type. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_TYPE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_2D_ARRAY</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_IMAGE_3D</code></li>\n<li><code>graphics.TEXTURE_TYPE_CUBE_MAP</code></li>\n</ul>",
|
|
411
|
+
"types": ["table"]
|
|
412
|
+
}
|
|
413
|
+
],
|
|
414
|
+
"parameters": [
|
|
415
|
+
{
|
|
416
|
+
"name": "path",
|
|
417
|
+
"doc": "The path to the resource or a texture handle",
|
|
418
|
+
"types": ["hash", "string", "number"],
|
|
419
|
+
"is_optional": "False"
|
|
420
|
+
}
|
|
421
|
+
],
|
|
422
|
+
"examples": "Create a new texture and get the metadata from it\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"c1\">-- create an empty texture</span>\n <span class=\"kd\">local</span> <span class=\"n\">tparams</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA</span><span class=\"p\">,</span>\n <span class=\"p\">}</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">my_texture_path</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture</span><span class=\"p\">(</span><span class=\"s2\">"/my_texture.texturec"</span><span class=\"p\">,</span> <span class=\"n\">tparams</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_texture_info</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_texture_info</span><span class=\"p\">(</span><span class=\"n\">my_texture_path</span><span class=\"p\">)</span>\n\n <span class=\"c1\">-- my_texture_info now contains</span>\n <span class=\"c1\">-- {</span>\n <span class=\"c1\">-- handle = <the-numeric-handle>,</span>\n <span class=\"c1\">-- width = 128,</span>\n <span class=\"c1\">-- height = 128,</span>\n <span class=\"c1\">-- depth = 1</span>\n <span class=\"c1\">-- mipmaps = 1,</span>\n <span class=\"c1\">-- page_count = 1,</span>\n <span class=\"c1\">-- type = graphics.TEXTURE_TYPE_2D,</span>\n <span class=\"c1\">-- flags = graphics.TEXTURE_USAGE_FLAG_SAMPLE</span>\n <span class=\"c1\">-- }</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">Get</span> <span class=\"n\">the</span> <span class=\"n\">meta</span> <span class=\"n\">data</span> <span class=\"n\">from</span> <span class=\"n\">an</span> <span class=\"n\">atlas</span> <span class=\"n\">resource</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_atlas_info</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_atlas</span><span class=\"p\">(</span><span class=\"s2\">"/my_atlas.a.texturesetc"</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_texture_info</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_texture_info</span><span class=\"p\">(</span><span class=\"n\">my_atlas_info</span><span class=\"p\">.</span><span class=\"n\">texture</span><span class=\"p\">)</span>\n\n <span class=\"c1\">-- my_texture_info now contains the information about the texture that is backing the atlas</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
423
|
+
"replaces": "",
|
|
424
|
+
"error": "",
|
|
425
|
+
"tparams": [],
|
|
426
|
+
"members": [],
|
|
427
|
+
"notes": [],
|
|
428
|
+
"language": ""
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"type": "FUNCTION",
|
|
432
|
+
"name": "resource.get_render_target_info",
|
|
433
|
+
"brief": "get render target info",
|
|
434
|
+
"description": "Gets render target info from a render target resource path or a render target handle",
|
|
435
|
+
"returnvalues": [
|
|
436
|
+
{
|
|
437
|
+
"name": "table",
|
|
438
|
+
"doc": "A table containing info about the render target:\n<dl>\n<dt><code>handle</code></dt>\n<dd><span class=\"type\">number</span> the opaque handle to the texture resource</dd>\n<dt>'attachments'</dt>\n<dd><span class=\"type\">table</span> a table of attachments, where each attachment contains the following entries:</dd>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> width of the texture</dd>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> height of the texture</dd>\n<dt><code>depth</code></dt>\n<dd><span class=\"type\">number</span> depth of the texture (i.e 1 for a 2D texture and 6 for a cube map)</dd>\n<dt><code>mipmaps</code></dt>\n<dd><span class=\"type\">number</span> number of mipmaps of the texture</dd>\n<dt><code>type</code></dt>\n<dd><span class=\"type\">number</span> The texture type. Supported values:</dd>\n</dl>\n<ul>\n<li><code>graphics.TEXTURE_TYPE_2D</code></li>\n<li><code>graphics.TEXTURE_TYPE_CUBE_MAP</code></li>\n<li><code>graphics.TEXTURE_TYPE_2D_ARRAY</code></li>\n</ul>\n<dl>\n<dt><code>buffer_type</code></dt>\n<dd><span class=\"type\">number</span> The attachment buffer type. Supported values:</dd>\n</dl>\n<ul>\n<li><code>resource.BUFFER_TYPE_COLOR0</code></li>\n<li><code>resource.BUFFER_TYPE_COLOR1</code></li>\n<li><code>resource.BUFFER_TYPE_COLOR2</code></li>\n<li><code>resource.BUFFER_TYPE_COLOR3</code></li>\n<li><code>resource.BUFFER_TYPE_DEPTH</code></li>\n<li>\n<code>resource.BUFFER_TYPE_STENCIL</code>\n</li>\n<li>\n<dl>\n<dt><code>texture</code></dt>\n<dd><span class=\"type\">hash</span> The hashed path to the attachment texture resource. This field is only available if the render target passed in is a resource.</dd>\n</dl>\n</li>\n</ul>",
|
|
439
|
+
"types": ["table"]
|
|
440
|
+
}
|
|
441
|
+
],
|
|
442
|
+
"parameters": [
|
|
443
|
+
{
|
|
444
|
+
"name": "path",
|
|
445
|
+
"doc": "The path to the resource or a render target handle",
|
|
446
|
+
"types": ["hash", "string", "number"],
|
|
447
|
+
"is_optional": "False"
|
|
448
|
+
}
|
|
449
|
+
],
|
|
450
|
+
"examples": "Get the metadata from a render target resource\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">info</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_render_target_info</span><span class=\"p\">(</span><span class=\"s2\">"/my_render_target.render_targetc"</span><span class=\"p\">)</span>\n <span class=\"c1\">-- the info table contains meta data about all the render target attachments</span>\n <span class=\"c1\">-- so it's not necessary to use resource.get_texture here, but we do it here</span>\n <span class=\"c1\">-- just to show that it's possible:</span>\n <span class=\"kd\">local</span> <span class=\"n\">info_attachment_1</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_texture_info</span><span class=\"p\">(</span><span class=\"n\">info</span><span class=\"p\">.</span><span class=\"n\">attachments</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">].</span><span class=\"n\">handle</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">Get</span> <span class=\"n\">a</span> <span class=\"n\">texture</span> <span class=\"n\">attachment</span> <span class=\"n\">from</span> <span class=\"n\">a</span> <span class=\"n\">render</span> <span class=\"n\">target</span> <span class=\"ow\">and</span> <span class=\"n\">set</span> <span class=\"n\">it</span> <span class=\"n\">on</span> <span class=\"n\">a</span> <span class=\"n\">model</span> <span class=\"n\">component</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">info</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_render_target_info</span><span class=\"p\">(</span><span class=\"s2\">"/my_render_target.render_targetc"</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">attachment</span> <span class=\"o\">=</span> <span class=\"n\">info</span><span class=\"p\">.</span><span class=\"n\">attachments</span><span class=\"p\">[</span><span class=\"mi\">1</span><span class=\"p\">].</span><span class=\"n\">texture</span>\n <span class=\"c1\">-- you can also get texture info from the 'texture' field, since it's a resource hash</span>\n <span class=\"kd\">local</span> <span class=\"n\">texture_info</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_texture_info</span><span class=\"p\">(</span><span class=\"n\">attachment</span><span class=\"p\">)</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#model"</span><span class=\"p\">,</span> <span class=\"s2\">"texture0"</span><span class=\"p\">,</span> <span class=\"n\">attachment</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
451
|
+
"replaces": "",
|
|
452
|
+
"error": "",
|
|
453
|
+
"tparams": [],
|
|
454
|
+
"members": [],
|
|
455
|
+
"notes": [],
|
|
456
|
+
"language": ""
|
|
457
|
+
},
|
|
458
|
+
{
|
|
459
|
+
"type": "FUNCTION",
|
|
460
|
+
"name": "resource.create_atlas",
|
|
461
|
+
"brief": "create an atlas resource",
|
|
462
|
+
"description": "This function creates a new atlas resource that can be used in the same way as any atlas created during build time.\nThe path used for creating the atlas must be unique, trying to create a resource at a path that is already\nregistered will trigger an error. If the intention is to instead modify an existing atlas, use the <a href=\"/ref/resource#resource.set_atlas\">resource.set_atlas</a>\nfunction. Also note that the path to the new atlas resource must have a '.texturesetc' extension,\nmeaning \"/path/my_atlas\" is not a valid path but \"/path/my_atlas.texturesetc\" is.\nWhen creating the atlas, at least one geometry and one animation is required, and an error will be\nraised if these requirements are not met. A reference to the resource will be held by the collection\nthat created the resource and will automatically be released when that collection is destroyed.\nNote that releasing a resource essentially means decreasing the reference count of that resource,\nand not necessarily that it will be deleted.",
|
|
463
|
+
"returnvalues": [
|
|
464
|
+
{
|
|
465
|
+
"name": "path",
|
|
466
|
+
"doc": "Returns the atlas resource path",
|
|
467
|
+
"types": ["hash"]
|
|
468
|
+
}
|
|
469
|
+
],
|
|
470
|
+
"parameters": [
|
|
471
|
+
{
|
|
472
|
+
"name": "path",
|
|
473
|
+
"doc": "The path to the resource.",
|
|
474
|
+
"types": ["string"],
|
|
475
|
+
"is_optional": "False"
|
|
476
|
+
},
|
|
477
|
+
{
|
|
478
|
+
"name": "table",
|
|
479
|
+
"doc": "A table containing info about how to create the atlas. Supported entries:\n<ul>\n<li>\n<dl>\n<dt><code>texture</code></dt>\n<dd><span class=\"type\">string | hash</span> the path to the texture resource, e.g \"/main/my_texture.texturec\"</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>animations</code></dt>\n<dd><span class=\"type\">table</span> a list of the animations in the atlas. Supports the following fields:</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>id</code></dt>\n<dd><span class=\"type\">string</span> the id of the animation, used in e.g sprite.play_animation</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> the width of the animation</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> the height of the animation</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>frame_start</code></dt>\n<dd><span class=\"type\">number</span> index to the first geometry of the animation. Indices are lua based and must be in the range of 1 .. <number-of-geometries> in atlas.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>frame_end</code></dt>\n<dd><span class=\"type\">number</span> index to the last geometry of the animation (non-inclusive). Indices are lua based and must be in the range of 1 .. <number-of-geometries> in atlas.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>playback</code></dt>\n<dd><span class=\"type\">constant</span> optional playback mode of the animation, the default value is <a href=\"/ref/go#go.PLAYBACK_ONCE_FORWARD\">go.PLAYBACK_ONCE_FORWARD</a></dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>fps</code></dt>\n<dd><span class=\"type\">number</span> optional fps of the animation, the default value is 30</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>flip_vertical</code></dt>\n<dd><span class=\"type\">boolean</span> optional flip the animation vertically, the default value is false</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>flip_horizontal</code></dt>\n<dd><span class=\"type\">boolean</span> optional flip the animation horizontally, the default value is false</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>geometries</code></dt>\n<dd><span class=\"type\">table</span> A list of the geometries that should map to the texture data. Supports the following fields:</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>id</code></dt>\n<dd><span class=\"type\">string</span> The name of the geometry. Used when matching animations between multiple atlases</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> The width of the image the sprite geometry represents</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> The height of the image the sprite geometry represents</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>pivot_x</code></dt>\n<dd><span class=\"type\">number</span> The pivot x value of the image in unit coords. (0,0) is upper left corner, (1,1) is bottom right. Default is 0.5.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>pivot_y</code></dt>\n<dd><span class=\"type\">number</span> The pivot y value of the image in unit coords. (0,0) is upper left corner, (1,1) is bottom right. Default is 0.5.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>rotated</code></dt>\n<dd><span class=\"type\">boolean</span> Whether the image is rotated 90 degrees counter-clockwise in the atlas. This affects UV coordinate generation for proper rendering. Default is false.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>vertices</code></dt>\n<dd><span class=\"type\">table</span> a list of the vertices in image space of the geometry in the form {px0, py0, px1, py1, ..., pxn, pyn}</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>uvs</code></dt>\n<dd><span class=\"type\">table</span> a list of the uv coordinates in image space of the geometry in the form of {u0, v0, u1, v1, ..., un, vn}.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>indices</code></dt>\n<dd><span class=\"type\">table</span> a list of the indices of the geometry in the form {i0, i1, i2, ..., in}. Each tripe in the list represents a triangle.</dd>\n</dl>\n</li>\n</ul>",
|
|
480
|
+
"types": ["table"],
|
|
481
|
+
"is_optional": "False"
|
|
482
|
+
}
|
|
483
|
+
],
|
|
484
|
+
"examples": "Create a backing texture and an atlas\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"c1\">-- create an empty texture</span>\n <span class=\"kd\">local</span> <span class=\"n\">tparams</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_TYPE_2D</span><span class=\"p\">,</span>\n <span class=\"n\">format</span> <span class=\"o\">=</span> <span class=\"n\">graphics</span><span class=\"p\">.</span><span class=\"n\">TEXTURE_FORMAT_RGBA</span><span class=\"p\">,</span>\n <span class=\"p\">}</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_texture_id</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_texture</span><span class=\"p\">(</span><span class=\"s2\">"/my_texture.texturec"</span><span class=\"p\">,</span> <span class=\"n\">tparams</span><span class=\"p\">)</span>\n\n <span class=\"c1\">-- optionally use resource.set_texture to upload data to texture</span>\n\n <span class=\"c1\">-- create an atlas with one animation and one square geometry</span>\n <span class=\"c1\">-- note that the function doesn't support hashes for the texture,</span>\n <span class=\"c1\">-- you need to use a string for the texture path here aswell</span>\n <span class=\"kd\">local</span> <span class=\"n\">aparams</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">texture</span> <span class=\"o\">=</span> <span class=\"s2\">"/my_texture.texturec"</span><span class=\"p\">,</span>\n <span class=\"n\">animations</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"p\">{</span>\n <span class=\"n\">id</span> <span class=\"o\">=</span> <span class=\"s2\">"my_animation"</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">frames</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"mi\">1</span> <span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"p\">},</span>\n <span class=\"n\">geometries</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"p\">{</span>\n <span class=\"n\">id</span> <span class=\"o\">=</span> <span class=\"s1\">'idle0'</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">pivot_x</span> <span class=\"o\">=</span> <span class=\"mf\">0.5</span><span class=\"p\">,</span>\n <span class=\"n\">pivot_y</span> <span class=\"o\">=</span> <span class=\"mf\">0.5</span><span class=\"p\">,</span>\n <span class=\"n\">vertices</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"mi\">128</span><span class=\"p\">,</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"mi\">128</span><span class=\"p\">,</span> <span class=\"mi\">0</span>\n <span class=\"p\">},</span>\n <span class=\"n\">uvs</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"mi\">128</span><span class=\"p\">,</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"mi\">128</span><span class=\"p\">,</span> <span class=\"mi\">0</span>\n <span class=\"p\">},</span>\n <span class=\"n\">indices</span> <span class=\"o\">=</span> <span class=\"p\">{</span><span class=\"mi\">0</span><span class=\"p\">,</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">2</span><span class=\"p\">,</span><span class=\"mi\">0</span><span class=\"p\">,</span><span class=\"mi\">2</span><span class=\"p\">,</span><span class=\"mi\">3</span><span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_atlas_id</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_atlas</span><span class=\"p\">(</span><span class=\"s2\">"/my_atlas.texturesetc"</span><span class=\"p\">,</span> <span class=\"n\">aparams</span><span class=\"p\">)</span>\n\n <span class=\"c1\">-- assign the atlas to the 'sprite' component on the same go</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#sprite"</span><span class=\"p\">,</span> <span class=\"s2\">"image"</span><span class=\"p\">,</span> <span class=\"n\">my_atlas_id</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
485
|
+
"replaces": "",
|
|
486
|
+
"error": "",
|
|
487
|
+
"tparams": [],
|
|
488
|
+
"members": [],
|
|
489
|
+
"notes": [
|
|
490
|
+
"The index values are zero based where zero refers to the first entry of the vertex and uv lists"
|
|
491
|
+
],
|
|
492
|
+
"language": ""
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
"type": "FUNCTION",
|
|
496
|
+
"name": "resource.set_atlas",
|
|
497
|
+
"brief": "set atlas data",
|
|
498
|
+
"description": "Sets the data for a specific atlas resource. Setting new atlas data is specified by passing in\na texture path for the backing texture of the atlas, a list of geometries and a list of animations\nthat map to the entries in the geometry list. The geometry entries are represented by three lists:\nvertices, uvs and indices that together represent triangles that are used in other parts of the\nengine to produce render objects from.\nVertex and uv coordinates for the geometries are expected to be\nin pixel coordinates where 0,0 is the top left corner of the texture.\nThere is no automatic padding or margin support when setting custom data,\nwhich could potentially cause filtering artifacts if used with a material sampler that has linear filtering.\nIf that is an issue, you need to calculate padding and margins manually before passing in the geometry data to\nthis function.",
|
|
499
|
+
"returnvalues": [],
|
|
500
|
+
"parameters": [
|
|
501
|
+
{
|
|
502
|
+
"name": "path",
|
|
503
|
+
"doc": "The path to the atlas resource",
|
|
504
|
+
"types": ["hash", "string"],
|
|
505
|
+
"is_optional": "False"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"name": "table",
|
|
509
|
+
"doc": "A table containing info about the atlas. Supported entries:\n<ul>\n<li>\n<dl>\n<dt><code>texture</code></dt>\n<dd><span class=\"type\">string | hash</span> the path to the texture resource, e.g \"/main/my_texture.texturec\"</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>animations</code></dt>\n<dd><span class=\"type\">table</span> a list of the animations in the atlas. Supports the following fields:</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>id</code></dt>\n<dd><span class=\"type\">string</span> the id of the animation, used in e.g sprite.play_animation</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> the width of the animation</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>height</code></dt>\n<dd><span class=\"type\">number</span> the height of the animation</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>frame_start</code></dt>\n<dd><span class=\"type\">number</span> index to the first geometry of the animation. Indices are lua based and must be in the range of 1 .. <number-of-geometries> in atlas.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>frame_end</code></dt>\n<dd><span class=\"type\">number</span> index to the last geometry of the animation (non-inclusive). Indices are lua based and must be in the range of 1 .. <number-of-geometries> in atlas.</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>playback</code></dt>\n<dd><span class=\"type\">constant</span> optional playback mode of the animation, the default value is <a href=\"/ref/go#go.PLAYBACK_ONCE_FORWARD\">go.PLAYBACK_ONCE_FORWARD</a></dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>fps</code></dt>\n<dd><span class=\"type\">number</span> optional fps of the animation, the default value is 30</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>flip_vertical</code></dt>\n<dd><span class=\"type\">boolean</span> optional flip the animation vertically, the default value is false</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>flip_horizontal</code></dt>\n<dd><span class=\"type\">boolean</span> optional flip the animation horizontally, the default value is false</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>geometries</code></dt>\n<dd><span class=\"type\">table</span> A list of the geometries that should map to the texture data. Supports the following fields:</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>vertices</code></dt>\n<dd><span class=\"type\">table</span> a list of the vertices in texture space of the geometry in the form {px0, py0, px1, py1, ..., pxn, pyn}</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>uvs</code></dt>\n<dd><span class=\"type\">table</span> a list of the uv coordinates in texture space of the geometry in the form of {u0, v0, u1, v1, ..., un, vn}</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>indices</code></dt>\n<dd><span class=\"type\">table</span> a list of the indices of the geometry in the form {i0, i1, i2, ..., in}. Each tripe in the list represents a triangle.</dd>\n</dl>\n</li>\n</ul>",
|
|
510
|
+
"types": ["table"],
|
|
511
|
+
"is_optional": "False"
|
|
512
|
+
}
|
|
513
|
+
],
|
|
514
|
+
"examples": "Add a new animation to an existing atlas\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">data</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_atlas</span><span class=\"p\">(</span><span class=\"s2\">"/main/my_atlas.a.texturesetc"</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">my_animation</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">id</span> <span class=\"o\">=</span> <span class=\"s2\">"my_new_animation"</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">128</span><span class=\"p\">,</span>\n <span class=\"n\">frame_start</span> <span class=\"o\">=</span> <span class=\"mi\">1</span><span class=\"p\">,</span>\n <span class=\"n\">frame_end</span> <span class=\"o\">=</span> <span class=\"mi\">6</span><span class=\"p\">,</span>\n <span class=\"n\">playback</span> <span class=\"o\">=</span> <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">PLAYBACK_LOOP_PINGPONG</span><span class=\"p\">,</span>\n <span class=\"n\">fps</span> <span class=\"o\">=</span> <span class=\"mi\">8</span>\n <span class=\"p\">}</span>\n <span class=\"nb\">table.insert</span><span class=\"p\">(</span><span class=\"n\">data</span><span class=\"p\">.</span><span class=\"n\">animations</span><span class=\"p\">,</span> <span class=\"n\">my_animation</span><span class=\"p\">)</span>\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_atlas</span><span class=\"p\">(</span><span class=\"s2\">"/main/my_atlas.a.texturesetc"</span><span class=\"p\">,</span> <span class=\"n\">data</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">Sets</span> <span class=\"n\">atlas</span> <span class=\"n\">data</span> <span class=\"kr\">for</span> <span class=\"n\">a</span> <span class=\"mi\">256</span><span class=\"n\">x256</span> <span class=\"n\">texture</span> <span class=\"n\">with</span> <span class=\"n\">a</span> <span class=\"n\">single</span> <span class=\"n\">animation</span> <span class=\"n\">being</span> <span class=\"n\">rendered</span> <span class=\"n\">as</span> <span class=\"n\">a</span> <span class=\"n\">quad</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">params</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"n\">texture</span> <span class=\"o\">=</span> <span class=\"s2\">"/main/my_256x256_texture.texturec"</span><span class=\"p\">,</span>\n <span class=\"n\">animations</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"p\">{</span>\n <span class=\"n\">id</span> <span class=\"o\">=</span> <span class=\"s2\">"my_animation"</span><span class=\"p\">,</span>\n <span class=\"n\">width</span> <span class=\"o\">=</span> <span class=\"mi\">256</span><span class=\"p\">,</span>\n <span class=\"n\">height</span> <span class=\"o\">=</span> <span class=\"mi\">256</span><span class=\"p\">,</span>\n <span class=\"n\">frames</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"mi\">1</span> <span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"p\">},</span>\n <span class=\"n\">geometries</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"p\">{</span>\n <span class=\"n\">vertices</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">256</span><span class=\"p\">,</span>\n <span class=\"mi\">256</span><span class=\"p\">,</span> <span class=\"mi\">256</span><span class=\"p\">,</span>\n <span class=\"mi\">256</span><span class=\"p\">,</span> <span class=\"mi\">0</span>\n <span class=\"p\">},</span>\n <span class=\"n\">uvs</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"mi\">0</span><span class=\"p\">,</span> <span class=\"mi\">256</span><span class=\"p\">,</span>\n <span class=\"mi\">256</span><span class=\"p\">,</span> <span class=\"mi\">256</span><span class=\"p\">,</span>\n <span class=\"mi\">256</span><span class=\"p\">,</span> <span class=\"mi\">0</span>\n <span class=\"p\">},</span>\n <span class=\"n\">indices</span> <span class=\"o\">=</span> <span class=\"p\">{</span> <span class=\"mi\">0</span><span class=\"p\">,</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"mi\">2</span><span class=\"p\">,</span><span class=\"mi\">0</span><span class=\"p\">,</span><span class=\"mi\">2</span><span class=\"p\">,</span><span class=\"mi\">3</span> <span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"p\">}</span>\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_atlas</span><span class=\"p\">(</span><span class=\"s2\">"/main/test.a.texturesetc"</span><span class=\"p\">,</span> <span class=\"n\">params</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
515
|
+
"replaces": "",
|
|
516
|
+
"error": "",
|
|
517
|
+
"tparams": [],
|
|
518
|
+
"members": [],
|
|
519
|
+
"notes": [
|
|
520
|
+
"Custom atlas data is not compatible with slice-9 for sprites",
|
|
521
|
+
"The index values are zero based where zero refers to the first entry of the vertex and uv lists"
|
|
522
|
+
],
|
|
523
|
+
"language": ""
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"type": "FUNCTION",
|
|
527
|
+
"name": "resource.get_atlas",
|
|
528
|
+
"brief": "Get atlas data",
|
|
529
|
+
"description": "Returns the atlas data for an atlas",
|
|
530
|
+
"returnvalues": [
|
|
531
|
+
{
|
|
532
|
+
"name": "data",
|
|
533
|
+
"doc": "A table with the following entries:\n<ul>\n<li>texture</li>\n<li>geometries</li>\n<li>animations</li>\n</ul>\nEach animation entry also contains a <code>frames</code> table with indices into\n<code>geometries</code>, preserving the frame-to-geometry mapping used by the atlas.\nSee <a href=\"/ref/resource#resource.set_atlas\">resource.set_atlas</a> for a detailed description of each field",
|
|
534
|
+
"types": ["table"]
|
|
535
|
+
}
|
|
536
|
+
],
|
|
537
|
+
"parameters": [
|
|
538
|
+
{
|
|
539
|
+
"name": "path",
|
|
540
|
+
"doc": "The path to the atlas resource",
|
|
541
|
+
"types": ["hash", "string"],
|
|
542
|
+
"is_optional": "False"
|
|
543
|
+
}
|
|
544
|
+
],
|
|
545
|
+
"examples": "",
|
|
546
|
+
"replaces": "",
|
|
547
|
+
"error": "",
|
|
548
|
+
"tparams": [],
|
|
549
|
+
"members": [],
|
|
550
|
+
"notes": [],
|
|
551
|
+
"language": ""
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
"type": "FUNCTION",
|
|
555
|
+
"name": "resource.set_sound",
|
|
556
|
+
"brief": "Update internal sound resource",
|
|
557
|
+
"description": "Update internal sound resource (wavc/oggc/opusc) with new data",
|
|
558
|
+
"returnvalues": [],
|
|
559
|
+
"parameters": [
|
|
560
|
+
{
|
|
561
|
+
"name": "path",
|
|
562
|
+
"doc": "The path to the resource",
|
|
563
|
+
"types": ["hash", "string"],
|
|
564
|
+
"is_optional": "False"
|
|
565
|
+
},
|
|
566
|
+
{
|
|
567
|
+
"name": "buffer",
|
|
568
|
+
"doc": "A lua string containing the binary sound data",
|
|
569
|
+
"types": ["string"],
|
|
570
|
+
"is_optional": "False"
|
|
571
|
+
}
|
|
572
|
+
],
|
|
573
|
+
"examples": "",
|
|
574
|
+
"replaces": "",
|
|
575
|
+
"error": "",
|
|
576
|
+
"tparams": [],
|
|
577
|
+
"members": [],
|
|
578
|
+
"notes": [],
|
|
579
|
+
"language": ""
|
|
580
|
+
},
|
|
581
|
+
{
|
|
582
|
+
"type": "FUNCTION",
|
|
583
|
+
"name": "resource.create_sound_data",
|
|
584
|
+
"brief": "Creates a sound data resource (.oggc/.opusc/.wavc)",
|
|
585
|
+
"description": "Creates a sound data resource\nSupported formats are .oggc, .opusc and .wavc",
|
|
586
|
+
"returnvalues": [
|
|
587
|
+
{
|
|
588
|
+
"name": "path_hash",
|
|
589
|
+
"doc": "the resulting path hash to the resource",
|
|
590
|
+
"types": ["hash"]
|
|
591
|
+
}
|
|
592
|
+
],
|
|
593
|
+
"parameters": [
|
|
594
|
+
{
|
|
595
|
+
"name": "path",
|
|
596
|
+
"doc": "the path to the resource. Must not already exist.",
|
|
597
|
+
"types": ["string"],
|
|
598
|
+
"is_optional": "False"
|
|
599
|
+
},
|
|
600
|
+
{
|
|
601
|
+
"name": "options",
|
|
602
|
+
"doc": "A table containing parameters for the text. Supported entries:\n<dl>\n<dt><code>data</code></dt>\n<dd><span class=\"type\">string</span> The raw data of the file. May be partial, but must include the header of the file</dd>\n<dt><code>filesize</code></dt>\n<dd><span class=\"type\">number</span> If the file is partial, it must also specify the full size of the complete file.</dd>\n<dt><code>partial</code></dt>\n<dd><span class=\"type\">boolean</span> Is the data not representing the full file, but just the initial chunk?</dd>\n</dl>",
|
|
603
|
+
"types": ["table"],
|
|
604
|
+
"is_optional": "True"
|
|
605
|
+
}
|
|
606
|
+
],
|
|
607
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"c1\">-- create a new sound resource, given the initial chunk of the file</span>\n <span class=\"kd\">local</span> <span class=\"n\">relative_path</span> <span class=\"o\">=</span> <span class=\"s2\">"/a/unique/resource/name.oggc"</span>\n <span class=\"kd\">local</span> <span class=\"n\">hash</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_sound_data</span><span class=\"p\">(</span><span class=\"n\">relative_path</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"n\">data</span> <span class=\"o\">=</span> <span class=\"n\">data</span><span class=\"p\">,</span> <span class=\"n\">filesize</span> <span class=\"o\">=</span> <span class=\"n\">filesize</span><span class=\"p\">,</span> <span class=\"n\">partial</span> <span class=\"o\">=</span> <span class=\"kc\">true</span> <span class=\"p\">})</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"#music"</span><span class=\"p\">,</span> <span class=\"s2\">"sound"</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">)</span> <span class=\"c1\">-- override the previous sound resource</span>\n <span class=\"n\">sound</span><span class=\"p\">.</span><span class=\"n\">play</span><span class=\"p\">(</span><span class=\"s2\">"#music"</span><span class=\"p\">)</span> <span class=\"c1\">-- start the playing</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
608
|
+
"replaces": "",
|
|
609
|
+
"error": "",
|
|
610
|
+
"tparams": [],
|
|
611
|
+
"members": [],
|
|
612
|
+
"notes": [],
|
|
613
|
+
"language": ""
|
|
614
|
+
},
|
|
615
|
+
{
|
|
616
|
+
"type": "FUNCTION",
|
|
617
|
+
"name": "resource.create_buffer",
|
|
618
|
+
"brief": "create a buffer resource",
|
|
619
|
+
"description": "This function creates a new buffer resource that can be used in the same way as any buffer created during build time.\nThe function requires a valid buffer created from either <a href=\"/ref/buffer#buffer.create\">buffer.create</a> or another pre-existing buffer resource.\nBy default, the new resource will take ownership of the buffer lua reference, meaning the buffer will not automatically be removed\nwhen the lua reference to the buffer is garbage collected. This behaviour can be overruled by specifying 'transfer_ownership = false'\nin the argument table. If the new buffer resource is created from a buffer object that is created by another resource,\nthe buffer object will be copied and the new resource will effectively own a copy of the buffer instead.\nNote that the path to the new resource must have the '.bufferc' extension, \"/path/my_buffer\" is not a valid path but \"/path/my_buffer.bufferc\" is.\nThe path must also be unique, attempting to create a buffer with the same name as an existing resource will raise an error.",
|
|
620
|
+
"returnvalues": [
|
|
621
|
+
{
|
|
622
|
+
"name": "path",
|
|
623
|
+
"doc": "Returns the buffer resource path",
|
|
624
|
+
"types": ["hash"]
|
|
625
|
+
}
|
|
626
|
+
],
|
|
627
|
+
"parameters": [
|
|
628
|
+
{
|
|
629
|
+
"name": "path",
|
|
630
|
+
"doc": "The path to the resource.",
|
|
631
|
+
"types": ["string"],
|
|
632
|
+
"is_optional": "False"
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
"name": "table",
|
|
636
|
+
"doc": "A table containing info about how to create the buffer. Supported entries:\n<ul>\n<li>\n<dl>\n<dt><code>buffer</code></dt>\n<dd><span class=\"type\">buffer</span> the buffer to bind to this resource</dd>\n</dl>\n</li>\n<li>\n<dl>\n<dt><code>transfer_ownership</code></dt>\n<dd><span class=\"type\">boolean</span> optional flag to determine wether or not the resource should take over ownership of the buffer object (default true)</dd>\n</dl>\n</li>\n</ul>",
|
|
637
|
+
"types": ["table"],
|
|
638
|
+
"is_optional": "True"
|
|
639
|
+
}
|
|
640
|
+
],
|
|
641
|
+
"examples": "Create a buffer object and bind it to a buffer resource\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">size</span> <span class=\"o\">=</span> <span class=\"mi\">1</span>\n <span class=\"kd\">local</span> <span class=\"n\">positions</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"c1\">-- triangle 1</span>\n <span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"o\">-</span><span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"c1\">-- triangle 2</span>\n <span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"o\">-</span><span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"o\">-</span><span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"n\">size</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"p\">}</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">buffer_handle</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"o\">#</span><span class=\"n\">positions</span><span class=\"p\">,</span> <span class=\"p\">{</span>\n <span class=\"p\">{</span>\n <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"position"</span><span class=\"p\">),</span>\n <span class=\"nb\">type</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_FLOAT32</span><span class=\"p\">,</span>\n <span class=\"n\">count</span> <span class=\"o\">=</span> <span class=\"mi\">3</span>\n <span class=\"p\">}</span>\n <span class=\"p\">})</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">stream</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">buffer_handle</span><span class=\"p\">,</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"position"</span><span class=\"p\">))</span>\n\n <span class=\"c1\">-- transfer vertex data to buffer</span>\n <span class=\"kr\">for</span> <span class=\"n\">k</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"o\">#</span><span class=\"n\">positions</span> <span class=\"kr\">do</span>\n <span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">k</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">positions</span><span class=\"p\">[</span><span class=\"n\">k</span><span class=\"p\">]</span>\n <span class=\"kr\">end</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">my_buffer</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">create_buffer</span><span class=\"p\">(</span><span class=\"s2\">"/my_buffer.bufferc"</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"n\">buffer</span> <span class=\"o\">=</span> <span class=\"n\">buffer_handle</span> <span class=\"p\">})</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"/go#mesh"</span><span class=\"p\">,</span> <span class=\"s2\">"vertices"</span><span class=\"p\">,</span> <span class=\"n\">my_buffer</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n<span class=\"err\">```</span><span class=\"n\">Create</span> <span class=\"n\">a</span> <span class=\"n\">buffer</span> <span class=\"n\">resource</span> <span class=\"n\">from</span> <span class=\"n\">existing</span> <span class=\"n\">resource</span>\n\n<span class=\"err\">```</span><span class=\"n\">lua</span>\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">res</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_buffer</span><span class=\"p\">(</span><span class=\"s2\">"/my_buffer_path.bufferc"</span><span class=\"p\">)</span>\n <span class=\"c1\">-- create a cloned buffer resource from another resource buffer</span>\n <span class=\"kd\">local</span> <span class=\"n\">buf</span> <span class=\"o\">=</span> <span class=\"n\">reource</span><span class=\"p\">.</span><span class=\"n\">create_buffer</span><span class=\"p\">(</span><span class=\"s2\">"/my_cloned_buffer.bufferc"</span><span class=\"p\">,</span> <span class=\"p\">{</span> <span class=\"n\">buffer</span> <span class=\"o\">=</span> <span class=\"n\">res</span> <span class=\"p\">})</span>\n <span class=\"c1\">-- assign cloned buffer to a mesh component</span>\n <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">set</span><span class=\"p\">(</span><span class=\"s2\">"/go#mesh"</span><span class=\"p\">,</span> <span class=\"s2\">"vertices"</span><span class=\"p\">,</span> <span class=\"n\">buf</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
642
|
+
"replaces": "",
|
|
643
|
+
"error": "",
|
|
644
|
+
"tparams": [],
|
|
645
|
+
"members": [],
|
|
646
|
+
"notes": [],
|
|
647
|
+
"language": ""
|
|
648
|
+
},
|
|
649
|
+
{
|
|
650
|
+
"type": "FUNCTION",
|
|
651
|
+
"name": "resource.get_buffer",
|
|
652
|
+
"brief": "get resource buffer",
|
|
653
|
+
"description": "gets the buffer from a resource",
|
|
654
|
+
"returnvalues": [
|
|
655
|
+
{
|
|
656
|
+
"name": "buffer",
|
|
657
|
+
"doc": "The resource buffer",
|
|
658
|
+
"types": ["buffer"]
|
|
659
|
+
}
|
|
660
|
+
],
|
|
661
|
+
"parameters": [
|
|
662
|
+
{
|
|
663
|
+
"name": "path",
|
|
664
|
+
"doc": "The path to the resource",
|
|
665
|
+
"types": ["hash", "string"],
|
|
666
|
+
"is_optional": "False"
|
|
667
|
+
}
|
|
668
|
+
],
|
|
669
|
+
"examples": "How to get the data from a buffer\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">res_path</span> <span class=\"o\">=</span> <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">"#mesh"</span><span class=\"p\">,</span> <span class=\"s2\">"vertices"</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">buf</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_buffer</span><span class=\"p\">(</span><span class=\"n\">res_path</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">stream_positions</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">buf</span><span class=\"p\">,</span> <span class=\"s2\">"position"</span><span class=\"p\">)</span>\n\n <span class=\"kr\">for</span> <span class=\"n\">i</span><span class=\"o\">=</span><span class=\"mi\">1</span><span class=\"p\">,</span><span class=\"o\">#</span><span class=\"n\">stream_positions</span> <span class=\"kr\">do</span>\n <span class=\"nb\">print</span><span class=\"p\">(</span><span class=\"n\">i</span><span class=\"p\">,</span> <span class=\"n\">stream_positions</span><span class=\"p\">[</span><span class=\"n\">i</span><span class=\"p\">])</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
670
|
+
"replaces": "",
|
|
671
|
+
"error": "",
|
|
672
|
+
"tparams": [],
|
|
673
|
+
"members": [],
|
|
674
|
+
"notes": [],
|
|
675
|
+
"language": ""
|
|
676
|
+
},
|
|
677
|
+
{
|
|
678
|
+
"type": "FUNCTION",
|
|
679
|
+
"name": "resource.set_buffer",
|
|
680
|
+
"brief": "set resource buffer",
|
|
681
|
+
"description": "Sets the buffer of a resource. By default, setting the resource buffer will either copy the data from the incoming buffer object\nto the buffer stored in the destination resource, or make a new buffer object if the sizes between the source buffer and the destination buffer\nstored in the resource differs. In some cases, e.g performance reasons, it might be beneficial to just set the buffer object on the resource without copying or cloning.\nTo achieve this, set the <code>transfer_ownership</code> flag to true in the argument table. Transferring ownership from a lua buffer to a resource with this function\nworks exactly the same as <a href=\"/ref/resource#resource.create_buffer\">resource.create_buffer</a>: the destination resource will take ownership of the buffer held by the lua reference, i.e the buffer will not automatically be removed\nwhen the lua reference to the buffer is garbage collected.\nNote: When setting a buffer with <code>transfer_ownership = true</code>, the currently bound buffer in the resource will be destroyed.",
|
|
682
|
+
"returnvalues": [],
|
|
683
|
+
"parameters": [
|
|
684
|
+
{
|
|
685
|
+
"name": "path",
|
|
686
|
+
"doc": "The path to the resource",
|
|
687
|
+
"types": ["hash", "string"],
|
|
688
|
+
"is_optional": "False"
|
|
689
|
+
},
|
|
690
|
+
{
|
|
691
|
+
"name": "buffer",
|
|
692
|
+
"doc": "The resource buffer",
|
|
693
|
+
"types": ["buffer"],
|
|
694
|
+
"is_optional": "False"
|
|
695
|
+
},
|
|
696
|
+
{
|
|
697
|
+
"name": "table",
|
|
698
|
+
"doc": "A table containing info about how to set the buffer. Supported entries:\n<ul>\n<li>\n<dl>\n<dt><code>transfer_ownership</code></dt>\n<dd><span class=\"type\">boolean</span> optional flag to determine wether or not the resource should take over ownership of the buffer object (default false)</dd>\n</dl>\n</li>\n</ul>",
|
|
699
|
+
"types": ["table"],
|
|
700
|
+
"is_optional": "True"
|
|
701
|
+
}
|
|
702
|
+
],
|
|
703
|
+
"examples": "How to set the data from a buffer\n<div class=\"codehilite\"><pre><span></span><code><span class=\"kd\">local</span> <span class=\"kr\">function</span> <span class=\"nf\">fill_stream</span><span class=\"p\">(</span><span class=\"n\">stream</span><span class=\"p\">,</span> <span class=\"n\">verts</span><span class=\"p\">)</span>\n <span class=\"kr\">for</span> <span class=\"n\">key</span><span class=\"p\">,</span> <span class=\"n\">value</span> <span class=\"kr\">in</span> <span class=\"nb\">ipairs</span><span class=\"p\">(</span><span class=\"n\">verts</span><span class=\"p\">)</span> <span class=\"kr\">do</span>\n <span class=\"n\">stream</span><span class=\"p\">[</span><span class=\"n\">key</span><span class=\"p\">]</span> <span class=\"o\">=</span> <span class=\"n\">verts</span><span class=\"p\">[</span><span class=\"n\">key</span><span class=\"p\">]</span>\n <span class=\"kr\">end</span>\n<span class=\"kr\">end</span>\n\n<span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">res_path</span> <span class=\"o\">=</span> <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">"#mesh"</span><span class=\"p\">,</span> <span class=\"s2\">"vertices"</span><span class=\"p\">)</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">positions</span> <span class=\"o\">=</span> <span class=\"p\">{</span>\n <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span><span class=\"p\">,</span>\n <span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"o\">-</span><span class=\"mi\">1</span><span class=\"p\">,</span> <span class=\"mi\">0</span>\n <span class=\"p\">}</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">num_verts</span> <span class=\"o\">=</span> <span class=\"o\">#</span><span class=\"n\">positions</span> <span class=\"o\">/</span> <span class=\"mi\">3</span>\n\n <span class=\"c1\">-- create a new buffer</span>\n <span class=\"kd\">local</span> <span class=\"n\">buf</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">create</span><span class=\"p\">(</span><span class=\"n\">num_verts</span><span class=\"p\">,</span> <span class=\"p\">{</span>\n <span class=\"p\">{</span> <span class=\"n\">name</span> <span class=\"o\">=</span> <span class=\"n\">hash</span><span class=\"p\">(</span><span class=\"s2\">"position"</span><span class=\"p\">),</span> <span class=\"nb\">type</span><span class=\"o\">=</span><span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">VALUE_TYPE_FLOAT32</span><span class=\"p\">,</span> <span class=\"n\">count</span> <span class=\"o\">=</span> <span class=\"mi\">3</span> <span class=\"p\">}</span>\n <span class=\"p\">})</span>\n\n <span class=\"kd\">local</span> <span class=\"n\">buf</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_buffer</span><span class=\"p\">(</span><span class=\"n\">res_path</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">stream_positions</span> <span class=\"o\">=</span> <span class=\"n\">buffer</span><span class=\"p\">.</span><span class=\"n\">get_stream</span><span class=\"p\">(</span><span class=\"n\">buf</span><span class=\"p\">,</span> <span class=\"s2\">"position"</span><span class=\"p\">)</span>\n\n <span class=\"n\">fill_stream</span><span class=\"p\">(</span><span class=\"n\">stream_positions</span><span class=\"p\">,</span> <span class=\"n\">positions</span><span class=\"p\">)</span>\n\n <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">set_buffer</span><span class=\"p\">(</span><span class=\"n\">res_path</span><span class=\"p\">,</span> <span class=\"n\">buf</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
704
|
+
"replaces": "",
|
|
705
|
+
"error": "",
|
|
706
|
+
"tparams": [],
|
|
707
|
+
"members": [],
|
|
708
|
+
"notes": [],
|
|
709
|
+
"language": ""
|
|
710
|
+
},
|
|
711
|
+
{
|
|
712
|
+
"type": "FUNCTION",
|
|
713
|
+
"name": "resource.get_text_metrics",
|
|
714
|
+
"brief": "gets the text metrics for a font",
|
|
715
|
+
"description": "Gets the text metrics from a font",
|
|
716
|
+
"returnvalues": [
|
|
717
|
+
{
|
|
718
|
+
"name": "metrics",
|
|
719
|
+
"doc": "a table with the following fields:\n<ul>\n<li>width</li>\n<li>height</li>\n<li>max_ascent</li>\n<li>max_descent</li>\n</ul>",
|
|
720
|
+
"types": ["table"]
|
|
721
|
+
}
|
|
722
|
+
],
|
|
723
|
+
"parameters": [
|
|
724
|
+
{
|
|
725
|
+
"name": "url",
|
|
726
|
+
"doc": "the font to get the (unscaled) metrics from",
|
|
727
|
+
"types": ["hash"],
|
|
728
|
+
"is_optional": "False"
|
|
729
|
+
},
|
|
730
|
+
{
|
|
731
|
+
"name": "text",
|
|
732
|
+
"doc": "text to measure",
|
|
733
|
+
"types": ["string"],
|
|
734
|
+
"is_optional": "False"
|
|
735
|
+
},
|
|
736
|
+
{
|
|
737
|
+
"name": "options",
|
|
738
|
+
"doc": "A table containing parameters for the text. Supported entries:\n<dl>\n<dt><code>width</code></dt>\n<dd><span class=\"type\">number</span> The width of the text field. Not used if <code>line_break</code> is false.</dd>\n<dt><code>leading</code></dt>\n<dd><span class=\"type\">number</span> The leading (default 1.0)</dd>\n<dt><code>tracking</code></dt>\n<dd><span class=\"type\">number</span> The tracking (default 0.0)</dd>\n<dt><code>line_break</code></dt>\n<dd><span class=\"type\">boolean</span> If the calculation should consider line breaks (default false)</dd>\n</dl>",
|
|
739
|
+
"types": ["table"],
|
|
740
|
+
"is_optional": "True"
|
|
741
|
+
}
|
|
742
|
+
],
|
|
743
|
+
"examples": "<div class=\"codehilite\"><pre><span></span><code><span class=\"kr\">function</span> <span class=\"nf\">init</span><span class=\"p\">(</span><span class=\"n\">self</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">font</span> <span class=\"o\">=</span> <span class=\"n\">go</span><span class=\"p\">.</span><span class=\"n\">get</span><span class=\"p\">(</span><span class=\"s2\">"#label"</span><span class=\"p\">,</span> <span class=\"s2\">"font"</span><span class=\"p\">)</span>\n <span class=\"kd\">local</span> <span class=\"n\">metrics</span> <span class=\"o\">=</span> <span class=\"n\">resource</span><span class=\"p\">.</span><span class=\"n\">get_text_metrics</span><span class=\"p\">(</span><span class=\"n\">font</span><span class=\"p\">,</span> <span class=\"s2\">"The quick brown fox</span><span class=\"se\">\\n</span><span class=\"s2\"> jumps over the lazy dog"</span><span class=\"p\">)</span>\n <span class=\"n\">pprint</span><span class=\"p\">(</span><span class=\"n\">metrics</span><span class=\"p\">)</span>\n<span class=\"kr\">end</span>\n</code></pre></div>",
|
|
744
|
+
"replaces": "",
|
|
745
|
+
"error": "",
|
|
746
|
+
"tparams": [],
|
|
747
|
+
"members": [],
|
|
748
|
+
"notes": [],
|
|
749
|
+
"language": ""
|
|
750
|
+
}
|
|
751
|
+
],
|
|
752
|
+
"info": {
|
|
753
|
+
"namespace": "resource",
|
|
754
|
+
"name": "Resource",
|
|
755
|
+
"brief": "Resource API documentation",
|
|
756
|
+
"description": "Functions and constants to access resources.",
|
|
757
|
+
"path": "engine/gamesys/src/gamesys/scripts/script_resource.cpp",
|
|
758
|
+
"file": "",
|
|
759
|
+
"notes": [],
|
|
760
|
+
"language": "Lua"
|
|
761
|
+
}
|
|
762
|
+
}
|