Draw Module: Move the Global Ubo block definition to it's own file.

This commit is contained in:
2017-03-22 21:26:27 +01:00
parent 4646ecf749
commit 26c140fbc8
13 changed files with 105 additions and 323 deletions

View File

@@ -49,6 +49,7 @@ extern char datatoc_edit_overlay_facefill_vert_glsl[];
extern char datatoc_edit_overlay_facefill_frag_glsl[];
extern char datatoc_edit_normals_vert_glsl[];
extern char datatoc_edit_normals_geom_glsl[];
extern char datatoc_common_globals_lib_glsl[];
extern char datatoc_gpu_shader_uniform_color_frag_glsl[];
@@ -138,58 +139,69 @@ static void EDIT_MESH_engine_init(void)
tex, 2);
if (!e_data.overlay_tri_sh) {
e_data.overlay_tri_sh = DRW_shader_create(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl, "#define EDGE_FIX\n");
e_data.overlay_tri_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl,
datatoc_common_globals_lib_glsl, "#define EDGE_FIX\n");
}
if (!e_data.overlay_tri_fast_sh) {
e_data.overlay_tri_fast_sh = DRW_shader_create(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl, NULL);
e_data.overlay_tri_fast_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl,
datatoc_common_globals_lib_glsl, NULL);
}
if (!e_data.overlay_tri_vcol_sh) {
e_data.overlay_tri_vcol_sh = DRW_shader_create(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl, "#define EDGE_FIX\n"
"#define VERTEX_SELECTION\n");
e_data.overlay_tri_vcol_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl,
datatoc_common_globals_lib_glsl, "#define EDGE_FIX\n"
"#define VERTEX_SELECTION\n");
}
if (!e_data.overlay_tri_vcol_fast_sh) {
e_data.overlay_tri_vcol_fast_sh = DRW_shader_create(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl, "#define VERTEX_SELECTION\n");
e_data.overlay_tri_vcol_fast_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_tri_glsl,
datatoc_edit_overlay_frag_glsl,
datatoc_common_globals_lib_glsl, "#define VERTEX_SELECTION\n");
}
if (!e_data.overlay_edge_sh) {
e_data.overlay_edge_sh = DRW_shader_create(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_edge_glsl,
datatoc_edit_overlay_frag_glsl, NULL);
e_data.overlay_edge_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_edge_glsl,
datatoc_edit_overlay_frag_glsl,
datatoc_common_globals_lib_glsl, NULL);
}
if (!e_data.overlay_edge_vcol_sh) {
e_data.overlay_edge_vcol_sh = DRW_shader_create(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_edge_glsl,
datatoc_edit_overlay_frag_glsl, "#define VERTEX_SELECTION\n");
e_data.overlay_edge_vcol_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_vert_glsl,
datatoc_edit_overlay_geom_edge_glsl,
datatoc_edit_overlay_frag_glsl,
datatoc_common_globals_lib_glsl, "#define VERTEX_SELECTION\n");
}
if (!e_data.overlay_vert_sh) {
e_data.overlay_vert_sh = DRW_shader_create(datatoc_edit_overlay_loosevert_vert_glsl, NULL,
datatoc_edit_overlay_frag_glsl, "#define VERTEX_SELECTION\n");
e_data.overlay_vert_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_loosevert_vert_glsl, NULL,
datatoc_edit_overlay_frag_glsl,
datatoc_common_globals_lib_glsl, "#define VERTEX_SELECTION\n");
}
if (!e_data.overlay_facedot_sh) {
e_data.overlay_facedot_sh = DRW_shader_create(datatoc_edit_overlay_facedot_vert_glsl, NULL,
datatoc_edit_overlay_facedot_frag_glsl, NULL);
e_data.overlay_facedot_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_facedot_vert_glsl, NULL,
datatoc_edit_overlay_facedot_frag_glsl,
datatoc_common_globals_lib_glsl, NULL);
}
if (!e_data.overlay_mix_sh) {
e_data.overlay_mix_sh = DRW_shader_create_fullscreen(datatoc_edit_overlay_mix_frag_glsl, NULL);
}
if (!e_data.overlay_facefill_sh) {
e_data.overlay_facefill_sh = DRW_shader_create(datatoc_edit_overlay_facefill_vert_glsl, NULL,
datatoc_edit_overlay_facefill_frag_glsl, NULL);
e_data.overlay_facefill_sh = DRW_shader_create_with_lib(datatoc_edit_overlay_facefill_vert_glsl, NULL,
datatoc_edit_overlay_facefill_frag_glsl,
datatoc_common_globals_lib_glsl, NULL);
}
if (!e_data.normals_face_sh) {
e_data.normals_face_sh = DRW_shader_create(datatoc_edit_normals_vert_glsl, datatoc_edit_normals_geom_glsl,
datatoc_gpu_shader_uniform_color_frag_glsl, "#define FACE_NORMALS\n");
e_data.normals_face_sh = DRW_shader_create(datatoc_edit_normals_vert_glsl,
datatoc_edit_normals_geom_glsl,
datatoc_gpu_shader_uniform_color_frag_glsl, "#define FACE_NORMALS\n");
}
if (!e_data.normals_sh) {
e_data.normals_sh = DRW_shader_create(datatoc_edit_normals_vert_glsl, datatoc_edit_normals_geom_glsl,
datatoc_gpu_shader_uniform_color_frag_glsl, NULL);
e_data.normals_sh = DRW_shader_create(datatoc_edit_normals_vert_glsl,
datatoc_edit_normals_geom_glsl,
datatoc_gpu_shader_uniform_color_frag_glsl, NULL);
}
if (!e_data.depth_sh) {
e_data.depth_sh = DRW_shader_create_3D_depth_only();