fake-bge-module 20250312__py3-none-any.whl → 20260203__py3-none-any.whl
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.
- {animsys_refactor → _animsys_refactor}/__init__.pyi +7 -6
- {bl_console_utils → _bl_console_utils}/__init__.pyi +1 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/__init__.pyi +1 -0
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_calltip/__init__.pyi +1 -13
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_import/__init__.pyi +1 -5
- {bl_console_utils → _bl_console_utils}/autocomplete/complete_namespace/__init__.pyi +3 -13
- {bl_console_utils → _bl_console_utils}/autocomplete/intellisense/__init__.pyi +1 -10
- {bl_i18n_utils → _bl_i18n_utils}/__init__.pyi +2 -0
- _bl_i18n_utils/bl_extract_messages/__init__.pyi +28 -0
- {bl_i18n_utils → _bl_i18n_utils}/merge_po/__init__.pyi +2 -1
- {bl_i18n_utils → _bl_i18n_utils}/settings/__init__.pyi +10 -7
- {bl_i18n_utils → _bl_i18n_utils}/utils/__init__.pyi +53 -50
- _bl_i18n_utils/utils_cli/__init__.pyi +11 -0
- _bl_i18n_utils/utils_languages_menu/__init__.pyi +6 -0
- {bl_i18n_utils → _bl_i18n_utils}/utils_rtl/__init__.pyi +3 -2
- _bl_i18n_utils/utils_spell_check/__init__.pyi +22 -0
- {bl_previews_utils → _bl_previews_utils}/__init__.pyi +1 -0
- _bl_previews_utils/bl_previews_render/__init__.pyi +14 -0
- {bl_rna_utils → _bl_rna_utils}/__init__.pyi +1 -0
- {bl_rna_utils → _bl_rna_utils}/data_path/__init__.pyi +3 -2
- {bl_text_utils → _bl_text_utils}/__init__.pyi +1 -0
- _bl_text_utils/external_editor/__init__.pyi +6 -0
- {bl_ui_utils → _bl_ui_utils}/__init__.pyi +1 -0
- {bl_ui_utils → _bl_ui_utils}/layout/__init__.pyi +2 -1
- _blendfile_header/__init__.pyi +48 -0
- _bpy_internal/__init__.pyi +5 -1
- _bpy_internal/addons/__init__.pyi +1 -0
- _bpy_internal/addons/cli/__init__.pyi +2 -1
- _bpy_internal/assets/__init__.pyi +5 -0
- _bpy_internal/assets/remote_library_listing/__init__.pyi +5 -0
- _bpy_internal/assets/remote_library_listing/blender_asset_library_openapi/__init__.pyi +13 -0
- _bpy_internal/disk_file_hash_service/__init__.pyi +19 -0
- _bpy_internal/disk_file_hash_service/backend_sqlite/__init__.pyi +48 -0
- _bpy_internal/disk_file_hash_service/hash_service/__init__.pyi +64 -0
- _bpy_internal/disk_file_hash_service/types/__init__.pyi +53 -0
- _bpy_internal/extensions/__init__.pyi +1 -0
- _bpy_internal/extensions/junction_module/__init__.pyi +8 -7
- _bpy_internal/extensions/stale_file_manager/__init__.pyi +9 -8
- _bpy_internal/extensions/wheel_manager/__init__.pyi +6 -5
- {bl_i18n_utils/utils_languages_menu → _bpy_internal/filesystem}/__init__.pyi +2 -2
- _bpy_internal/filesystem/locking/__init__.pyi +28 -0
- _bpy_internal/grease_pencil/__init__.pyi +1 -0
- _bpy_internal/grease_pencil/stroke/__init__.pyi +22 -6
- _bpy_internal/platform/__init__.pyi +5 -0
- _bpy_internal/platform/freedesktop/__init__.pyi +21 -0
- _bpy_internal/system_info/__init__.pyi +1 -0
- _bpy_internal/system_info/text_generate_runtime/__init__.pyi +2 -1
- _bpy_internal/system_info/url_prefill_runtime/__init__.pyi +2 -1
- _bpy_internal/system_info/url_prefill_startup/__init__.pyi +3 -2
- {bpy_restrict_state → _bpy_restrict_state}/__init__.pyi +1 -0
- _bpy_types/__init__.pyi +1635 -0
- {console_python → _console_python}/__init__.pyi +8 -7
- _console_shell/__init__.pyi +10 -0
- {graphviz_export → _graphviz_export}/__init__.pyi +3 -2
- _keyingsets_utils/__init__.pyi +21 -0
- {rna_info → _rna_info}/__init__.pyi +32 -27
- {rna_xml → _rna_xml}/__init__.pyi +7 -6
- addon_utils/__init__.pyi +13 -25
- aud/__init__.pyi +133 -155
- bge/__init__.pyi +1 -0
- bge/app/__init__.pyi +1 -0
- bge/constraints/__init__.pyi +22 -51
- bge/types/__init__.pyi +618 -1913
- bge_extras/__init__.pyi +1 -0
- bge_extras/logger/__init__.pyi +4 -3
- bgui/__init__.pyi +1 -0
- bgui/frame/__init__.pyi +1 -0
- bgui/frame_button/__init__.pyi +1 -0
- bgui/image/__init__.pyi +1 -1
- bgui/image_button/__init__.pyi +1 -0
- bgui/label/__init__.pyi +1 -0
- bgui/list_box/__init__.pyi +1 -1
- bgui/progress_bar/__init__.pyi +2 -1
- bgui/system/__init__.pyi +3 -5
- bgui/text_block/__init__.pyi +1 -0
- bgui/text_input/__init__.pyi +9 -8
- bgui/theme/__init__.pyi +4 -3
- bgui/widget/__init__.pyi +5 -4
- bl_app_override/__init__.pyi +4 -3
- bl_app_override/helpers/__init__.pyi +3 -2
- bl_app_template_utils/__init__.pyi +5 -4
- bl_app_templates_system/Game_Engine/__init__.pyi +5 -4
- bl_app_templates_system/Storyboarding/__init__.pyi +11 -0
- bl_app_templates_system/__init__.pyi +2 -0
- bl_keymap_utils/__init__.pyi +1 -0
- bl_keymap_utils/io/__init__.pyi +10 -9
- bl_keymap_utils/keymap_from_toolbar/__init__.pyi +2 -1
- bl_keymap_utils/keymap_hierarchy/__init__.pyi +2 -1
- bl_keymap_utils/platform_helpers/__init__.pyi +3 -2
- bl_keymap_utils/versioning/__init__.pyi +2 -1
- bl_math/__init__.pyi +4 -13
- bl_operators/__init__.pyi +4 -2
- bl_operators/add_mesh_torus/__init__.pyi +9 -9
- bl_operators/anim/__init__.pyi +90 -62
- bl_operators/assets/__init__.pyi +14 -18
- bl_operators/bmesh/__init__.pyi +1 -0
- bl_operators/bmesh/find_adjacent/__init__.pyi +12 -9
- bl_operators/bone_selection_sets/__init__.pyi +34 -60
- bl_operators/clip/__init__.pyi +39 -57
- bl_operators/connect_to_output/__init__.pyi +20 -18
- bl_operators/console/__init__.pyi +17 -25
- bl_operators/constraint/__init__.pyi +15 -21
- bl_operators/copy_global_transform/__init__.pyi +261 -0
- bl_operators/file/__init__.pyi +13 -17
- bl_operators/freestyle/__init__.pyi +15 -21
- bl_operators/geometry_nodes/__init__.pyi +30 -36
- bl_operators/grease_pencil/__init__.pyi +5 -5
- bl_operators/image/__init__.pyi +14 -22
- bl_operators/image_as_planes/__init__.pyi +36 -42
- bl_operators/mesh/__init__.pyi +8 -53
- bl_operators/node/__init__.pyi +375 -92
- bl_operators/node_editor/__init__.pyi +1 -0
- bl_operators/node_editor/node_functions/__init__.pyi +10 -9
- bl_operators/object/__init__.pyi +57 -98
- bl_operators/object_align/__init__.pyi +8 -8
- bl_operators/object_quick_effects/__init__.pyi +15 -21
- bl_operators/object_randomize_transform/__init__.pyi +6 -6
- bl_operators/presets/__init__.pyi +46 -94
- bl_operators/rigidbody/__init__.pyi +12 -16
- bl_operators/screen_play_rendered_anim/__init__.pyi +5 -5
- bl_operators/sequencer/__init__.pyi +40 -54
- bl_operators/spreadsheet/__init__.pyi +7 -7
- bl_operators/userpref/__init__.pyi +69 -117
- bl_operators/uvcalc_follow_active/__init__.pyi +8 -8
- bl_operators/uvcalc_lightmap/__init__.pyi +12 -12
- bl_operators/uvcalc_transform/__init__.pyi +39 -28
- bl_operators/vertexpaint_dirt/__init__.pyi +7 -7
- bl_operators/view3d/__init__.pyi +31 -43
- bl_operators/wm/__init__.pyi +139 -231
- bl_operators/world/__init__.pyi +6 -6
- bl_ui/__init__.pyi +18 -17
- bl_ui/anim/__init__.pyi +5 -5
- bl_ui/asset_shelf/__init__.pyi +5 -5
- bl_ui/generic_ui_list/__init__.pyi +12 -26
- bl_ui/node_add_menu/__init__.pyi +281 -12
- bl_ui/node_add_menu_compositor/__init__.pyi +135 -91
- bl_ui/node_add_menu_geometry/__init__.pyi +407 -263
- bl_ui/node_add_menu_shader/__init__.pyi +67 -67
- bl_ui/node_add_menu_texture/__init__.pyi +25 -69
- bl_ui/properties_animviz/__init__.pyi +3 -2
- bl_ui/properties_collection/__init__.pyi +20 -30
- bl_ui/properties_constraint/__init__.pyi +228 -450
- bl_ui/properties_data_armature/__init__.pyi +45 -79
- bl_ui/properties_data_bone/__init__.pyi +33 -51
- bl_ui/properties_data_camera/__init__.pyi +43 -75
- bl_ui/properties_data_curve/__init__.pyi +42 -101
- bl_ui/properties_data_curves/__init__.pyi +21 -35
- bl_ui/properties_data_empty/__init__.pyi +8 -10
- bl_ui/properties_data_grease_pencil/__init__.pyi +49 -87
- bl_ui/properties_data_lattice/__init__.pyi +12 -18
- bl_ui/properties_data_light/__init__.pyi +28 -46
- bl_ui/properties_data_lightprobe/__init__.pyi +35 -61
- bl_ui/properties_data_mesh/__init__.pyi +73 -120
- bl_ui/properties_data_metaball/__init__.pyi +16 -26
- bl_ui/properties_data_modifier/__init__.pyi +34 -39
- bl_ui/properties_data_pointcloud/__init__.pyi +17 -27
- bl_ui/properties_data_shaderfx/__init__.pyi +4 -4
- bl_ui/properties_data_speaker/__init__.pyi +15 -25
- bl_ui/properties_data_volume/__init__.pyi +22 -38
- bl_ui/properties_freestyle/__init__.pyi +79 -127
- bl_ui/properties_game/__init__.pyi +88 -84
- bl_ui/properties_grease_pencil_common/__init__.pyi +33 -190
- bl_ui/properties_mask_common/__init__.pyi +33 -45
- bl_ui/properties_material/__init__.pyi +52 -111
- bl_ui/properties_material_gpencil/__init__.pyi +48 -68
- bl_ui/properties_object/__init__.pyi +123 -93
- bl_ui/properties_output/__init__.pyi +103 -81
- bl_ui/properties_paint_common/__init__.pyi +78 -59
- bl_ui/properties_particle/__init__.pyi +160 -262
- bl_ui/properties_physics_cloth/__init__.pyi +36 -62
- bl_ui/properties_physics_common/__init__.pyi +11 -11
- bl_ui/properties_physics_dynamicpaint/__init__.pyi +81 -123
- bl_ui/properties_physics_field/__init__.pyi +35 -53
- bl_ui/properties_physics_fluid/__init__.pyi +106 -160
- bl_ui/properties_physics_geometry_nodes/__init__.pyi +6 -6
- bl_ui/properties_physics_rigidbody/__init__.pyi +28 -42
- bl_ui/properties_physics_rigidbody_constraint/__init__.pyi +44 -68
- bl_ui/properties_physics_softbody/__init__.pyi +38 -66
- bl_ui/properties_render/__init__.pyi +267 -259
- bl_ui/properties_scene/__init__.pyi +69 -72
- bl_ui/properties_strip/__init__.pyi +744 -0
- bl_ui/properties_strip_modifier/__init__.pyi +45 -0
- bl_ui/properties_texture/__init__.pyi +69 -122
- bl_ui/properties_view_layer/__init__.pyi +97 -51
- bl_ui/properties_workspace/__init__.pyi +12 -18
- bl_ui/properties_world/__init__.pyi +33 -53
- bl_ui/space_clip/__init__.pyi +231 -311
- bl_ui/space_console/__init__.pyi +14 -24
- bl_ui/space_dopesheet/__init__.pyi +193 -125
- bl_ui/space_filebrowser/__init__.pyi +107 -131
- bl_ui/space_graph/__init__.pyi +93 -80
- bl_ui/space_image/__init__.pyi +207 -291
- bl_ui/space_info/__init__.pyi +14 -24
- bl_ui/space_logic/__init__.pyi +14 -22
- bl_ui/space_nla/__init__.pyi +63 -69
- bl_ui/space_node/__init__.pyi +215 -154
- bl_ui/space_outliner/__init__.pyi +65 -61
- bl_ui/space_properties/__init__.pyi +41 -16
- bl_ui/space_sequencer/__init__.pyi +276 -979
- bl_ui/space_spreadsheet/__init__.pyi +27 -23
- bl_ui/space_statusbar/__init__.pyi +4 -4
- bl_ui/space_text/__init__.pyi +39 -73
- bl_ui/space_time/__init__.pyi +33 -78
- bl_ui/space_toolsystem_common/__init__.pyi +31 -28
- bl_ui/space_toolsystem_toolbar/__init__.pyi +67 -43
- bl_ui/space_topbar/__init__.pyi +68 -111
- bl_ui/space_userpref/__init__.pyi +310 -445
- bl_ui/space_view3d/__init__.pyi +667 -1122
- bl_ui/space_view3d_sidebar/__init__.pyi +127 -0
- bl_ui/space_view3d_toolbar/__init__.pyi +237 -966
- bl_ui/utils/__init__.pyi +4 -3
- blend_render_info/__init__.pyi +4 -2
- blf/__init__.pyi +92 -59
- bmesh/__init__.pyi +4 -10
- bmesh/geometry/__init__.pyi +2 -4
- bmesh/ops/__init__.pyi +442 -815
- bmesh/types/__init__.pyi +377 -720
- bmesh/utils/__init__.pyi +20 -45
- bpy/__init__.pyi +2 -1
- bpy/app/__init__.pyi +96 -90
- bpy/app/handlers/__init__.pyi +24 -19
- bpy/app/icons/__init__.pyi +2 -7
- bpy/app/timers/__init__.pyi +5 -18
- bpy/app/translations/__init__.pyi +21 -35
- bpy/msgbus/__init__.pyi +20 -9
- bpy/ops/__init__.pyi +21 -3
- bpy/ops/action/__init__.pyi +121 -226
- bpy/ops/anim/__init__.pyi +204 -358
- bpy/ops/armature/__init__.pyi +129 -249
- bpy/ops/asset/__init__.pyi +82 -111
- bpy/ops/bge_bricknodes/__init__.pyi +61 -0
- bpy/ops/boid/__init__.pyi +44 -50
- bpy/ops/bricknodes/__init__.pyi +37 -0
- bpy/ops/brush/__init__.pyi +33 -120
- bpy/ops/buttons/__init__.pyi +27 -83
- bpy/ops/cachefile/__init__.pyi +16 -74
- bpy/ops/camera/__init__.pyi +3 -13
- bpy/ops/clip/__init__.pyi +278 -558
- bpy/ops/cloth/__init__.pyi +2 -6
- bpy/ops/collection/__init__.pyi +34 -44
- bpy/ops/console/__init__.pyi +70 -111
- bpy/ops/constraint/__init__.pyi +34 -102
- bpy/ops/curve/__init__.pyi +163 -315
- bpy/ops/curves/__init__.pyi +163 -189
- bpy/ops/cycles/__init__.pyi +8 -18
- bpy/ops/dpaint/__init__.pyi +21 -30
- bpy/ops/ed/__init__.pyi +59 -103
- bpy/ops/export_anim/__init__.pyi +4 -11
- bpy/ops/export_scene/__init__.pyi +29 -174
- bpy/ops/extensions/__init__.pyi +102 -194
- bpy/ops/file/__init__.pyi +166 -272
- bpy/ops/fluid/__init__.pyi +78 -86
- bpy/ops/font/__init__.pyi +73 -164
- bpy/ops/geometry/__init__.pyi +33 -144
- bpy/ops/gizmogroup/__init__.pyi +8 -14
- bpy/ops/gpencil/__init__.pyi +31 -58
- bpy/ops/graph/__init__.pyi +176 -411
- bpy/ops/grease_pencil/__init__.pyi +416 -639
- bpy/ops/image/__init__.pyi +148 -492
- bpy/ops/import_anim/__init__.pyi +5 -18
- bpy/ops/import_curve/__init__.pyi +4 -6
- bpy/ops/import_scene/__init__.pyi +22 -49
- bpy/ops/info/__init__.pyi +27 -43
- bpy/ops/lattice/__init__.pyi +26 -43
- bpy/ops/logic/__init__.pyi +49 -122
- bpy/ops/logic_nodes/__init__.pyi +461 -0
- bpy/ops/marker/__init__.pyi +24 -60
- bpy/ops/mask/__init__.pyi +118 -222
- bpy/ops/material/__init__.pyi +19 -18
- bpy/ops/mball/__init__.pyi +13 -39
- bpy/ops/mesh/__init__.pyi +409 -1264
- bpy/ops/nla/__init__.pyi +140 -232
- bpy/ops/node/__init__.pyi +1189 -807
- bpy/ops/object/__init__.pyi +806 -1659
- bpy/ops/outliner/__init__.pyi +284 -432
- bpy/ops/paint/__init__.pyi +189 -381
- bpy/ops/paintcurve/__init__.pyi +29 -44
- bpy/ops/palette/__init__.pyi +23 -34
- bpy/ops/particle/__init__.pyi +135 -201
- bpy/ops/pointcloud/__init__.pyi +23 -42
- bpy/ops/pose/__init__.pyi +195 -310
- bpy/ops/poselib/__init__.pyi +45 -73
- bpy/ops/preferences/__init__.pyi +89 -221
- bpy/ops/ptcache/__init__.pyi +32 -39
- bpy/ops/render/__init__.pyi +36 -83
- bpy/ops/rigidbody/__init__.pyi +47 -78
- bpy/ops/scene/__init__.pyi +169 -222
- bpy/ops/screen/__init__.pyi +146 -259
- bpy/ops/script/__init__.pyi +9 -15
- bpy/ops/sculpt/__init__.pyi +194 -354
- bpy/ops/sculpt_curves/__init__.pyi +21 -29
- bpy/ops/sequencer/__init__.pyi +586 -836
- bpy/ops/sound/__init__.pyi +25 -131
- bpy/ops/spreadsheet/__init__.pyi +34 -21
- bpy/ops/surface/__init__.pyi +7 -54
- bpy/ops/text/__init__.pyi +166 -281
- bpy/ops/text_editor/__init__.pyi +2 -6
- bpy/ops/texture/__init__.pyi +20 -22
- bpy/ops/transform/__init__.pyi +108 -445
- bpy/ops/ui/__init__.pyi +157 -219
- bpy/ops/uilist/__init__.pyi +4 -16
- bpy/ops/uv/__init__.pyi +291 -347
- bpy/ops/view2d/__init__.pyi +29 -88
- bpy/ops/view3d/__init__.pyi +238 -438
- bpy/ops/wm/__init__.pyi +651 -1510
- bpy/ops/workspace/__init__.pyi +42 -44
- bpy/ops/world/__init__.pyi +12 -13
- bpy/path/__init__.pyi +6 -37
- bpy/props/__init__.pyi +395 -259
- bpy/{_typing → stub_internal}/__init__.pyi +1 -0
- bpy/{_typing → stub_internal}/rna_enums/__init__.pyi +214 -114
- bpy/types/__init__.pyi +93286 -103826
- bpy/utils/__init__.pyi +46 -104
- bpy/utils/previews/__init__.pyi +7 -15
- bpy/utils/units/__init__.pyi +6 -15
- bpy_extras/__init__.pyi +1 -0
- bpy_extras/anim_utils/__init__.pyi +32 -23
- bpy_extras/asset_utils/__init__.pyi +1 -0
- bpy_extras/bmesh_utils/__init__.pyi +2 -2
- bpy_extras/id_map_utils/__init__.pyi +15 -6
- bpy_extras/image_utils/__init__.pyi +3 -11
- bpy_extras/io_utils/__init__.pyi +22 -38
- bpy_extras/keyconfig_utils/__init__.pyi +5 -4
- bpy_extras/mesh_utils/__init__.pyi +3 -14
- bpy_extras/node_shader_utils/__init__.pyi +63 -70
- bpy_extras/node_utils/__init__.pyi +4 -3
- bpy_extras/object_utils/__init__.pyi +6 -19
- bpy_extras/view3d_utils/__init__.pyi +1 -18
- bpy_extras/wm_utils/__init__.pyi +1 -0
- bpy_extras/wm_utils/progress_report/__init__.pyi +12 -11
- {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.dist-info}/METADATA +9 -3
- fake_bge_module-20260203.dist-info/RECORD +414 -0
- {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.dist-info}/WHEEL +1 -1
- {fake_bge_module-20250312.dist-info → fake_bge_module-20260203.dist-info}/top_level.txt +16 -16
- freestyle/__init__.pyi +1 -0
- freestyle/chainingiterators/__init__.pyi +41 -60
- freestyle/functions/__init__.pyi +56 -194
- freestyle/predicates/__init__.pyi +11 -61
- freestyle/shaders/__init__.pyi +95 -156
- freestyle/types/__init__.pyi +306 -941
- freestyle/utils/ContextFunctions/__init__.pyi +4 -24
- freestyle/utils/__init__.pyi +46 -36
- gpu/__init__.pyi +84 -5
- gpu/capabilities/__init__.pyi +1 -21
- gpu/matrix/__init__.pyi +16 -24
- gpu/platform/__init__.pyi +3 -7
- gpu/select/__init__.pyi +2 -1
- gpu/shader/__init__.pyi +43 -9
- gpu/state/__init__.pyi +66 -44
- gpu/texture/__init__.pyi +4 -5
- gpu/types/__init__.pyi +216 -216
- gpu_extras/__init__.pyi +1 -0
- gpu_extras/batch/__init__.pyi +2 -5
- gpu_extras/presets/__init__.pyi +9 -10
- idprop/__init__.pyi +17 -0
- idprop/types/__init__.pyi +18 -17
- imbuf/__init__.pyi +13 -9
- imbuf/types/__init__.pyi +10 -23
- keyingsets_builtins/__init__.pyi +51 -93
- mathutils/__init__.pyi +296 -2255
- mathutils/bvhtree/__init__.pyi +24 -30
- mathutils/geometry/__init__.pyi +83 -132
- mathutils/interpolate/__init__.pyi +7 -5
- mathutils/kdtree/__init__.pyi +5 -14
- mathutils/noise/__init__.pyi +62 -106
- nodeitems_builtins/__init__.pyi +5 -4
- nodeitems_utils/__init__.pyi +10 -9
- rna_keymap_ui/__init__.pyi +7 -6
- rna_prop_ui/__init__.pyi +14 -13
- _bpy_internal/freedesktop/__init__.pyi +0 -20
- bgl/__init__.pyi +0 -4235
- bl_i18n_utils/bl_extract_messages/__init__.pyi +0 -24
- bl_i18n_utils/utils_cli/__init__.pyi +0 -10
- bl_previews_utils/bl_previews_render/__init__.pyi +0 -11
- bl_text_utils/external_editor/__init__.pyi +0 -5
- bpy_types/__init__.pyi +0 -29
- console_shell/__init__.pyi +0 -9
- fake_bge_module-20250312.dist-info/RECORD +0 -395
- keyingsets_utils/__init__.pyi +0 -18
- {animsys_refactor → _animsys_refactor}/py.typed +0 -0
- {bgl → _bl_console_utils}/py.typed +0 -0
- {bl_console_utils → _bl_i18n_utils}/py.typed +0 -0
- {bl_i18n_utils → _bl_previews_utils}/py.typed +0 -0
- {bl_previews_utils → _bl_rna_utils}/py.typed +0 -0
- {bl_rna_utils → _bl_text_utils}/py.typed +0 -0
- {bl_text_utils → _bl_ui_utils}/py.typed +0 -0
- {bl_ui_utils → _blendfile_header}/py.typed +0 -0
- {bpy_restrict_state → _bpy_restrict_state}/py.typed +0 -0
- {bpy_types → _bpy_types}/py.typed +0 -0
- {console_python → _console_python}/py.typed +0 -0
- {console_shell → _console_shell}/py.typed +0 -0
- {graphviz_export → _graphviz_export}/py.typed +0 -0
- {keyingsets_utils → _keyingsets_utils}/py.typed +0 -0
- {rna_info → _rna_info}/py.typed +0 -0
- {rna_xml → _rna_xml}/py.typed +0 -0
gpu/types/__init__.pyi
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import typing
|
|
2
2
|
import collections.abc
|
|
3
3
|
import typing_extensions
|
|
4
|
+
import numpy.typing as npt
|
|
4
5
|
import bpy.types
|
|
5
6
|
import mathutils
|
|
6
7
|
|
|
@@ -13,7 +14,7 @@ class Buffer:
|
|
|
13
14
|
class GPUBatch:
|
|
14
15
|
"""Reusable container for drawable geometry."""
|
|
15
16
|
|
|
16
|
-
def draw(self, shader=None):
|
|
17
|
+
def draw(self, shader: GPUShader | None = None) -> None:
|
|
17
18
|
"""Run the drawing shader with the parameters assigned to the batch.
|
|
18
19
|
|
|
19
20
|
:param shader: Shader that performs the drawing operations.
|
|
@@ -22,48 +23,41 @@ class GPUBatch:
|
|
|
22
23
|
|
|
23
24
|
def draw_instanced(
|
|
24
25
|
self, program: GPUShader, *, instance_start: int = 0, instance_count: int = 0
|
|
25
|
-
):
|
|
26
|
+
) -> None:
|
|
26
27
|
"""Draw multiple instances of the drawing program with the parameters assigned
|
|
27
28
|
to the batch. In the vertex shader, gl_InstanceID will contain the instance
|
|
28
29
|
number being drawn.
|
|
29
30
|
|
|
30
31
|
:param program: Program that performs the drawing operations.
|
|
31
|
-
:type program: GPUShader
|
|
32
32
|
:param instance_start: Number of the first instance to draw.
|
|
33
|
-
:type instance_start: int
|
|
34
33
|
:param instance_count: Number of instances to draw. When not provided or set to 0
|
|
35
34
|
the number of instances will be determined by the number of rows in the first
|
|
36
35
|
vertex buffer.
|
|
37
|
-
:type instance_count: int
|
|
38
36
|
"""
|
|
39
37
|
|
|
40
38
|
def draw_range(
|
|
41
39
|
self, program: GPUShader, *, elem_start: int = 0, elem_count: int = 0
|
|
42
|
-
):
|
|
40
|
+
) -> None:
|
|
43
41
|
"""Run the drawing program with the parameters assigned to the batch. Only draw the elem_count elements of the index buffer starting at elem_start.
|
|
44
42
|
|
|
45
43
|
:param program: Program that performs the drawing operations.
|
|
46
|
-
:type program: GPUShader
|
|
47
44
|
:param elem_start: First index to draw. When not provided or set to 0 drawing
|
|
48
45
|
will start from the first element of the index buffer.
|
|
49
|
-
:type elem_start: int
|
|
50
46
|
:param elem_count: Number of elements of the index buffer to draw. When not
|
|
51
47
|
provided or set to 0 all elements from elem_start to the end of the
|
|
52
48
|
index buffer will be drawn.
|
|
53
|
-
:type elem_count: int
|
|
54
49
|
"""
|
|
55
50
|
|
|
56
|
-
def program_set(self, program: GPUShader):
|
|
51
|
+
def program_set(self, program: GPUShader) -> None:
|
|
57
52
|
"""Assign a shader to this batch that will be used for drawing when not overwritten later.
|
|
58
53
|
Note: This method has to be called in the draw context that the batch will be drawn in.
|
|
59
54
|
This function does not need to be called when you always
|
|
60
55
|
set the shader when calling `gpu.types.GPUBatch.draw`.
|
|
61
56
|
|
|
62
57
|
:param program: The program/shader the batch will use in future draw calls.
|
|
63
|
-
:type program: GPUShader
|
|
64
58
|
"""
|
|
65
59
|
|
|
66
|
-
def vertbuf_add(self, buf: GPUVertBuf):
|
|
60
|
+
def vertbuf_add(self, buf: GPUVertBuf) -> None:
|
|
67
61
|
"""Add another vertex buffer to the Batch.
|
|
68
62
|
It is not possible to add more vertices to the batch using this method.
|
|
69
63
|
Instead it can be used to add more attributes to the existing vertices.
|
|
@@ -72,36 +66,33 @@ class GPUBatch:
|
|
|
72
66
|
Current a batch can have at most GPU_BATCH_VBO_MAX_LEN vertex buffers.
|
|
73
67
|
|
|
74
68
|
:param buf: The vertex buffer that will be added to the batch.
|
|
75
|
-
:type buf: GPUVertBuf
|
|
76
69
|
"""
|
|
77
70
|
|
|
78
71
|
class GPUFrameBuffer:
|
|
79
72
|
"""This object gives access to framebuffer functionalities.
|
|
80
|
-
When a
|
|
73
|
+
When a layer is specified in a argument, a single layer of a 3D or array texture is attached to the frame-buffer.
|
|
81
74
|
For cube map textures, layer is translated into a cube map face.
|
|
82
75
|
"""
|
|
83
76
|
|
|
84
77
|
is_bound: typing.Any
|
|
85
|
-
""" Checks if this is the active
|
|
78
|
+
""" Checks if this is the active frame-buffer in the context."""
|
|
86
79
|
|
|
87
|
-
def bind(self):
|
|
80
|
+
def bind(self) -> None:
|
|
88
81
|
"""Context manager to ensure balanced bind calls, even in the case of an error."""
|
|
89
82
|
|
|
90
83
|
def clear(
|
|
91
84
|
self,
|
|
85
|
+
*,
|
|
92
86
|
color: collections.abc.Sequence[float] | None = None,
|
|
93
87
|
depth: float | None = None,
|
|
94
88
|
stencil: int | None = None,
|
|
95
|
-
):
|
|
89
|
+
) -> None:
|
|
96
90
|
"""Fill color, depth and stencil textures with specific value.
|
|
97
91
|
Common values: color=(0.0, 0.0, 0.0, 1.0), depth=1.0, stencil=0.
|
|
98
92
|
|
|
99
93
|
:param color: Sequence of 3 or 4 floats representing (r, g, b, a).
|
|
100
|
-
:type color: collections.abc.Sequence[float] | None
|
|
101
94
|
:param depth: depth value.
|
|
102
|
-
:type depth: float | None
|
|
103
95
|
:param stencil: stencil value.
|
|
104
|
-
:type stencil: int | None
|
|
105
96
|
"""
|
|
106
97
|
|
|
107
98
|
def read_color(
|
|
@@ -113,55 +104,47 @@ class GPUFrameBuffer:
|
|
|
113
104
|
channels: int,
|
|
114
105
|
slot: int,
|
|
115
106
|
format: str,
|
|
116
|
-
|
|
107
|
+
*,
|
|
108
|
+
data: Buffer | None = None,
|
|
117
109
|
) -> Buffer:
|
|
118
110
|
"""Read a block of pixels from the frame buffer.
|
|
119
111
|
|
|
120
112
|
:param x: Lower left corner of a rectangular block of pixels.
|
|
121
|
-
:type x: int
|
|
122
113
|
:param y:
|
|
123
114
|
:param xsize: Dimensions of the pixel rectangle.
|
|
124
115
|
:param ysize:
|
|
125
116
|
:param channels: Number of components to read.
|
|
126
|
-
:type channels: int
|
|
127
117
|
:param slot: The framebuffer slot to read data from.
|
|
128
|
-
:type slot: int
|
|
129
118
|
:param format: The format that describes the content of a single channel.
|
|
130
|
-
Possible values are FLOAT, INT, UINT, UBYTE, UINT_24_8
|
|
131
|
-
|
|
119
|
+
Possible values are FLOAT, INT, UINT, UBYTE, UINT_24_8 & 10_11_11_REV.
|
|
120
|
+
UINT_24_8 is deprecated, use FLOAT instead.
|
|
132
121
|
:param data: Optional Buffer object to fill with the pixels values.
|
|
133
|
-
:type data: Buffer
|
|
134
122
|
:return: The Buffer with the read pixels.
|
|
135
|
-
:rtype: Buffer
|
|
136
123
|
"""
|
|
137
124
|
|
|
138
|
-
def read_depth(
|
|
125
|
+
def read_depth(
|
|
126
|
+
self, x: int, y, xsize: int, ysize, *, data: Buffer | None = None
|
|
127
|
+
) -> Buffer:
|
|
139
128
|
"""Read a pixel depth block from the frame buffer.
|
|
140
129
|
|
|
141
130
|
:param x: Lower left corner of a rectangular block of pixels.
|
|
142
|
-
:type x: int
|
|
143
131
|
:param y:
|
|
144
132
|
:param xsize: Dimensions of the pixel rectangle.
|
|
145
|
-
:type xsize: int
|
|
146
133
|
:param ysize:
|
|
147
134
|
:param data: Optional Buffer object to fill with the pixels values.
|
|
148
|
-
:type data: Buffer
|
|
149
135
|
:return: The Buffer with the read pixels.
|
|
150
|
-
:rtype: Buffer
|
|
151
136
|
"""
|
|
152
137
|
|
|
153
|
-
def viewport_get(self):
|
|
138
|
+
def viewport_get(self) -> None:
|
|
154
139
|
"""Returns position and dimension to current viewport."""
|
|
155
140
|
|
|
156
|
-
def viewport_set(self, x: int, y, xsize: int, ysize):
|
|
141
|
+
def viewport_set(self, x: int, y, xsize: int, ysize) -> None:
|
|
157
142
|
"""Set the viewport for this framebuffer object.
|
|
158
143
|
Note: The viewport state is not saved upon framebuffer rebind.
|
|
159
144
|
|
|
160
145
|
:param x: lower left corner of the viewport_set rectangle, in pixels.
|
|
161
|
-
:type x: int
|
|
162
146
|
:param y:
|
|
163
147
|
:param xsize: width and height of the viewport_set.
|
|
164
|
-
:type xsize: int
|
|
165
148
|
:param ysize:
|
|
166
149
|
"""
|
|
167
150
|
|
|
@@ -171,31 +154,16 @@ class GPUIndexBuf:
|
|
|
171
154
|
class GPUOffScreen:
|
|
172
155
|
"""This object gives access to off screen buffers."""
|
|
173
156
|
|
|
174
|
-
color_texture: int
|
|
175
|
-
""" OpenGL bindcode for the color texture.
|
|
176
|
-
|
|
177
|
-
:type: int
|
|
178
|
-
"""
|
|
179
|
-
|
|
180
157
|
height: int
|
|
181
|
-
""" Height of the texture.
|
|
182
|
-
|
|
183
|
-
:type: int
|
|
184
|
-
"""
|
|
158
|
+
""" Height of the texture."""
|
|
185
159
|
|
|
186
160
|
texture_color: GPUTexture
|
|
187
|
-
""" The color texture attached.
|
|
188
|
-
|
|
189
|
-
:type: GPUTexture
|
|
190
|
-
"""
|
|
161
|
+
""" The color texture attached."""
|
|
191
162
|
|
|
192
163
|
width: int
|
|
193
|
-
""" Width of the texture.
|
|
164
|
+
""" Width of the texture."""
|
|
194
165
|
|
|
195
|
-
:
|
|
196
|
-
"""
|
|
197
|
-
|
|
198
|
-
def bind(self):
|
|
166
|
+
def bind(self) -> None:
|
|
199
167
|
"""Context manager to ensure balanced bind calls, even in the case of an error."""
|
|
200
168
|
|
|
201
169
|
def draw_view3d(
|
|
@@ -208,105 +176,82 @@ class GPUOffScreen:
|
|
|
208
176
|
| mathutils.Matrix,
|
|
209
177
|
projection_matrix: collections.abc.Sequence[collections.abc.Sequence[float]]
|
|
210
178
|
| mathutils.Matrix,
|
|
179
|
+
*,
|
|
211
180
|
do_color_management: bool = False,
|
|
212
181
|
draw_background: bool = True,
|
|
213
|
-
):
|
|
182
|
+
) -> None:
|
|
214
183
|
"""Draw the 3d viewport in the offscreen object.
|
|
215
184
|
|
|
216
185
|
:param scene: Scene to draw.
|
|
217
|
-
:type scene: bpy.types.Scene
|
|
218
186
|
:param view_layer: View layer to draw.
|
|
219
|
-
:type view_layer: bpy.types.ViewLayer
|
|
220
187
|
:param view3d: 3D View to get the drawing settings from.
|
|
221
|
-
:type view3d: bpy.types.SpaceView3D
|
|
222
188
|
:param region: Region of the 3D View (required as temporary draw target).
|
|
223
|
-
:type region: bpy.types.Region
|
|
224
189
|
:param view_matrix: View Matrix (e.g. camera.matrix_world.inverted()).
|
|
225
|
-
:type view_matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
226
190
|
:param projection_matrix: Projection Matrix (e.g. camera.calc_matrix_camera(...)).
|
|
227
|
-
:type projection_matrix: collections.abc.Sequence[collections.abc.Sequence[float]] | mathutils.Matrix
|
|
228
191
|
:param do_color_management: Color manage the output.
|
|
229
|
-
:type do_color_management: bool
|
|
230
192
|
:param draw_background: Draw background.
|
|
231
|
-
:type draw_background: bool
|
|
232
193
|
"""
|
|
233
194
|
|
|
234
|
-
def free(self):
|
|
195
|
+
def free(self) -> None:
|
|
235
196
|
"""Free the offscreen object.
|
|
236
197
|
The framebuffer, texture and render objects will no longer be accessible.
|
|
237
198
|
|
|
238
199
|
"""
|
|
239
200
|
|
|
240
|
-
def unbind(self, restore: bool = True):
|
|
201
|
+
def unbind(self, *, restore: bool = True) -> None:
|
|
241
202
|
"""Unbind the offscreen object.
|
|
242
203
|
|
|
243
204
|
:param restore: Restore the OpenGL state, can only be used when the state has been saved before.
|
|
244
|
-
:type restore: bool
|
|
245
205
|
"""
|
|
246
206
|
|
|
247
207
|
class GPUShader:
|
|
248
|
-
"""GPUShader combines multiple GLSL shaders into a program used for drawing.
|
|
249
|
-
It must contain at least a vertex and fragment shaders.The GLSL #version directive is automatically included at the top of shaders,
|
|
250
|
-
and set to 330. Some preprocessor directives are automatically added according to
|
|
251
|
-
the Operating System or availability: GPU_ATI, GPU_NVIDIA and GPU_INTEL.The following extensions are enabled by default if supported by the GPU:
|
|
252
|
-
GL_ARB_texture_gather, GL_ARB_texture_cube_map_array
|
|
253
|
-
and GL_ARB_shader_draw_parameters.For drawing user interface elements and gizmos, use
|
|
254
|
-
fragOutput = blender_srgb_to_framebuffer_space(fragOutput)
|
|
255
|
-
to transform the output sRGB colors to the frame-buffer color-space.
|
|
256
|
-
"""
|
|
257
|
-
|
|
258
208
|
name: str
|
|
259
|
-
""" The name of the shader object for debugging purposes (read-only).
|
|
260
|
-
|
|
261
|
-
:type: str
|
|
262
|
-
"""
|
|
209
|
+
""" The name of the shader object for debugging purposes (read-only)."""
|
|
263
210
|
|
|
264
211
|
program: int
|
|
265
212
|
""" The name of the program object for use by the OpenGL API (read-only).
|
|
266
|
-
|
|
267
|
-
:type: int
|
|
268
|
-
"""
|
|
213
|
+
This is deprecated and will always return -1."""
|
|
269
214
|
|
|
270
215
|
def attr_from_name(self, name: str) -> int:
|
|
271
216
|
"""Get attribute location by name.
|
|
272
217
|
|
|
273
218
|
:param name: The name of the attribute variable whose location is to be queried.
|
|
274
|
-
:type name: str
|
|
275
219
|
:return: The location of an attribute variable.
|
|
276
|
-
:rtype: int
|
|
277
220
|
"""
|
|
278
221
|
|
|
279
222
|
def attrs_info_get(self) -> tuple[tuple[str, str | None], ...]:
|
|
280
223
|
"""Information about the attributes used in the Shader.
|
|
281
224
|
|
|
282
225
|
:return: tuples containing information about the attributes in order (name, type)
|
|
283
|
-
:rtype: tuple[tuple[str, str | None], ...]
|
|
284
226
|
"""
|
|
285
227
|
|
|
286
|
-
def bind(self):
|
|
228
|
+
def bind(self) -> None:
|
|
287
229
|
"""Bind the shader object. Required to be able to change uniforms of this shader."""
|
|
288
230
|
|
|
289
231
|
def format_calc(self) -> GPUVertFormat:
|
|
290
232
|
"""Build a new format based on the attributes of the shader.
|
|
291
233
|
|
|
292
234
|
:return: vertex attribute format for the shader
|
|
293
|
-
:rtype: GPUVertFormat
|
|
294
235
|
"""
|
|
295
236
|
|
|
296
|
-
def image(self, name: str, texture: GPUTexture):
|
|
237
|
+
def image(self, name: str, texture: GPUTexture) -> None:
|
|
297
238
|
"""Specify the value of an image variable for the current GPUShader.
|
|
298
239
|
|
|
299
240
|
:param name: Name of the image variable to which the texture is to be bound.
|
|
300
|
-
:type name: str
|
|
301
241
|
:param texture: Texture to attach.
|
|
302
|
-
:type texture: GPUTexture
|
|
303
242
|
"""
|
|
304
243
|
|
|
305
|
-
def
|
|
306
|
-
"""Specify the value of
|
|
244
|
+
def ssbo(self, name: str, ssbo: GPUStorageBuf) -> None:
|
|
245
|
+
"""Specify the value of a shader storage buffer (SSBO) variable for the current GPUShader.
|
|
307
246
|
|
|
308
|
-
:param name: name of the
|
|
309
|
-
:
|
|
247
|
+
:param name: name of the SSBO variable in the shader.
|
|
248
|
+
:param ssbo: Storage Buffer to attach.
|
|
249
|
+
"""
|
|
250
|
+
|
|
251
|
+
def uniform_block(self, name: str, ubo: GPUUniformBuf) -> None:
|
|
252
|
+
"""Specify the value of a uniform buffer object variable for the current GPUShader.
|
|
253
|
+
|
|
254
|
+
:param name: Name of the uniform variable whose UBO is to be specified.
|
|
310
255
|
:param ubo: Uniform Buffer to attach.
|
|
311
256
|
"""
|
|
312
257
|
|
|
@@ -314,54 +259,46 @@ class GPUShader:
|
|
|
314
259
|
"""Get uniform block location by name.
|
|
315
260
|
|
|
316
261
|
:param name: Name of the uniform block variable whose location is to be queried.
|
|
317
|
-
:type name: str
|
|
318
262
|
:return: The location of the uniform block variable.
|
|
319
|
-
:rtype: int
|
|
320
263
|
"""
|
|
321
264
|
|
|
322
|
-
def uniform_bool(
|
|
265
|
+
def uniform_bool(
|
|
266
|
+
self, name: str, value: bool | collections.abc.Sequence[bool]
|
|
267
|
+
) -> None:
|
|
323
268
|
"""Specify the value of a uniform variable for the current program object.
|
|
324
269
|
|
|
325
270
|
:param name: Name of the uniform variable whose value is to be changed.
|
|
326
|
-
:type name: str
|
|
327
271
|
:param value: Value that will be used to update the specified uniform variable.
|
|
328
|
-
:type value: bool | collections.abc.Sequence[bool]
|
|
329
272
|
"""
|
|
330
273
|
|
|
331
|
-
def uniform_float(
|
|
274
|
+
def uniform_float(
|
|
275
|
+
self, name: str, value: collections.abc.Sequence[float] | float
|
|
276
|
+
) -> None:
|
|
332
277
|
"""Specify the value of a uniform variable for the current program object.
|
|
333
278
|
|
|
334
279
|
:param name: Name of the uniform variable whose value is to be changed.
|
|
335
|
-
:type name: str
|
|
336
280
|
:param value: Value that will be used to update the specified uniform variable.
|
|
337
|
-
:type value: collections.abc.Sequence[float] | float
|
|
338
281
|
"""
|
|
339
282
|
|
|
340
283
|
def uniform_from_name(self, name: str) -> int:
|
|
341
284
|
"""Get uniform location by name.
|
|
342
285
|
|
|
343
286
|
:param name: Name of the uniform variable whose location is to be queried.
|
|
344
|
-
:type name: str
|
|
345
287
|
:return: Location of the uniform variable.
|
|
346
|
-
:rtype: int
|
|
347
288
|
"""
|
|
348
289
|
|
|
349
|
-
def uniform_int(self, name: str, seq: collections.abc.Sequence[int]):
|
|
290
|
+
def uniform_int(self, name: str, seq: collections.abc.Sequence[int] | int) -> None:
|
|
350
291
|
"""Specify the value of a uniform variable for the current program object.
|
|
351
292
|
|
|
352
|
-
:param name:
|
|
353
|
-
:type name: str
|
|
293
|
+
:param name: Name of the uniform variable whose value is to be changed.
|
|
354
294
|
:param seq: Value that will be used to update the specified uniform variable.
|
|
355
|
-
:type seq: collections.abc.Sequence[int]
|
|
356
295
|
"""
|
|
357
296
|
|
|
358
|
-
def uniform_sampler(self, name: str, texture: GPUTexture):
|
|
297
|
+
def uniform_sampler(self, name: str, texture: GPUTexture) -> None:
|
|
359
298
|
"""Specify the value of a texture uniform variable for the current GPUShader.
|
|
360
299
|
|
|
361
|
-
:param name:
|
|
362
|
-
:type name: str
|
|
300
|
+
:param name: Name of the uniform variable whose texture is to be specified.
|
|
363
301
|
:param texture: Texture to attach.
|
|
364
|
-
:type texture: GPUTexture
|
|
365
302
|
"""
|
|
366
303
|
|
|
367
304
|
def uniform_vector_float(
|
|
@@ -370,13 +307,11 @@ class GPUShader:
|
|
|
370
307
|
buffer: collections.abc.Sequence[float],
|
|
371
308
|
length: int,
|
|
372
309
|
count: int,
|
|
373
|
-
):
|
|
310
|
+
) -> None:
|
|
374
311
|
"""Set the buffer to fill the uniform.
|
|
375
312
|
|
|
376
313
|
:param location: Location of the uniform variable to be modified.
|
|
377
|
-
:type location: int
|
|
378
314
|
:param buffer: The data that should be set. Can support the buffer protocol.
|
|
379
|
-
:type buffer: collections.abc.Sequence[float]
|
|
380
315
|
:param length: Size of the uniform data type:
|
|
381
316
|
|
|
382
317
|
1: float
|
|
@@ -390,42 +325,58 @@ class GPUShader:
|
|
|
390
325
|
9: mat3
|
|
391
326
|
|
|
392
327
|
16: mat4
|
|
393
|
-
:type length: int
|
|
394
328
|
:param count: Specifies the number of elements, vector or matrices that are to be modified.
|
|
395
|
-
:type count: int
|
|
396
329
|
"""
|
|
397
330
|
|
|
398
|
-
def uniform_vector_int(
|
|
399
|
-
|
|
331
|
+
def uniform_vector_int(
|
|
332
|
+
self, location: int, buffer, length: int, count: int
|
|
333
|
+
) -> None:
|
|
334
|
+
"""Set the buffer to fill the uniform.
|
|
400
335
|
|
|
401
|
-
:param location:
|
|
402
|
-
:param buffer:
|
|
403
|
-
:param length:
|
|
404
|
-
:param count:
|
|
336
|
+
:param location: Location of the uniform variable to be modified.
|
|
337
|
+
:param buffer: Buffer object with format matching the uniform.
|
|
338
|
+
:param length: Size of the uniform data type.
|
|
339
|
+
:param count: Specifies the number of elements that are to be modified.
|
|
405
340
|
"""
|
|
406
341
|
|
|
407
342
|
class GPUShaderCreateInfo:
|
|
408
343
|
"""Stores and describes types and variables that are used in shader sources."""
|
|
409
344
|
|
|
410
|
-
def compute_source(self, source: str):
|
|
345
|
+
def compute_source(self, source: str) -> None:
|
|
411
346
|
"""compute shader source code written in GLSL.Example:`GLSL Cross Compilation <https://developer.blender.org/docs/features/gpu/glsl_cross_compilation/>`__
|
|
412
347
|
|
|
413
348
|
:param source: The compute shader source code.
|
|
414
|
-
:type source: str
|
|
415
349
|
"""
|
|
416
350
|
|
|
417
|
-
def define(self, name, value):
|
|
351
|
+
def define(self, name: str, value: str) -> None:
|
|
418
352
|
"""Add a preprocessing define directive. In GLSL it would be something like:
|
|
419
353
|
|
|
420
|
-
:param name:
|
|
421
|
-
:param value:
|
|
354
|
+
:param name: Token name.
|
|
355
|
+
:param value: Text that replaces token occurrences.
|
|
356
|
+
"""
|
|
357
|
+
|
|
358
|
+
def depth_write(self, value: str) -> None:
|
|
359
|
+
"""Specify a depth write behavior when modifying gl_FragDepth.There is a common optimization for GPUs that relies on an early depth
|
|
360
|
+
test to be run before the fragment shader so that the shader evaluation
|
|
361
|
+
can be skipped if the fragment ends up being discarded because it is occluded.This optimization does not affect the final rendering, and is typically
|
|
362
|
+
possible when the fragment does not change the depth programmatically.
|
|
363
|
+
There are, however a class of operations on the depth in the shader which
|
|
364
|
+
could still be performed while allowing the early depth test to operate.This function alters the behavior of the optimization to allow those operations
|
|
365
|
+
to be performed.
|
|
366
|
+
|
|
367
|
+
:param value: Depth write value. It can be UNCHANGED (default), ANY, GREATER or LESS.
|
|
368
|
+
:UNCHANGED: disables depth write in a fragment shader and execution of thefragments can be optimized away.
|
|
369
|
+
:ANY: enables depth write in a fragment shader for any fragments
|
|
370
|
+
:GREATER: enables depth write in a fragment shader for depth values thatare greater than the depth value in the output buffer.
|
|
371
|
+
:LESS: enables depth write in a fragment shader for depth values thatare less than the depth value in the output buffer.
|
|
422
372
|
"""
|
|
423
373
|
|
|
424
|
-
def fragment_out(
|
|
374
|
+
def fragment_out(
|
|
375
|
+
self, slot: int, type: str, name: str, *, blend: str = "NONE"
|
|
376
|
+
) -> None:
|
|
425
377
|
"""Specify a fragment output corresponding to a framebuffer target slot.
|
|
426
378
|
|
|
427
379
|
:param slot: The attribute index.
|
|
428
|
-
:type slot: int
|
|
429
380
|
:param type: One of these types:
|
|
430
381
|
|
|
431
382
|
FLOAT
|
|
@@ -457,27 +408,28 @@ class GPUShaderCreateInfo:
|
|
|
457
408
|
IVEC4
|
|
458
409
|
|
|
459
410
|
BOOL
|
|
460
|
-
:type type: str
|
|
461
411
|
:param name: Name of the attribute.
|
|
462
|
-
:
|
|
463
|
-
:param blend: Dual Source Blending Index. It can be 'NONE', 'SRC_0' or 'SRC_1'.
|
|
464
|
-
:type blend: str
|
|
412
|
+
:param blend: Dual Source Blending Index. It can be NONE, SRC_0 or SRC_1.
|
|
465
413
|
"""
|
|
466
414
|
|
|
467
|
-
def fragment_source(self, source: str):
|
|
415
|
+
def fragment_source(self, source: str) -> None:
|
|
468
416
|
"""Fragment shader source code written in GLSL.Example:`GLSL Cross Compilation <https://developer.blender.org/docs/features/gpu/glsl_cross_compilation/>`__
|
|
469
417
|
|
|
470
418
|
:param source: The fragment shader source code.
|
|
471
|
-
:type source: str
|
|
472
419
|
"""
|
|
473
420
|
|
|
474
421
|
def image(
|
|
475
|
-
self,
|
|
476
|
-
|
|
422
|
+
self,
|
|
423
|
+
slot: int,
|
|
424
|
+
format: str,
|
|
425
|
+
type: str,
|
|
426
|
+
name: str,
|
|
427
|
+
*,
|
|
428
|
+
qualifiers: set[str] = {"NO_RESTRICT"},
|
|
429
|
+
) -> None:
|
|
477
430
|
"""Specify an image resource used for arbitrary load and store operations.
|
|
478
431
|
|
|
479
432
|
:param slot: The image resource index.
|
|
480
|
-
:type slot: int
|
|
481
433
|
:param format: The GPUTexture format that is passed to the shader. Possible values are:
|
|
482
434
|
|
|
483
435
|
RGBA8UI
|
|
@@ -544,7 +496,7 @@ class GPUShaderCreateInfo:
|
|
|
544
496
|
|
|
545
497
|
DEPTH32F_STENCIL8
|
|
546
498
|
|
|
547
|
-
DEPTH24_STENCIL8
|
|
499
|
+
DEPTH24_STENCIL8 (deprecated, use DEPTH32F_STENCIL8)
|
|
548
500
|
|
|
549
501
|
SRGB8_A8
|
|
550
502
|
|
|
@@ -564,10 +516,9 @@ class GPUShaderCreateInfo:
|
|
|
564
516
|
|
|
565
517
|
DEPTH_COMPONENT32F
|
|
566
518
|
|
|
567
|
-
DEPTH_COMPONENT24
|
|
519
|
+
DEPTH_COMPONENT24 (deprecated, use DEPTH_COMPONENT32F)
|
|
568
520
|
|
|
569
521
|
DEPTH_COMPONENT16
|
|
570
|
-
:type format: str
|
|
571
522
|
:param type: The data type describing how the image is to be read in the shader. Possible values are:
|
|
572
523
|
|
|
573
524
|
FLOAT_BUFFER
|
|
@@ -633,27 +584,22 @@ class GPUShaderCreateInfo:
|
|
|
633
584
|
DEPTH_CUBE
|
|
634
585
|
|
|
635
586
|
DEPTH_CUBE_ARRAY
|
|
636
|
-
:type type: str
|
|
637
587
|
:param name: The image resource name.
|
|
638
|
-
:type name: str
|
|
639
588
|
:param qualifiers: Set containing values that describe how the image resource is to be read or written. Possible values are:
|
|
640
589
|
- NO_RESTRICT
|
|
641
590
|
- READ
|
|
642
591
|
- WRITE
|
|
643
592
|
"""
|
|
644
593
|
|
|
645
|
-
def local_group_size(self, x: int, y: int =
|
|
594
|
+
def local_group_size(self, x: int, y: int = 1, z: int = 1) -> None:
|
|
646
595
|
"""Specify the local group size for compute shaders.
|
|
647
596
|
|
|
648
597
|
:param x: The local group size in the x dimension.
|
|
649
|
-
:
|
|
650
|
-
:param
|
|
651
|
-
:type y: int
|
|
652
|
-
:param z: The local group size in the z dimension. Optional. Defaults to -1.
|
|
653
|
-
:type z: int
|
|
598
|
+
:param y: The local group size in the y dimension. Optional. Defaults to 1.
|
|
599
|
+
:param z: The local group size in the z dimension. Optional. Defaults to 1.
|
|
654
600
|
"""
|
|
655
601
|
|
|
656
|
-
def push_constant(self, type: str, name: str, size: int = 0):
|
|
602
|
+
def push_constant(self, type: str, name: str, size: int = 0) -> None:
|
|
657
603
|
"""Specify a global access constant.
|
|
658
604
|
|
|
659
605
|
:param type: One of these types:
|
|
@@ -687,18 +633,14 @@ class GPUShaderCreateInfo:
|
|
|
687
633
|
IVEC4
|
|
688
634
|
|
|
689
635
|
BOOL
|
|
690
|
-
:type type: str
|
|
691
636
|
:param name: Name of the constant.
|
|
692
|
-
:type name: str
|
|
693
637
|
:param size: If not zero, indicates that the constant is an array with the specified size.
|
|
694
|
-
:type size: int
|
|
695
638
|
"""
|
|
696
639
|
|
|
697
|
-
def sampler(self, slot: int, type: str, name: str):
|
|
640
|
+
def sampler(self, slot: int, type: str, name: str) -> None:
|
|
698
641
|
"""Specify an image texture sampler.
|
|
699
642
|
|
|
700
643
|
:param slot: The image texture sampler index.
|
|
701
|
-
:type slot: int
|
|
702
644
|
:param type: The data type describing the format of each sampler unit. Possible values are:
|
|
703
645
|
|
|
704
646
|
FLOAT_BUFFER
|
|
@@ -764,33 +706,48 @@ class GPUShaderCreateInfo:
|
|
|
764
706
|
DEPTH_CUBE
|
|
765
707
|
|
|
766
708
|
DEPTH_CUBE_ARRAY
|
|
767
|
-
:type type: str
|
|
768
709
|
:param name: The image texture sampler name.
|
|
769
|
-
:type name: str
|
|
770
710
|
"""
|
|
771
711
|
|
|
772
|
-
def
|
|
712
|
+
def storage_buf(
|
|
713
|
+
self,
|
|
714
|
+
slot: int,
|
|
715
|
+
type_name: str,
|
|
716
|
+
name: str,
|
|
717
|
+
*,
|
|
718
|
+
qualifiers: set[str] = {"NO_RESTRICT"},
|
|
719
|
+
) -> None:
|
|
720
|
+
"""Specify a storage buffer (shader storage buffer object).
|
|
721
|
+
|
|
722
|
+
:param slot: The storage buffer index.
|
|
723
|
+
:param type_name: Name of the data type. It can be a struct type defined in the
|
|
724
|
+
source passed through `gpu.types.GPUShaderCreateInfo.typedef_source`.
|
|
725
|
+
:param name: The storage buffer variable name.
|
|
726
|
+
:param qualifiers: Set containing values that describe how the storage buffer is to be
|
|
727
|
+
accessed. Possible values are:
|
|
728
|
+
- NO_RESTRICT
|
|
729
|
+
- READ
|
|
730
|
+
- WRITE
|
|
731
|
+
"""
|
|
732
|
+
|
|
733
|
+
def typedef_source(self, source: str) -> None:
|
|
773
734
|
"""Source code included before resource declaration. Useful for defining structs used by Uniform Buffers.Example:
|
|
774
735
|
|
|
775
|
-
:param source:
|
|
736
|
+
:param source: The source code defining types.
|
|
776
737
|
"""
|
|
777
738
|
|
|
778
|
-
def uniform_buf(self, slot: int, type_name: str, name: str):
|
|
739
|
+
def uniform_buf(self, slot: int, type_name: str, name: str) -> None:
|
|
779
740
|
"""Specify a uniform variable whose type can be one of those declared in `gpu.types.GPUShaderCreateInfo.typedef_source`.
|
|
780
741
|
|
|
781
742
|
:param slot: The uniform variable index.
|
|
782
|
-
:type slot: int
|
|
783
743
|
:param type_name: Name of the data type. It can be a struct type defined in the source passed through the `gpu.types.GPUShaderCreateInfo.typedef_source`.
|
|
784
|
-
:type type_name: str
|
|
785
744
|
:param name: The uniform variable name.
|
|
786
|
-
:type name: str
|
|
787
745
|
"""
|
|
788
746
|
|
|
789
|
-
def vertex_in(self, slot: int, type: str, name: str):
|
|
747
|
+
def vertex_in(self, slot: int, type: str, name: str) -> None:
|
|
790
748
|
"""Add a vertex shader input attribute.
|
|
791
749
|
|
|
792
750
|
:param slot: The attribute index.
|
|
793
|
-
:type slot: int
|
|
794
751
|
:param type: One of these types:
|
|
795
752
|
|
|
796
753
|
FLOAT
|
|
@@ -822,35 +779,28 @@ class GPUShaderCreateInfo:
|
|
|
822
779
|
IVEC4
|
|
823
780
|
|
|
824
781
|
BOOL
|
|
825
|
-
:type type: str
|
|
826
782
|
:param name: name of the attribute.
|
|
827
|
-
:type name: str
|
|
828
783
|
"""
|
|
829
784
|
|
|
830
|
-
def vertex_out(self, interface: GPUStageInterfaceInfo):
|
|
785
|
+
def vertex_out(self, interface: GPUStageInterfaceInfo) -> None:
|
|
831
786
|
"""Add a vertex shader output interface block.
|
|
832
787
|
|
|
833
788
|
:param interface: Object describing the block.
|
|
834
|
-
:type interface: GPUStageInterfaceInfo
|
|
835
789
|
"""
|
|
836
790
|
|
|
837
|
-
def vertex_source(self, source: str):
|
|
791
|
+
def vertex_source(self, source: str) -> None:
|
|
838
792
|
"""Vertex shader source code written in GLSL.Example:`GLSL Cross Compilation <https://developer.blender.org/docs/features/gpu/glsl_cross_compilation/>`__
|
|
839
793
|
|
|
840
794
|
:param source: The vertex shader source code.
|
|
841
|
-
:type source: str
|
|
842
795
|
"""
|
|
843
796
|
|
|
844
797
|
class GPUStageInterfaceInfo:
|
|
845
798
|
"""List of varyings between shader stages."""
|
|
846
799
|
|
|
847
800
|
name: str
|
|
848
|
-
""" Name of the interface block.
|
|
849
|
-
|
|
850
|
-
:type: str
|
|
851
|
-
"""
|
|
801
|
+
""" Name of the interface block."""
|
|
852
802
|
|
|
853
|
-
def flat(self, type: str, name: str):
|
|
803
|
+
def flat(self, type: str, name: str) -> None:
|
|
854
804
|
"""Add an attribute with qualifier of type flat to the interface block.
|
|
855
805
|
|
|
856
806
|
:param type: One of these types:
|
|
@@ -884,12 +834,10 @@ class GPUStageInterfaceInfo:
|
|
|
884
834
|
IVEC4
|
|
885
835
|
|
|
886
836
|
BOOL
|
|
887
|
-
:type type: str
|
|
888
837
|
:param name: name of the attribute.
|
|
889
|
-
:type name: str
|
|
890
838
|
"""
|
|
891
839
|
|
|
892
|
-
def no_perspective(self, type: str, name: str):
|
|
840
|
+
def no_perspective(self, type: str, name: str) -> None:
|
|
893
841
|
"""Add an attribute with qualifier of type no_perspective to the interface block.
|
|
894
842
|
|
|
895
843
|
:param type: One of these types:
|
|
@@ -923,12 +871,10 @@ class GPUStageInterfaceInfo:
|
|
|
923
871
|
IVEC4
|
|
924
872
|
|
|
925
873
|
BOOL
|
|
926
|
-
:type type: str
|
|
927
874
|
:param name: name of the attribute.
|
|
928
|
-
:type name: str
|
|
929
875
|
"""
|
|
930
876
|
|
|
931
|
-
def smooth(self, type: str, name: str):
|
|
877
|
+
def smooth(self, type: str, name: str) -> None:
|
|
932
878
|
"""Add an attribute with qualifier of type smooth to the interface block.
|
|
933
879
|
|
|
934
880
|
:param type: One of these types:
|
|
@@ -962,53 +908,113 @@ class GPUStageInterfaceInfo:
|
|
|
962
908
|
IVEC4
|
|
963
909
|
|
|
964
910
|
BOOL
|
|
965
|
-
:type type: str
|
|
966
911
|
:param name: name of the attribute.
|
|
967
|
-
|
|
912
|
+
"""
|
|
913
|
+
|
|
914
|
+
class GPUStorageBuf:
|
|
915
|
+
"""This object gives access to GPU storage buffers (SSBO)."""
|
|
916
|
+
|
|
917
|
+
def read(self) -> None:
|
|
918
|
+
"""Read the full contents of the storage buffer and return a bytes object.
|
|
919
|
+
Slow! Only use for inspection / debugging.
|
|
920
|
+
|
|
921
|
+
"""
|
|
922
|
+
|
|
923
|
+
def update(self, data) -> None:
|
|
924
|
+
"""Update the data of the storage buffer object.
|
|
925
|
+
Data length will be padded to vec4 (16 bytes) if needed.
|
|
926
|
+
|
|
927
|
+
:param data:
|
|
968
928
|
"""
|
|
969
929
|
|
|
970
930
|
class GPUTexture:
|
|
971
|
-
"""This object gives access to
|
|
931
|
+
"""This object gives access to GPU textures."""
|
|
972
932
|
|
|
973
933
|
format: str
|
|
974
|
-
""" Format of the texture.
|
|
975
|
-
|
|
976
|
-
:type: str
|
|
977
|
-
"""
|
|
934
|
+
""" Format of the texture."""
|
|
978
935
|
|
|
979
936
|
height: int
|
|
980
|
-
""" Height of the texture.
|
|
981
|
-
|
|
982
|
-
:type: int
|
|
983
|
-
"""
|
|
937
|
+
""" Height of the texture."""
|
|
984
938
|
|
|
985
939
|
width: int
|
|
986
|
-
""" Width of the texture.
|
|
940
|
+
""" Width of the texture."""
|
|
987
941
|
|
|
988
|
-
:
|
|
989
|
-
|
|
942
|
+
def anisotropic_filter(self, use_anisotropic: bool) -> None:
|
|
943
|
+
"""Set anisotropic filter usage. This only has effect if mipmapping is enabled.
|
|
944
|
+
|
|
945
|
+
:param use_anisotropic: If set to true, the texture will use anisotropic filtering.
|
|
946
|
+
"""
|
|
990
947
|
|
|
991
948
|
def clear(
|
|
992
949
|
self,
|
|
993
950
|
format: str = "FLOAT",
|
|
994
951
|
value: collections.abc.Sequence[float] = (0.0, 0.0, 0.0, 1.0),
|
|
995
|
-
):
|
|
952
|
+
) -> None:
|
|
996
953
|
"""Fill texture with specific value.
|
|
997
954
|
|
|
998
955
|
:param format: The format that describes the content of a single item.
|
|
999
|
-
Possible values are FLOAT, INT, UINT, UBYTE, UINT_24_8
|
|
1000
|
-
|
|
956
|
+
Possible values are FLOAT, INT, UINT, UBYTE, UINT_24_8 & 10_11_11_REV.
|
|
957
|
+
UINT_24_8 is deprecated, use FLOAT instead.
|
|
1001
958
|
:param value: Sequence each representing the value to fill. Sizes 1..4 are supported.
|
|
1002
|
-
:type value: collections.abc.Sequence[float]
|
|
1003
959
|
"""
|
|
1004
960
|
|
|
1005
|
-
def
|
|
961
|
+
def extend_mode(
|
|
962
|
+
self,
|
|
963
|
+
extend_mode: typing.Literal[
|
|
964
|
+
"EXTEND", "REPEAT", "MIRRORED_REPEAT", "CLAMP_TO_BORDER"
|
|
965
|
+
] = "EXTEND",
|
|
966
|
+
/,
|
|
967
|
+
) -> None:
|
|
968
|
+
"""Set texture sampling method for coordinates outside of the [0..1] uv range along
|
|
969
|
+
both the x and y axis.
|
|
970
|
+
|
|
971
|
+
:param extend_mode: the specified extent mode.
|
|
972
|
+
"""
|
|
973
|
+
|
|
974
|
+
def extend_mode_x(
|
|
975
|
+
self,
|
|
976
|
+
extend_mode: typing.Literal[
|
|
977
|
+
"EXTEND", "REPEAT", "MIRRORED_REPEAT", "CLAMP_TO_BORDER"
|
|
978
|
+
] = "EXTEND",
|
|
979
|
+
/,
|
|
980
|
+
) -> None:
|
|
981
|
+
"""Set texture sampling method for coordinates outside of the [0..1] uv range along the x axis.
|
|
982
|
+
|
|
983
|
+
:param extend_mode: the specified extent mode.
|
|
984
|
+
"""
|
|
985
|
+
|
|
986
|
+
def extend_mode_y(
|
|
987
|
+
self,
|
|
988
|
+
extend_mode: typing.Literal[
|
|
989
|
+
"EXTEND", "REPEAT", "MIRRORED_REPEAT", "CLAMP_TO_BORDER"
|
|
990
|
+
] = "EXTEND",
|
|
991
|
+
/,
|
|
992
|
+
) -> None:
|
|
993
|
+
"""Set texture sampling method for coordinates outside of the [0..1] uv range along the y axis.
|
|
994
|
+
|
|
995
|
+
:param extend_mode: the specified extent mode.
|
|
996
|
+
"""
|
|
997
|
+
|
|
998
|
+
def filter_mode(self, use_filter: bool) -> None:
|
|
999
|
+
"""Set texture filter usage.
|
|
1000
|
+
|
|
1001
|
+
:param use_filter: If set to true, the texture will use linear interpolation between neighboring texels.
|
|
1002
|
+
"""
|
|
1003
|
+
|
|
1004
|
+
def mipmap_mode(self, use_mipmap: bool = True, use_filter: bool = True) -> None:
|
|
1005
|
+
"""Set texture filter and mip-map usage.
|
|
1006
|
+
|
|
1007
|
+
:param use_mipmap: If set to true, the texture will use mip-mapping as anti-aliasing method.
|
|
1008
|
+
:param use_filter: If set to true, the texture will use linear interpolation between neighboring texels.
|
|
1009
|
+
"""
|
|
1010
|
+
|
|
1011
|
+
def read(self) -> None:
|
|
1006
1012
|
"""Creates a buffer with the value of all pixels."""
|
|
1007
1013
|
|
|
1008
1014
|
class GPUUniformBuf:
|
|
1009
1015
|
"""This object gives access to off uniform buffers."""
|
|
1010
1016
|
|
|
1011
|
-
def update(self, data):
|
|
1017
|
+
def update(self, data) -> None:
|
|
1012
1018
|
"""Update the data of the uniform buffer object.
|
|
1013
1019
|
|
|
1014
1020
|
:param data:
|
|
@@ -1025,33 +1031,27 @@ class GPUVertBuf:
|
|
|
1025
1031
|
| collections.abc.Sequence[collections.abc.Sequence[int]]
|
|
1026
1032
|
| collections.abc.Sequence[float]
|
|
1027
1033
|
| collections.abc.Sequence[int],
|
|
1028
|
-
):
|
|
1034
|
+
) -> None:
|
|
1029
1035
|
"""Insert data into the buffer for a single attribute.
|
|
1030
1036
|
|
|
1031
1037
|
:param id: Either the name or the id of the attribute.
|
|
1032
|
-
:type id: int | str
|
|
1033
1038
|
:param data: Buffer or sequence of data that should be stored in the buffer
|
|
1034
|
-
:type data: Buffer | collections.abc.Sequence[collections.abc.Sequence[float]] | collections.abc.Sequence[collections.abc.Sequence[int]] | collections.abc.Sequence[float] | collections.abc.Sequence[int]
|
|
1035
1039
|
"""
|
|
1036
1040
|
|
|
1037
1041
|
class GPUVertFormat:
|
|
1038
1042
|
"""This object contains information about the structure of a vertex buffer."""
|
|
1039
1043
|
|
|
1040
|
-
def attr_add(self, id: str, comp_type: str, len: int, fetch_mode: str):
|
|
1044
|
+
def attr_add(self, id: str, comp_type: str, len: int, fetch_mode: str) -> None:
|
|
1041
1045
|
"""Add a new attribute to the format.
|
|
1042
1046
|
|
|
1043
1047
|
:param id: Name the attribute. Often position, normal, ...
|
|
1044
|
-
:type id: str
|
|
1045
1048
|
:param comp_type: The data type that will be used store the value in memory.
|
|
1046
|
-
Possible values are I8, U8, I16, U16, I32, U32, F32
|
|
1047
|
-
:type comp_type: str
|
|
1049
|
+
Possible values are I8, U8, I16, U16, I32, U32, F32 & I10.
|
|
1048
1050
|
:param len: How many individual values the attribute consists of
|
|
1049
1051
|
(e.g. 2 for uv coordinates).
|
|
1050
|
-
:type len: int
|
|
1051
1052
|
:param fetch_mode: How values from memory will be converted when used in the shader.
|
|
1052
1053
|
This is mainly useful for memory optimizations when you want to store values with
|
|
1053
1054
|
reduced precision. E.g. you can store a float in only 1 byte but it will be
|
|
1054
1055
|
converted to a normal 4 byte float when used.
|
|
1055
|
-
Possible values are FLOAT, INT
|
|
1056
|
-
:type fetch_mode: str
|
|
1056
|
+
Possible values are FLOAT, INT or INT_TO_FLOAT_UNIT.
|
|
1057
1057
|
"""
|