a145c7dc62
Cleanup: No need to save/restor frame buffer twice
2018-11-06 15:46:07 +01:00
a8e9959e07
API Docs: gpu api introduction + examples
2018-11-05 19:28:28 +01:00
8d496c2f85
Cleanup: rename PyAPI VertBatch to Batch
...
Only used for internal functions, follow 'GPU_batch.h' naming.
2018-10-31 12:34:10 +11:00
b1d2db2c77
Fix leak in successive calls to Batch.program_set
2018-10-31 12:32:57 +11:00
205eac3038
PyAPI: add check for exceeding batch VBO limit
2018-10-31 12:11:38 +11:00
1a865b4ff0
Cleanup: batch Python API
...
Add utility function to raise an error.
2018-10-31 12:02:22 +11:00
756d1502e4
Fix missing error returns in batch API
2018-10-31 11:55:28 +11:00
974d158f3f
PyAPI: GPU: improve GPUShader.from_builtin and GPUShader.code_from_builtin description.
2018-10-30 11:38:42 -03:00
c750ebe113
PyAPI: remove GPUVertFormat() creation from a list
...
We already have `attr_add` method,
best not have two ways to do the same thing.
See: D3830
2018-10-29 11:08:55 +11:00
41a284212a
Cleanup: fix compiler warnings.
2018-10-28 17:46:51 +01:00
065d19e223
Fix parsing single int for uniform_int
...
This worked for float but not int.
2018-10-26 11:59:49 +11:00
1d8ba9d618
PyAPI: Make GPUVertFormat() argument optional
2018-10-26 08:06:05 +11:00
6ed9fcbabc
PyAPI: rename GPL VertBuf.attr_fill identifier to id
...
This is used elsewhere in the API and its a common abbreviation.
2018-10-25 20:34:23 +11:00
341306995b
Fix: buffer overflow when creating gpu.types.GPUIndexBuf
2018-10-24 10:57:46 +02:00
0589368615
GPUShader: shader.uniform_float, matrix parsing
...
Add checks to parse 3x3 or 4x4 matrices,
also use error from `mathutils_array_parse` instead of overwriting.
2018-10-24 18:47:36 +11:00
fc3d771801
GPUShader: shader.uniform_float parameters
...
Allow to pass in single numbers, sequences and mathutils.* types into `shader.uniform_float`.
Reviewers: mano-wii
Differential Revision: https://developer.blender.org/D3820
2018-10-23 10:19:08 +02:00
e5182fa101
Cleanup: rename VertBuf.fill_attribute > attr_fill
2018-10-23 10:50:48 +11:00
59054d5eba
Python API: fix docstrings
2018-10-22 15:01:25 +02:00
e333765d3e
Python GPU: Best description for exceptions
2018-10-12 15:48:55 -03:00
d29f98e3f2
Python GPU: Use PyC_AsArray_FAST in GPUVertBuf.fill_attribute.
...
This allows you to use other types of sequences besides tuples.
2018-10-10 13:39:03 -03:00
5e88d103f7
Python GPU: Use PyC_AsArray_FAST when initing GPUIndexBuff.
...
This allows you to use other types of sequences besides tuples.
2018-10-10 13:39:02 -03:00
b0b547bd1e
Python GPU: Update shader.from_builtin and shader.code_from_builtin description.
2018-10-09 12:18:28 -03:00
8fc8131bc9
GPU Python: Use string literals in shader.from_builtin and shader.code_from_builtin.
...
Also, the gpu.shader.builtin submodule becomes obsolete, so it has been removed.
2018-10-09 12:07:06 -03:00
9560fe60e4
Python API: new GPUShader.format_calc() method
...
Reviewers: mano-wii, fclem, campbellbarton
Differential Revision: https://developer.blender.org/D3772
2018-10-09 11:17:29 +02:00
cf03658adb
Fix misuse of Py_INCREF in module creation.
...
Differential Revision: https://developer.blender.org/D3697
2018-10-08 20:01:55 -03:00
d592eb510e
Cleanup: naming
2018-10-09 09:25:33 +11:00
d022794cad
Cleanup: rename checks for Python struct strings
...
Using 'format' prefix made this read as if t was for string formatting.
Use 'PyC_StructFmt' prefix instead since these values are compatible
with formatting from Python's 'struct' module.
2018-10-08 08:37:32 +11:00
91bfea5b05
CPython: py_capi_utils: use more descriptive names for format string utilities.
2018-10-07 12:21:09 -03:00
ee2e30683c
Cleanup: style
2018-10-07 17:49:22 +11:00
495a7128cb
Cleanup: use the naming convention in py_capi_utils
...
And use inline functions instead of preprocessor directives.
2018-10-06 01:15:15 -03:00
0f55334413
Cleanup: use new format string utility
2018-10-06 00:13:54 -03:00
9bd65528e3
GPU Python: optionally init the vertexformat in the vertexbuffer itself.
2018-10-05 17:22:03 -03:00
550fee8eb6
GPU Python: use _PyArg_ParseTupleAndKeywordsFast.
2018-10-05 14:38:35 -03:00
eab00bf202
GPU Python: fix crash when calling batch.draw without passing a shader.
2018-10-05 11:55:17 -03:00
564d37c4b6
Python API: new GPUVertFormat constructor and vbo.fill_attribute method
...
Reviewer: fclem
Differential Revision: https://developer.blender.org/D3760
2018-10-05 15:10:56 +02:00
c15439bcdc
Cleanup: use PyModule_AddIntConstant
2018-10-04 23:53:57 -03:00
ee6c8be183
GPU Python: rename methods "shader_from_builtin" and "shader_code_from_builtin" to "from_builtin" and "code_from_builtin".
2018-10-04 13:51:21 -03:00
b183f57a9e
GPU Python: Fix assert in PySequence_Fast_GET_SIZE
2018-10-04 13:49:06 -03:00
46eb050c9d
Cleanup: remove single backtick quotes
...
This isn't valid RST.
2018-10-04 13:08:28 +10:00
ffa15f4b4a
Python GPU: GPUBatch and GPUShader refactor.
...
The changes are:
- The shader now is passed as a parameter of the batch `draw` method (batch.draw(shader)). Since the batch always has to set a shader before drawing;
- The batch methods to specify a value to a uniform have been removed. Uniforms are parameters of the program (here called shader). If you change a uniform, it changes in all batchs that use the same program;
- New methods were added to set uniforms by the shader;
- The `batch.program_set_builtin` was removed. It is a duplicate of `program_set` but without a shader object. We need the shader object to configure the uniform;
Differential Revision: https://developer.blender.org/D3752
2018-10-03 23:34:27 -03:00
3aed08377d
GPY Python: program_use_begin and program_use_end.
...
The user has to be encouraged to use the `program_set` or `program_set_builtin` before drawing.
This avoids problem with gl_context.
2018-10-01 13:58:51 -03:00
8ee4fd0bdf
Cleanup: style
2018-10-01 09:20:31 +10:00
14e7fcfdde
Cleanup: warnings
2018-09-27 21:15:55 +10:00
da96336e5f
Python GPU module: Wrap GPUIndexBuf
...
Differential Revision D3714
2018-09-27 00:53:45 -03:00
1e647a570d
Python GPU module: replace PyArg_ParseTupleAndKeywords by _PyArg_ParseTupleAndKeywordsFast
...
part of T47811 ("for faster argument parsing").
2018-09-27 00:22:57 -03:00
4323ccfa6b
GPU Python API: matrix.load_projection_matrix
...
If the `push_projection` and `pop_projection` functions already exist, there should naturally be a way to load a projection matrix.
2018-09-21 15:07:41 -03:00
08c7733c13
Cleanup: style
2018-09-21 08:11:50 +10:00
Dalai Felinto
fb88088203
Preserve the actively bound framebuffer after using gpu.offscreen
...
Otherwise we cannot draw anything after drawing in the offscreen buffer
2018-09-20 21:43:08 +00:00
Dalai Felinto
425cfdd5be
GPU Python API: shader.uniform_float
...
The existing alternative is to use a buffer and call
uniform_vector_float which is overkill for such a simple operation.
2018-09-20 19:51:06 +00:00
Dalai Felinto
e316e41f84
Typo on pydoc for uniform_int
2018-09-20 19:49:08 +00:00