Xavier Cho
62d64bec2a
Docs: Fixes and improvements in API documentation
...
Fixes several notable mistakes and missing information
regarding the API documentation (*.rst).
This will allow API stub generators like bpystubgen or
fake-bpy-module to produce more accurate result.
Differential Revision: https://developer.blender.org/D12639
2021-10-22 18:27:16 -04:00
Jon Denning
e0394761b9
GPUShader: Expose name for debugging & identifying shaders
...
Added optional `name` argument to `GPUShader` constructor
(defaults to `pyGPUShader`), and added `name` getter to `GPUShader`.
Ref D12393
Reviewed By: campbellbarton, jbakker
2021-09-13 16:16:45 +10:00
a131e3bec7
Fix GPU Buffer not allowing uint values greater than one byte
...
Error in format passed in `PyArg_Parse`
2021-09-08 20:28:00 -03:00
8849bed671
Revert "PyAPI: GPU Shader: add 'state' parameter to uniform sampler"
...
This reverts commit 2aad8fc7bc .
It was a commit without proper review.
A better API needs to be discussed.
2021-09-02 10:19:58 -03:00
2aad8fc7bc
PyAPI: GPU Shader: add 'state' parameter to uniform sampler
...
Now you can choose the state of texture (as a filter and repetition) to
render it.
This is important as the original state is very limited.
2021-09-01 10:39:14 -03:00
1541fbb4a0
PyDoc: Fix compliation warning
2021-08-30 18:26:07 -04:00
b7cb7b78a8
Docs: GPU Shader: improvements
...
Changes:
- line break
- enum highlighting
- better description
2021-08-30 17:12:31 -03:00
06a60fe9f7
PyAPI: GPU: expose clip distances
...
Now you can get a shader that uses Clip Planes and set the number of
Clip Distanes with `gpu.state.clip_distances_set(value)`.
2021-08-26 13:03:07 -03:00
nutti
69fdcea978
Docs: add API docs for gpu.capabilities
...
Adds Python API documentations for gpu.capabilities module.
Ref D12226
2021-08-17 15:04:35 +10:00
ba055493a0
Cleanup: clang-format
2021-08-17 14:46:46 +10:00
nutti
d60e28093f
Docs: add API docs for gpu.platform
...
Adds Python API documentations for gpu.platform module.
Ref D12222
2021-08-17 14:45:40 +10:00
869b84452a
Cleanup: compiler warnings
2021-08-17 14:42:12 +10:00
4dba206011
PyAPI: GPUShader: make 'uniform_vector_*' less restricted
...
Buffers larger than required may be allowed without restriction.
2021-08-16 13:57:25 -03:00
b5117660da
PyAPI: GPU Buffer: Buffer protocol support
...
The code was commented due to lack of testing and short release deadline.
2021-08-16 13:57:25 -03:00
eb278f5e12
XR: Color Depth Adjustments
...
This addresses reduced visibility of scenes (as displayed in the VR
headset) that can result from the 8-bit color depth format currently
used for XR swapchain images.
By switching to a swapchain format with higher color depth (RGB10_A2,
RGBA16, RGBA16F) for supported runtimes, visibility in VR should be
noticeably improved.
However, current limitations are lack of support for these higher
color depth formats by some XR runtimes, especially for OpenGL.
Also important to note that GPU_offscreen_create() now explicitly
takes in the texture format (eGPUTextureFormat) instead of a
"high_bitdepth" boolean.
Reviewed By: Julian Eisel, Clément Foucault
Differential Revision: http://developer.blender.org/D9842
2021-08-16 11:46:09 +09:00
c9a9d5332b
PyAPI: GPU: Expose builtin shaders
...
Expose `3D_POLYLINE_SMOOTH_COLOR` and
`3D_POLYLINE_FLAT_COLOR` builtins.
Requested by addon developers.
2021-08-11 11:39:51 -03:00
d6ca7ab20e
Cleanup: make format
2021-08-04 19:24:19 -04:00
Gottfried Hofmann
c8004ab407
Expose Color Management as argument for gpu.types.GPUOffScreen.draw_view3d()
...
Fix for https://developer.blender.org/T84227
The problem was that https://developer.blender.org/rBe0ffb911a22bb03755687f45fc1a996870e059a8 turned color management for offscreen rendering off by default, which makes it non-color-managed in some cases. So the idea here is that script authors get the choice wether they want color managed non-color-managed output. Thus this patch introduces a new argument do_color_management as a bool to gpu.types.GPUOffScreen.draw_view3d().
Reviewed By: jbakker
Differential Revision: https://developer.blender.org/D11645
2021-08-04 11:20:22 +02:00
3c50687073
Fix gpu.types.GPUTexture crash when the size argument was too big
...
Missing length check on the size argument before copying it
into a fixed size buffer.
2021-07-29 14:11:37 +10:00
58eacb8e7c
Cleanup: pass sizeof array element to PyC_AsArray
...
Replace the is_double argument which was only used for single/double
precision floats.
This allows supporting different sized int types more easily.
2021-07-27 22:36:01 +10:00
e77a1dc6b0
Fix name used when parsing arguments
2021-07-22 15:29:09 -03:00
1b44b47f69
PyGPU: new method 'GPUFrameBuffer.read_depth'
...
Method requested by users in order to port addons to new API.
2021-07-22 15:17:48 -03:00
c3a400b73f
Cleanup: use single back-tick quoting in comments
...
While doxygen supports both, conform to our style guide.
Note that single back-tick's are already used in a majority of comments.
2021-07-20 22:58:14 +10:00
nutti
695e025c82
Docs: Fix minor incorrect syntax errors
...
This patch fixes the incorrect syntax in documentations.
Reviewed By: Blendify
Differential Revision: https://developer.blender.org/D11822
2021-07-07 19:41:46 -04:00
f1e4903854
Cleanup: full sentences in comments, improve comment formatting
2021-06-26 21:50:48 +10:00
6570159929
Cleanup: update clang-format so PyObject_HEAD indents properly
2021-06-24 17:12:04 +10:00
4b9ff3cd42
Cleanup: comment blocks, trailing space in comments
2021-06-24 15:59:34 +10:00
c73be23e17
Revert "Fix T89204: slow repeated rendering with GPUOffscreen.draw_view3d"
...
This reverts commit d03b26edbd . There is some
refresh issue that needs to be solved before this can be enabled.
2021-06-17 02:06:26 +02:00
d03b26edbd
Fix T89204: slow repeated rendering with GPUOffscreen.draw_view3d
...
Cache the GPUViewport so the framebuffers and associated textures are not
reallocated each time.
2021-06-16 20:19:34 +02:00
f29a738e23
PyAPI: use keyword only arguments
...
Use keyword only arguments for the following functions.
- addon_utils.module_bl_info 2nd arg `info_basis`.
- addon_utils.modules 1st `module_cache`, 2nd arg `refresh`.
- addon_utils.modules_refresh 1st arg `module_cache`.
- bl_app_template_utils.activate 1nd arg `template_id`.
- bl_app_template_utils.import_from_id 2nd arg `ignore_not_found`.
- bl_app_template_utils.import_from_path 2nd arg `ignore_not_found`.
- bl_keymap_utils.keymap_from_toolbar.generate 2nd & 3rd args `use_fallback_keys` & `use_reset`.
- bl_keymap_utils.platform_helpers.keyconfig_data_oskey_from_ctrl 2nd arg `filter_fn`.
- bl_ui_utils.bug_report_url.url_prefill_from_blender 1st arg `addon_info`.
- bmesh.types.BMFace.copy 1st & 2nd args `verts`, `edges`.
- bmesh.types.BMesh.calc_volume 1st arg `signed`.
- bmesh.types.BMesh.from_mesh 2nd..4th args `face_normals`, `use_shape_key`, `shape_key_index`.
- bmesh.types.BMesh.from_object 3rd & 4th args `cage`, `face_normals`.
- bmesh.types.BMesh.transform 2nd arg `filter`.
- bmesh.types.BMesh.update_edit_mesh 2nd & 3rd args `loop_triangles`, `destructive`.
- bmesh.types.{BMVertSeq,BMEdgeSeq,BMFaceSeq}.sort 1st & 2nd arg `key`, `reverse`.
- bmesh.utils.face_split 4th..6th args `coords`, `use_exist`, `example`.
- bpy.data.libraries.load 2nd..4th args `link`, `relative`, `assets_only`.
- bpy.data.user_map 1st..3rd args `subset`, `key_types, `value_types`.
- bpy.msgbus.subscribe_rna 5th arg `options`.
- bpy.path.abspath 2nd & 3rd args `start` & `library`.
- bpy.path.clean_name 2nd arg `replace`.
- bpy.path.ensure_ext 3rd arg `case_sensitive`.
- bpy.path.module_names 2nd arg `recursive`.
- bpy.path.relpath 2nd arg `start`.
- bpy.types.EditBone.transform 2nd & 3rd arg `scale`, `roll`.
- bpy.types.Operator.as_keywords 1st arg `ignore`.
- bpy.types.Struct.{keyframe_insert,keyframe_delete} 2nd..5th args `index`, `frame`, `group`, `options`.
- bpy.types.WindowManager.popup_menu 2nd & 3rd arg `title`, `icon`.
- bpy.types.WindowManager.popup_menu_pie 3rd & 4th arg `title`, `icon`.
- bpy.utils.app_template_paths 1st arg `subdir`.
- bpy.utils.app_template_paths 1st arg `subdir`.
- bpy.utils.blend_paths 1st..3rd args `absolute`, `packed`, `local`.
- bpy.utils.execfile 2nd arg `mod`.
- bpy.utils.keyconfig_set 2nd arg `report`.
- bpy.utils.load_scripts 1st & 2nd `reload_scripts` & `refresh_scripts`.
- bpy.utils.preset_find 3rd & 4th args `display_name`, `ext`.
- bpy.utils.resource_path 2nd & 3rd arg `major`, `minor`.
- bpy.utils.script_paths 1st..4th args `subdir`, `user_pref`, `check_all`, `use_user`.
- bpy.utils.smpte_from_frame 2nd & 3rd args `fps`, `fps_base`.
- bpy.utils.smpte_from_seconds 2nd & 3rd args `fps`, `fps_base`.
- bpy.utils.system_resource 2nd arg `subdir`.
- bpy.utils.time_from_frame 2nd & 3rd args `fps`, `fps_base`.
- bpy.utils.time_to_frame 2nd & 3rd args `fps`, `fps_base`.
- bpy.utils.units.to_string 4th..6th `precision`, `split_unit`, `compatible_unit`.
- bpy.utils.units.to_value 4th arg `str_ref_unit`.
- bpy.utils.user_resource 2nd & 3rd args `subdir`, `create`
- bpy_extras.view3d_utils.location_3d_to_region_2d 4th arg `default`.
- bpy_extras.view3d_utils.region_2d_to_origin_3d 4th arg `clamp`.
- gpu.offscreen.unbind 1st arg `restore`.
- gpu_extras.batch.batch_for_shader 4th arg `indices`.
- gpu_extras.batch.presets.draw_circle_2d 4th arg `segments`.
- gpu_extras.presets.draw_circle_2d 4th arg `segments`.
- imbuf.types.ImBuf.resize 2nd arg `resize`.
- imbuf.write 2nd arg `filepath`.
- mathutils.kdtree.KDTree.find 2nd arg `filter`.
- nodeitems_utils.NodeCategory 3rd & 4th arg `descriptions`, `items`.
- nodeitems_utils.NodeItem 2nd..4th args `label`, `settings`, `poll`.
- nodeitems_utils.NodeItemCustom 1st & 2nd arg `poll`, `draw`.
- rna_prop_ui.draw 5th arg `use_edit`.
- rna_prop_ui.rna_idprop_ui_get 2nd arg `create`.
- rna_prop_ui.rna_idprop_ui_prop_clear 3rd arg `remove`.
- rna_prop_ui.rna_idprop_ui_prop_get 3rd arg `create`.
- rna_xml.xml2rna 2nd arg `root_rna`.
- rna_xml.xml_file_write 4th arg `skip_typemap`.
2021-06-09 03:05:44 +10:00
2b660e825b
Fix T88365: GPUTexture.read returning a buffer with wrong size
...
The pixel components were not being considered.
2021-05-18 10:01:29 -03:00
ea7b00c64f
Fix T88345: Blender crash on GPUFrameBuffer creation
...
Misuse of indexes.
`color_attachements` has only color ones while `config` has color and depth.
2021-05-18 09:39:31 -03:00
3e6609a0dc
Cleanup: silence unused parameter warnings
...
Introduced in rB48fa029dd11b.
2021-05-15 14:13:22 -03:00
Germano Cavalcante
48fa029dd1
Python GPU: New 'platform' module
...
This module exposes the platform utils defined in the GPU module in C.
This will be useful for porting existing code with `bgl` to `gpu`.
Reviewed By: fclem, brecht, campbellbarton
Maniphest Tasks: T80730
Part of D11147
2021-05-14 12:26:40 -03:00
Germano Cavalcante
3f4f109646
Python GPU: New 'capabilities' module
...
This module exposes the capabilities defined in the GPU module in C.
This will be useful for porting existing code in `bgl` to `gpu`.
Reviewed By: fclem, brecht, campbellbarton
Maniphest Tasks: T80730
Part of D11147
2021-05-14 12:26:40 -03:00
777ba780a6
Cleanup: inconsistent parameter name
2021-05-13 13:06:42 +02:00
75536b5a61
Cleanup: compiler warnings
2021-05-01 00:49:55 +10:00
2bd9a28ff8
Cleanup: Rename #if GPU_USE_PY_REFERENCES to #ifndef GPU_NO_USE_PY_REFERENCES
...
This is safer for incremental build.
And there was already a macro `GPU_USE_PY_REFERENCES` used elsewhere.
2021-04-30 11:20:39 -03:00
a711aa5b3c
Fix accidental lines removed in the last commit
2021-04-30 11:03:39 -03:00
a35d33d520
Fix gross errors in previous commit
2021-04-30 11:00:57 -03:00
2510bd3a5f
Python GPU: Add new methods to port the code templates in the manual
...
This commit adds a new API tha allow to replace the bgl API in the exemples on:
https://docs.blender.org/api/current/gpu.html
**Overview (New API):**
```
gpu.state: active_framebuffer_get
GPUFramebuffer: read_color
GPUOffscreen: texture_color
```
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D11031
2021-04-30 10:49:54 -03:00
Germano Cavalcante
04b6296e81
Python GPU: Add reference of PyObject GPU object to the GPU object itself
...
Instead of creating different python wrappers for the same GPU object,
return the same `PyObject` created earlier.
This also allows for more secure access to existing GPU objects.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D11044
2021-04-30 10:42:13 -03:00
48c5129d1f
Fix errors in Buffer.dimensions setter
...
- Error accessing the length from a sequence.
- Error comparing a boolean to -1.
Issues introduced in 19360c2c1c
2021-04-22 12:34:26 +10:00
932b23782a
Merge branch 'blender-v2.93-release'
2021-04-21 17:15:46 -03:00
0f66dbea90
Fix wrong flag for 'GPUFrameBuffer.viewport_get'
...
`GPUFrameBuffer.viewport_get` has no args.
2021-04-21 17:15:13 -03:00
19360c2c1c
Python GPU Buffer: Add a 'setter' to Buffer.dimensions
...
The attribute `Buffer.dimensions` does not need to be readonly.
2021-04-21 17:07:11 -03:00
d5c6485372
Cleanup: clang format
2021-04-01 11:18:26 +11:00
645fc0c767
Fix build error on windows
...
Error was caused by using `#if` directive in `PyDoc_STRVAR` macro.
This partially reverts 1e4c35d910
2021-03-31 09:46:38 +02:00
1e4c35d910
PyDoc: correct sphinx syntax for gpu.state.blend_set
2021-03-31 17:42:21 +11:00
3f47df577d
Cleanup: use new BLI_assert_unreachable macro
2021-03-24 12:38:08 +11:00