Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2019-11-01 17:41:19 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-11-01 17:41:19 +0300
commit029587583bc00e67892408c00cea4061a29c803f (patch)
treed8f7e32f6b9ee75a11b3a5de0dfddf3c7e488ae5 /source/blender/draw/engines/overlay/overlay_shader.c
parentf3a6fe1c73f1989bc154b6fbb8d624c6ea26cc3b (diff)
Overlay Engine: Add Grid
Diffstat (limited to 'source/blender/draw/engines/overlay/overlay_shader.c')
-rw-r--r--source/blender/draw/engines/overlay/overlay_shader.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/source/blender/draw/engines/overlay/overlay_shader.c b/source/blender/draw/engines/overlay/overlay_shader.c
index cac6dd0f623..053415ad2aa 100644
--- a/source/blender/draw/engines/overlay/overlay_shader.c
+++ b/source/blender/draw/engines/overlay/overlay_shader.c
@@ -28,14 +28,18 @@
extern char datatoc_facing_frag_glsl[];
extern char datatoc_facing_vert_glsl[];
+extern char datatoc_grid_frag_glsl[];
+extern char datatoc_grid_vert_glsl[];
extern char datatoc_wireframe_vert_glsl[];
extern char datatoc_wireframe_geom_glsl[];
extern char datatoc_wireframe_frag_glsl[];
extern char datatoc_gpu_shader_depth_only_frag_glsl[];
extern char datatoc_common_view_lib_glsl[];
+extern char datatoc_common_globals_lib_glsl[];
typedef struct OVERLAY_Shaders {
+ struct GPUShader *grid;
struct GPUShader *facing;
struct GPUShader *wireframe_select;
struct GPUShader *wireframe;
@@ -64,6 +68,25 @@ GPUShader *OVERLAY_shader_facing(void)
return sh_data->facing;
}
+GPUShader *OVERLAY_shader_grid(void)
+{
+ OVERLAY_Shaders *sh_data = &e_data.sh_data[0];
+ if (!sh_data->grid) {
+ /* Face orientation */
+ sh_data->grid = GPU_shader_create_from_arrays({
+ .vert = (const char *[]){datatoc_common_globals_lib_glsl,
+ datatoc_common_view_lib_glsl,
+ datatoc_grid_vert_glsl,
+ NULL},
+ .frag = (const char *[]){datatoc_common_globals_lib_glsl,
+ datatoc_common_view_lib_glsl,
+ datatoc_grid_frag_glsl,
+ NULL},
+ });
+ }
+ return sh_data->grid;
+}
+
GPUShader *OVERLAY_shader_wireframe_select(void)
{
const DRWContextState *draw_ctx = DRW_context_state_get();