diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-17 21:09:03 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-05-17 21:09:03 +0300 |
commit | d39fdda20b10028e183facaaebb76af438759762 (patch) | |
tree | 7732de84cc3a5a28781bba207234fe4100bfc2e9 /source/blender/gpu/GPU_shader.h | |
parent | 94feea22e6ecc1a45dfc578606cad454507f6ab2 (diff) | |
parent | 9c5682af879021ed530dca0cfd6126f3031cc762 (diff) |
Merge branch 'blender2.8' into temp-unified-collectionstemp-unified-collections
Diffstat (limited to 'source/blender/gpu/GPU_shader.h')
-rw-r--r-- | source/blender/gpu/GPU_shader.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/source/blender/gpu/GPU_shader.h b/source/blender/gpu/GPU_shader.h index 2a672873d86..baaa23c2398 100644 --- a/source/blender/gpu/GPU_shader.h +++ b/source/blender/gpu/GPU_shader.h @@ -50,6 +50,13 @@ enum { GPU_SHADER_FLAGS_NEW_SHADING = (1 << 1), }; +typedef enum GPUShaderTFBType { + GPU_SHADER_TFB_NONE = 0, /* Transform feedback unsupported. */ + GPU_SHADER_TFB_POINTS = 1, + GPU_SHADER_TFB_LINES = 2, + GPU_SHADER_TFB_TRIANGLES = 3, +} GPUShaderTFBType; + GPUShader *GPU_shader_create( const char *vertexcode, const char *fragcode, @@ -62,12 +69,19 @@ GPUShader *GPU_shader_create_ex( const char *geocode, const char *libcode, const char *defines, - const int flags); + const int flags, + const GPUShaderTFBType tf_type, + const char **tf_names, + const int tf_count); void GPU_shader_free(GPUShader *shader); void GPU_shader_bind(GPUShader *shader); void GPU_shader_unbind(void); +/* Returns true if transform feedback was succesfully enabled. */ +bool GPU_shader_transform_feedback_enable(GPUShader *shader, unsigned int vbo_id); +void GPU_shader_transform_feedback_disable(GPUShader *shader); + int GPU_shader_get_program(GPUShader *shader); void *GPU_shader_get_interface(GPUShader *shader); |