Blender V5.0
gpu_py_api.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
14
15#include <Python.h>
16
18#include "gpu_py_compute.hh"
19#include "gpu_py_matrix.hh"
20#include "gpu_py_platform.hh"
21#include "gpu_py_select.hh"
22#include "gpu_py_state.hh"
23#include "gpu_py_types.hh"
24
25#include "gpu_py_api.hh" /* Own include. */
26
27/* -------------------------------------------------------------------- */
30
32 /* Wrap. */
33 pygpu_doc,
34 "This module provides Python wrappers for the GPU implementation in Blender.\n"
35 "Some higher level functions can be found in the :mod:`gpu_extras` module.\n");
36static PyModuleDef pygpu_module_def = {
37 /*m_base*/ PyModuleDef_HEAD_INIT,
38 /*m_name*/ "gpu",
39 /*m_doc*/ pygpu_doc,
40 /*m_size*/ 0,
41 /*m_methods*/ nullptr,
42 /*m_slots*/ nullptr,
43 /*m_traverse*/ nullptr,
44 /*m_clear*/ nullptr,
45 /*m_free*/ nullptr,
46};
47
48PyObject *BPyInit_gpu()
49{
50 PyObject *sys_modules = PyImport_GetModuleDict();
51 PyObject *submodule;
52 PyObject *mod;
53
54 mod = PyModule_Create(&pygpu_module_def);
55
56 PyModule_AddObject(mod, "types", (submodule = bpygpu_types_init()));
57 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
58
59 PyModule_AddObject(mod, "capabilities", (submodule = bpygpu_capabilities_init()));
60 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
61
62 PyModule_AddObject(mod, "matrix", (submodule = bpygpu_matrix_init()));
63 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
64
65 PyModule_AddObject(mod, "platform", (submodule = bpygpu_platform_init()));
66 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
67
68 PyModule_AddObject(mod, "select", (submodule = bpygpu_select_init()));
69 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
70
71 PyModule_AddObject(mod, "shader", (submodule = bpygpu_shader_init()));
72 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
73
74 PyModule_AddObject(mod, "state", (submodule = bpygpu_state_init()));
75 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
76
77 PyModule_AddObject(mod, "texture", (submodule = bpygpu_texture_init()));
78 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
79
80 PyModule_AddObject(mod, "compute", (submodule = bpygpu_compute_init()));
81 PyDict_SetItem(sys_modules, PyModule_GetNameObject(submodule), submodule);
82
83 return mod;
84}
85
PyObject * BPyInit_gpu()
Definition gpu_py_api.cc:48
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 :mod:`gpu_extras` module.\n")
static PyModuleDef pygpu_module_def
Definition gpu_py_api.cc:36
PyObject * bpygpu_capabilities_init()
PyObject * bpygpu_compute_init()
PyObject * bpygpu_matrix_init()
PyObject * bpygpu_platform_init()
PyObject * bpygpu_select_init()
PyObject * bpygpu_shader_init()
PyObject * bpygpu_state_init()
PyObject * bpygpu_texture_init()
PyObject * bpygpu_types_init()
VecBase< float, D > constexpr mod(VecOp< float, D >, VecOp< float, D >) RET