Draw Module: Move the Global Ubo block definition to it's own file.
This commit is contained in:
parent
4646ecf749
commit
26c140fbc8
|
@ -103,6 +103,7 @@ data_to_c_simple(engines/eevee/shaders/lit_surface_frag.glsl SRC)
|
|||
data_to_c_simple(engines/eevee/shaders/lit_surface_vert.glsl SRC)
|
||||
data_to_c_simple(engines/eevee/shaders/tonemap_frag.glsl SRC)
|
||||
|
||||
data_to_c_simple(modes/shaders/common_globals_lib.glsl SRC)
|
||||
data_to_c_simple(modes/shaders/edit_overlay_frag.glsl SRC)
|
||||
data_to_c_simple(modes/shaders/edit_overlay_vert.glsl SRC)
|
||||
data_to_c_simple(modes/shaders/edit_overlay_geom_tri.glsl SRC)
|
||||
|
|
|
@ -167,6 +167,7 @@ void DRW_framebuffer_texture_detach(struct GPUTexture *tex);
|
|||
void DRW_framebuffer_blit(struct GPUFrameBuffer *fb_read, struct GPUFrameBuffer *fb_write, bool depth);
|
||||
/* Shaders */
|
||||
struct GPUShader *DRW_shader_create(const char *vert, const char *geom, const char *frag, const char *defines);
|
||||
struct GPUShader *DRW_shader_create_with_lib(const char *vert, const char *geom, const char *frag, const char *lib, const char *defines);
|
||||
struct GPUShader *DRW_shader_create_2D(const char *frag, const char *defines);
|
||||
struct GPUShader *DRW_shader_create_3D(const char *frag, const char *defines);
|
||||
struct GPUShader *DRW_shader_create_fullscreen(const char *frag, const char *defines);
|
||||
|
|
|
@ -316,6 +316,11 @@ GPUShader *DRW_shader_create(const char *vert, const char *geom, const char *fra
|
|||
return GPU_shader_create(vert, frag, geom, NULL, defines, 0, 0, 0);
|
||||
}
|
||||
|
||||
GPUShader *DRW_shader_create_with_lib(const char *vert, const char *geom, const char *frag, const char *lib, const char *defines)
|
||||
{
|
||||
return GPU_shader_create(vert, frag, geom, lib, defines, 0, 0, 0);
|
||||
}
|
||||
|
||||
GPUShader *DRW_shader_create_2D(const char *frag, const char *defines)
|
||||
{
|
||||
return GPU_shader_create(datatoc_gpu_shader_2D_vert_glsl, frag, NULL, NULL, defines, 0, 0, 0);
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -0,0 +1,55 @@
|
|||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
vec4 colorBackground;
|
||||
|
||||
vec4 colorGrid;
|
||||
vec4 colorGridEmphasise;
|
||||
vec4 colorGridAxisX;
|
||||
vec4 colorGridAxisY;
|
||||
vec4 colorGridAxisZ;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
|
||||
float gridDistance;
|
||||
float gridResolution;
|
||||
float gridSubdivisions;
|
||||
float gridScale;
|
||||
};
|
|
@ -1,46 +1,4 @@
|
|||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
};
|
||||
|
||||
flat in int isSelected;
|
||||
|
||||
out vec4 FragColor;
|
||||
|
|
|
@ -1,46 +1,4 @@
|
|||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
};
|
||||
|
||||
uniform mat4 ModelViewProjectionMatrix;
|
||||
|
||||
in vec3 pos;
|
||||
|
|
|
@ -1,48 +1,6 @@
|
|||
|
||||
uniform mat4 ModelViewProjectionMatrix;
|
||||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
};
|
||||
|
||||
in vec3 pos;
|
||||
in ivec4 data;
|
||||
|
||||
|
|
|
@ -5,48 +5,6 @@
|
|||
/* This shader follows the principles of
|
||||
* http://developer.download.nvidia.com/SDK/10/direct3d/Source/SolidWireframe/Doc/SolidWireframe.pdf */
|
||||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
};
|
||||
|
||||
uniform float faceAlphaMod;
|
||||
|
||||
flat in vec3 edgesCrease;
|
||||
|
|
|
@ -5,48 +5,6 @@
|
|||
/* This shader follows the principles of
|
||||
* http://developer.download.nvidia.com/SDK/10/direct3d/Source/SolidWireframe/Doc/SolidWireframe.pdf */
|
||||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
};
|
||||
|
||||
layout(lines) in;
|
||||
layout(triangle_strip, max_vertices=6) out;
|
||||
|
||||
|
|
|
@ -5,48 +5,6 @@
|
|||
/* This shader follows the principles of
|
||||
* http://developer.download.nvidia.com/SDK/10/direct3d/Source/SolidWireframe/Doc/SolidWireframe.pdf */
|
||||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
};
|
||||
|
||||
layout(triangles) in;
|
||||
|
||||
#ifdef EDGE_FIX
|
||||
|
|
|
@ -5,48 +5,6 @@
|
|||
/* This shader follows the principles of
|
||||
* http://developer.download.nvidia.com/SDK/10/direct3d/Source/SolidWireframe/Doc/SolidWireframe.pdf */
|
||||
|
||||
/* keep in sync with GlobalsUboStorage */
|
||||
layout(std140) uniform globalsBlock {
|
||||
vec4 colorWire;
|
||||
vec4 colorWireEdit;
|
||||
vec4 colorActive;
|
||||
vec4 colorSelect;
|
||||
vec4 colorTransform;
|
||||
vec4 colorGroupActive;
|
||||
vec4 colorGroup;
|
||||
vec4 colorLamp;
|
||||
vec4 colorSpeaker;
|
||||
vec4 colorCamera;
|
||||
vec4 colorEmpty;
|
||||
vec4 colorVertex;
|
||||
vec4 colorVertexSelect;
|
||||
vec4 colorEditMeshActive;
|
||||
vec4 colorEdgeSelect;
|
||||
vec4 colorEdgeSeam;
|
||||
vec4 colorEdgeSharp;
|
||||
vec4 colorEdgeCrease;
|
||||
vec4 colorEdgeBWeight;
|
||||
vec4 colorEdgeFaceSelect;
|
||||
vec4 colorFace;
|
||||
vec4 colorFaceSelect;
|
||||
vec4 colorNormal;
|
||||
vec4 colorVNormal;
|
||||
vec4 colorLNormal;
|
||||
vec4 colorFaceDot;
|
||||
|
||||
vec4 colorDeselect;
|
||||
vec4 colorOutline;
|
||||
vec4 colorLampNoAlpha;
|
||||
|
||||
float sizeLampCenter;
|
||||
float sizeLampCircle;
|
||||
float sizeLampCircleShadow;
|
||||
float sizeVertex;
|
||||
float sizeEdge;
|
||||
float sizeEdgeFix;
|
||||
float sizeFaceDot;
|
||||
};
|
||||
|
||||
uniform mat4 ModelViewProjectionMatrix;
|
||||
uniform vec2 viewportSize;
|
||||
|
||||
|
|
|
@ -371,6 +371,7 @@ GPUShader *GPU_shader_create_ex(const char *vertexcode,
|
|||
source[num_source++] = standard_defines;
|
||||
|
||||
if (defines) source[num_source++] = defines;
|
||||
if (libcode) source[num_source++] = libcode;
|
||||
source[num_source++] = vertexcode;
|
||||
|
||||
glAttachShader(shader->program, shader->vertex);
|
||||
|
@ -436,6 +437,7 @@ GPUShader *GPU_shader_create_ex(const char *vertexcode,
|
|||
source[num_source++] = standard_defines;
|
||||
|
||||
if (defines) source[num_source++] = defines;
|
||||
if (libcode) source[num_source++] = libcode;
|
||||
source[num_source++] = geocode;
|
||||
|
||||
glAttachShader(shader->program, shader->geometry);
|
||||
|
|
Loading…
Reference in New Issue