Blender  V3.3
gpu_py_api.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
13 #include <Python.h>
14 
15 #include "BLI_utildefines.h"
16 
17 #include "gpu_py_capabilities.h"
18 #include "gpu_py_matrix.h"
19 #include "gpu_py_platform.h"
20 #include "gpu_py_select.h"
21 #include "gpu_py_state.h"
22 #include "gpu_py_types.h"
23 
24 #include "gpu_py_api.h" /* Own include. */
25 
26 /* -------------------------------------------------------------------- */
30 PyDoc_STRVAR(pygpu_doc,
31  "This module provides Python wrappers for the GPU implementation in Blender.\n"
32  "Some higher level functions can be found in the `gpu_extras` module.");
33 static struct PyModuleDef pygpu_module_def = {
34  PyModuleDef_HEAD_INIT,
35  .m_name = "gpu",
36  .m_doc = pygpu_doc,
37 };
38 
39 PyObject *BPyInit_gpu(void)
40 {
41  PyObject *sys_modules = PyImport_GetModuleDict();
42  PyObject *submodule;
43  PyObject *mod;
44 
45  mod = PyModule_Create(&pygpu_module_def);
46 
47  PyModule_AddObject(mod, "types", (submodule = bpygpu_types_init()));
48  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
49 
50  PyModule_AddObject(mod, "capabilities", (submodule = bpygpu_capabilities_init()));
51  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
52 
53  PyModule_AddObject(mod, "matrix", (submodule = bpygpu_matrix_init()));
54  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
55 
56  PyModule_AddObject(mod, "platform", (submodule = bpygpu_platform_init()));
57  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
58 
59  PyModule_AddObject(mod, "select", (submodule = bpygpu_select_init()));
60  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
61 
62  PyModule_AddObject(mod, "shader", (submodule = bpygpu_shader_init()));
63  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
64 
65  PyModule_AddObject(mod, "state", (submodule = bpygpu_state_init()));
66  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
67 
68  PyModule_AddObject(mod, "texture", (submodule = bpygpu_texture_init()));
69  PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
70 
71  return mod;
72 }
73 
PyObject * BPyInit_gpu(void)
Definition: gpu_py_api.c:39
PyDoc_STRVAR(pygpu_doc, "This module provides Python wrappers for the GPU implementation in Blender.\n" "Some higher level functions can be found in the `gpu_extras` module.")
static struct PyModuleDef pygpu_module_def
Definition: gpu_py_api.c:33
PyObject * bpygpu_capabilities_init(void)
PyObject * bpygpu_matrix_init(void)
PyObject * bpygpu_platform_init(void)
PyObject * bpygpu_select_init(void)
Definition: gpu_py_select.c:66
PyObject * bpygpu_shader_init(void)
PyObject * bpygpu_state_init(void)
Definition: gpu_py_state.c:438
PyObject * bpygpu_texture_init(void)
PyObject * bpygpu_types_init(void)
Definition: gpu_py_types.c:25
ccl_device_inline int mod(int x, int m)
Definition: util/math.h:490