This commit extends the gpu python API with:
```
gpu.types.Buffer         #"__init__", "to_list"
gpu.types.GPUTexture     #"__init__", "clear", "read", "format"
gpu.types.GPUFrameBuffer #"__init__", "bind", "clear", "is_bound", "viewport", ("__enter__",  "__exit__" with "GPUFrameBufferStackContext")
gpu.types.GPUUniformBuf  #"__init__", "update"
gpu.state                #"blend_set",  "blend_get",  "depth_test_set",  "depth_test_get",  "depth_mask_set",  "depth_mask_get",  "viewport_set",  "viewport_get",  "line_width_set",  "line_width_get",  "point_size_set",  "color_mask_set",  "face_culling_set", "front_facing_set",  "program_point_size_set"
```
Add these methods to existing objects:
```
gpu.types.GPUShader  #"uniform_sample", "uniform_buffer"
```
Maniphest Tasks: T80481
Differential Revision: https://developer.blender.org/D8826
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# ***** BEGIN GPL LICENSE BLOCK *****
 | 
						|
#
 | 
						|
# This program is free software; you can redistribute it and/or
 | 
						|
# modify it under the terms of the GNU General Public License
 | 
						|
# as published by the Free Software Foundation; either version 2
 | 
						|
# of the License, or (at your option) any later version.
 | 
						|
#
 | 
						|
# This program is distributed in the hope that it will be useful,
 | 
						|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 | 
						|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 | 
						|
# GNU General Public License for more details.
 | 
						|
#
 | 
						|
# You should have received a copy of the GNU General Public License
 | 
						|
# along with this program; if not, write to the Free Software Foundation,
 | 
						|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | 
						|
# ***** END GPL LICENSE BLOCK *****
 | 
						|
 | 
						|
set(INC
 | 
						|
  .
 | 
						|
  ../../blenkernel
 | 
						|
  ../../blenlib
 | 
						|
  ../../editors/include
 | 
						|
  ../../gpu
 | 
						|
  ../../imbuf
 | 
						|
  ../../makesdna
 | 
						|
  ../../../../intern/glew-mx
 | 
						|
  ../../../../intern/guardedalloc
 | 
						|
)
 | 
						|
 | 
						|
set(INC_SYS
 | 
						|
  ${GLEW_INCLUDE_PATH}
 | 
						|
  ${PYTHON_INCLUDE_DIRS}
 | 
						|
)
 | 
						|
 | 
						|
set(SRC
 | 
						|
  gpu_py.c
 | 
						|
  gpu_py_api.c
 | 
						|
  gpu_py_batch.c
 | 
						|
  gpu_py_buffer.c
 | 
						|
  gpu_py_element.c
 | 
						|
  gpu_py_framebuffer.c
 | 
						|
  gpu_py_matrix.c
 | 
						|
  gpu_py_offscreen.c
 | 
						|
  gpu_py_select.c
 | 
						|
  gpu_py_shader.c
 | 
						|
  gpu_py_state.c
 | 
						|
  gpu_py_texture.c
 | 
						|
  gpu_py_types.c
 | 
						|
  gpu_py_uniformbuffer.c
 | 
						|
  gpu_py_vertex_buffer.c
 | 
						|
  gpu_py_vertex_format.c
 | 
						|
 | 
						|
  gpu_py.h
 | 
						|
  gpu_py_api.h
 | 
						|
  gpu_py_batch.h
 | 
						|
  gpu_py_buffer.h
 | 
						|
  gpu_py_element.h
 | 
						|
  gpu_py_framebuffer.h
 | 
						|
  gpu_py_matrix.h
 | 
						|
  gpu_py_offscreen.h
 | 
						|
  gpu_py_select.h
 | 
						|
  gpu_py_shader.h
 | 
						|
  gpu_py_state.h
 | 
						|
  gpu_py_texture.h
 | 
						|
  gpu_py_types.h
 | 
						|
  gpu_py_uniformbuffer.h
 | 
						|
  gpu_py_vertex_buffer.h
 | 
						|
  gpu_py_vertex_format.h
 | 
						|
)
 | 
						|
 | 
						|
set(LIB
 | 
						|
  ${PYTHON_LINKFLAGS}
 | 
						|
  ${PYTHON_LIBRARIES}
 | 
						|
)
 | 
						|
 | 
						|
add_definitions(${GL_DEFINITIONS})
 | 
						|
 | 
						|
blender_add_lib(bf_python_gpu "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
 |