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
This commit is contained in:
@@ -25,11 +25,13 @@
|
||||
|
||||
#include <Python.h>
|
||||
|
||||
#include "GPU_framebuffer.h"
|
||||
#include "GPU_state.h"
|
||||
|
||||
#include "../generic/py_capi_utils.h"
|
||||
#include "../generic/python_utildefines.h"
|
||||
|
||||
#include "gpu_py_framebuffer.h"
|
||||
#include "gpu_py_state.h" /* own include */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
@@ -334,6 +336,16 @@ static PyObject *pygpu_state_program_point_size_set(PyObject *UNUSED(self), PyOb
|
||||
Py_RETURN_NONE;
|
||||
}
|
||||
|
||||
PyDoc_STRVAR(pygpu_state_framebuffer_active_get_doc,
|
||||
".. function:: framebuffer_active_get(enable)\n"
|
||||
"\n"
|
||||
" Return the active framefuffer in context.\n");
|
||||
static PyObject *pygpu_state_framebuffer_active_get(PyObject *UNUSED(self))
|
||||
{
|
||||
GPUFrameBuffer *fb = GPU_framebuffer_active_get();
|
||||
return BPyGPUFrameBuffer_CreatePyObject(fb, true);
|
||||
}
|
||||
|
||||
/** \} */
|
||||
|
||||
/* -------------------------------------------------------------------- */
|
||||
@@ -396,6 +408,10 @@ static struct PyMethodDef pygpu_state__tp_methods[] = {
|
||||
(PyCFunction)pygpu_state_program_point_size_set,
|
||||
METH_O,
|
||||
pygpu_state_program_point_size_set_doc},
|
||||
{"active_framebuffer_get",
|
||||
(PyCFunction)pygpu_state_framebuffer_active_get,
|
||||
METH_NOARGS,
|
||||
pygpu_state_framebuffer_active_get_doc},
|
||||
{NULL, NULL, 0, NULL},
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user