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-05-09 00:27:51 +0300
committerClément Foucault <foucault.clem@gmail.com>2019-05-09 00:28:07 +0300
commitc995eb1f9f69b9f94ea0b82c4d50495cfd1b38a9 (patch)
tree0bcd5cb443a0771d901035e13e64bbbf471a17f0 /source/blender/gpu
parent9489fea07b61c83a429b61de887b692dffb6a4f4 (diff)
Cleanup: GPUShader: Remove unused edge fancy shader
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/CMakeLists.txt9
-rw-r--r--source/blender/gpu/GPU_shader.h4
-rw-r--r--source/blender/gpu/intern/gpu_shader.c53
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_front_back_ortho_vert.glsl54
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_geom.glsl60
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_legacy_vert.glsl68
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_vert.glsl44
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_overlay_frag.glsl21
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_overlay_geom.glsl72
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_overlay_simple_geom.glsl56
-rw-r--r--source/blender/gpu/shaders/gpu_shader_edges_overlay_vert.glsl14
11 files changed, 0 insertions, 455 deletions
diff --git a/source/blender/gpu/CMakeLists.txt b/source/blender/gpu/CMakeLists.txt
index 5a42c4d3d1b..f30eff1484b 100644
--- a/source/blender/gpu/CMakeLists.txt
+++ b/source/blender/gpu/CMakeLists.txt
@@ -178,7 +178,6 @@ data_to_c_simple(shaders/gpu_shader_3D_image_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_3D_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_3D_normal_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_3D_flat_color_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_3D_line_dashed_uniform_color_legacy_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_3D_line_dashed_uniform_color_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_3D_smooth_color_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_3D_normal_smooth_color_vert.glsl SRC)
@@ -225,14 +224,6 @@ data_to_c_simple(shaders/gpu_shader_2D_edituvs_stretch_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_3D_selection_id_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_selection_id_frag.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_front_back_persp_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_front_back_persp_geom.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_front_back_persp_legacy_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_front_back_ortho_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_overlay_vert.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_overlay_geom.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_overlay_simple_geom.glsl SRC)
-data_to_c_simple(shaders/gpu_shader_edges_overlay_frag.glsl SRC)
data_to_c_simple(shaders/gpu_shader_text_simple_vert.glsl SRC)
data_to_c_simple(shaders/gpu_shader_text_simple_geom.glsl SRC)
data_to_c_simple(shaders/gpu_shader_text_vert.glsl SRC)
diff --git a/source/blender/gpu/GPU_shader.h b/source/blender/gpu/GPU_shader.h
index 9bcf732a35a..00570bd7ebc 100644
--- a/source/blender/gpu/GPU_shader.h
+++ b/source/blender/gpu/GPU_shader.h
@@ -100,10 +100,6 @@ typedef enum eGPUBuiltinShader {
/* specialized drawing */
GPU_SHADER_TEXT,
GPU_SHADER_TEXT_SIMPLE,
- GPU_SHADER_EDGES_FRONT_BACK_PERSP,
- GPU_SHADER_EDGES_FRONT_BACK_ORTHO,
- GPU_SHADER_EDGES_OVERLAY_SIMPLE,
- GPU_SHADER_EDGES_OVERLAY,
GPU_SHADER_KEYFRAME_DIAMOND,
GPU_SHADER_SIMPLE_LIGHTING,
GPU_SHADER_SIMPLE_LIGHTING_FLAT_COLOR,
diff --git a/source/blender/gpu/intern/gpu_shader.c b/source/blender/gpu/intern/gpu_shader.c
index 4b130cdbb3e..7201025ad8a 100644
--- a/source/blender/gpu/intern/gpu_shader.c
+++ b/source/blender/gpu/intern/gpu_shader.c
@@ -145,17 +145,8 @@ extern char datatoc_gpu_shader_selection_id_frag_glsl[];
extern char datatoc_gpu_shader_2D_line_dashed_uniform_color_vert_glsl[];
extern char datatoc_gpu_shader_2D_line_dashed_frag_glsl[];
extern char datatoc_gpu_shader_2D_line_dashed_geom_glsl[];
-extern char datatoc_gpu_shader_3D_line_dashed_uniform_color_legacy_vert_glsl[];
extern char datatoc_gpu_shader_3D_line_dashed_uniform_color_vert_glsl[];
-extern char datatoc_gpu_shader_edges_front_back_persp_vert_glsl[];
-extern char datatoc_gpu_shader_edges_front_back_persp_geom_glsl[];
-extern char datatoc_gpu_shader_edges_front_back_persp_legacy_vert_glsl[];
-extern char datatoc_gpu_shader_edges_front_back_ortho_vert_glsl[];
-extern char datatoc_gpu_shader_edges_overlay_vert_glsl[];
-extern char datatoc_gpu_shader_edges_overlay_geom_glsl[];
-extern char datatoc_gpu_shader_edges_overlay_simple_geom_glsl[];
-extern char datatoc_gpu_shader_edges_overlay_frag_glsl[];
extern char datatoc_gpu_shader_text_vert_glsl[];
extern char datatoc_gpu_shader_text_geom_glsl[];
extern char datatoc_gpu_shader_text_frag_glsl[];
@@ -842,30 +833,6 @@ static const GPUShaderStages builtin_shader_stages[GPU_SHADER_BUILTIN_LEN] = {
.vert = datatoc_gpu_shader_keyframe_diamond_vert_glsl,
.frag = datatoc_gpu_shader_keyframe_diamond_frag_glsl,
},
- /* This version is magical but slow! */
- [GPU_SHADER_EDGES_FRONT_BACK_PERSP] =
- {
- .vert = datatoc_gpu_shader_edges_front_back_persp_vert_glsl,
- .geom = datatoc_gpu_shader_edges_front_back_persp_geom_glsl,
- .frag = datatoc_gpu_shader_flat_color_frag_glsl,
- },
- [GPU_SHADER_EDGES_FRONT_BACK_ORTHO] =
- {
- .vert = datatoc_gpu_shader_edges_front_back_ortho_vert_glsl,
- .frag = datatoc_gpu_shader_flat_color_frag_glsl,
- },
- [GPU_SHADER_EDGES_OVERLAY_SIMPLE] =
- {
- .vert = datatoc_gpu_shader_3D_vert_glsl,
- .geom = datatoc_gpu_shader_edges_overlay_simple_geom_glsl,
- .frag = datatoc_gpu_shader_edges_overlay_frag_glsl,
- },
- [GPU_SHADER_EDGES_OVERLAY] =
- {
- .vert = datatoc_gpu_shader_edges_overlay_vert_glsl,
- .geom = datatoc_gpu_shader_edges_overlay_geom_glsl,
- .frag = datatoc_gpu_shader_edges_overlay_frag_glsl,
- },
[GPU_SHADER_SIMPLE_LIGHTING] =
{
.vert = datatoc_gpu_shader_3D_normal_vert_glsl,
@@ -1332,28 +1299,8 @@ GPUShader *GPU_shader_get_builtin_shader_with_config(eGPUBuiltinShader shader,
GPUShader **sh_p = &builtin_shaders[sh_cfg][shader];
if (*sh_p == NULL) {
- GPUShaderStages stages_legacy = {NULL};
const GPUShaderStages *stages = &builtin_shader_stages[shader];
- if (shader == GPU_SHADER_EDGES_FRONT_BACK_PERSP) {
- /* TODO: remove after switch to core profile (maybe) */
- if (!GLEW_VERSION_3_2) {
- stages_legacy.vert = datatoc_gpu_shader_edges_front_back_persp_legacy_vert_glsl;
- stages_legacy.frag = datatoc_gpu_shader_flat_color_alpha_test_0_frag_glsl;
- stages = &stages_legacy;
- }
- }
- else if (shader == GPU_SHADER_3D_LINE_DASHED_UNIFORM_COLOR) {
- /* Dashed need geometry shader, which are not supported by legacy OpenGL,
- * fallback to solid lines. */
- /* TODO: remove after switch to core profile (maybe) */
- if (!GLEW_VERSION_3_2) {
- stages_legacy.vert = datatoc_gpu_shader_3D_line_dashed_uniform_color_legacy_vert_glsl;
- stages_legacy.frag = datatoc_gpu_shader_2D_line_dashed_frag_glsl;
- stages = &stages_legacy;
- }
- }
-
/* common case */
if (sh_cfg == GPU_SHADER_CFG_DEFAULT) {
*sh_p = GPU_shader_create(
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_front_back_ortho_vert.glsl b/source/blender/gpu/shaders/gpu_shader_edges_front_back_ortho_vert.glsl
deleted file mode 100644
index a71dfba575b..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_front_back_ortho_vert.glsl
+++ /dev/null
@@ -1,54 +0,0 @@
-
-// Draw "fancy" wireframe, displaying front-facing, back-facing and
-// silhouette lines differently.
-// Mike Erwin, April 2015
-
-uniform bool drawFront = true;
-uniform bool drawBack = true;
-uniform bool drawSilhouette = true;
-
-uniform vec4 frontColor;
-uniform vec4 backColor;
-uniform vec4 silhouetteColor;
-
-uniform vec3 eye; // direction we are looking
-
-uniform mat4 ModelViewProjectionMatrix;
-
-in vec3 pos;
-
-// normals of faces this edge joins (object coords)
-in vec3 N1;
-in vec3 N2;
-
-flat out vec4 finalColor;
-
-// TODO: in float angle; // [-pi .. +pi], + peak, 0 flat, - valley
-
-// to discard an entire line, set both endpoints to nowhere
-// and it won't produce any fragments
-const vec4 nowhere = vec4(vec3(0.0), 1.0);
-
-void main()
-{
- bool face_1_front = dot(N1, eye) > 0.0;
- bool face_2_front = dot(N2, eye) > 0.0;
-
- vec4 position = ModelViewProjectionMatrix * vec4(pos, 1.0);
-
- if (face_1_front && face_2_front) {
- // front-facing edge
- gl_Position = drawFront ? position : nowhere;
- finalColor = frontColor;
- }
- else if (face_1_front || face_2_front) {
- // exactly one face is front-facing, silhouette edge
- gl_Position = drawSilhouette ? position : nowhere;
- finalColor = silhouetteColor;
- }
- else {
- // back-facing edge
- gl_Position = drawBack ? position : nowhere;
- finalColor = backColor;
- }
-}
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_geom.glsl b/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_geom.glsl
deleted file mode 100644
index 3de14704781..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_geom.glsl
+++ /dev/null
@@ -1,60 +0,0 @@
-
-// Draw "fancy" wireframe, displaying front-facing, back-facing and
-// silhouette lines differently.
-// Mike Erwin, April 2015
-
-// After working with this shader a while, convinced we should make
-// separate shaders for perpective & ortho. (Oct 2016)
-
-// Due to perspective, the line segment's endpoints might disagree on
-// whether the adjacent faces are front facing. This geometry shader
-// decides which edge type to use if endpoints disagree.
-
-uniform mat4 ProjectionMatrix;
-
-uniform bool drawFront = true;
-uniform bool drawBack = true;
-uniform bool drawSilhouette = true;
-
-uniform vec4 frontColor;
-uniform vec4 backColor;
-uniform vec4 silhouetteColor;
-
-layout(lines) in;
-layout(line_strip, max_vertices = 2) out;
-
-in vec4 MV_pos[];
-in float edgeClass[];
-
-flat out vec4 finalColor;
-
-void emitLine(vec4 color)
-{
- gl_Position = ProjectionMatrix * MV_pos[0];
- EmitVertex();
- gl_Position = ProjectionMatrix * MV_pos[1];
- finalColor = color;
- EmitVertex();
- EndPrimitive();
-}
-
-void main()
-{
- float finalEdgeClass = max(edgeClass[0], edgeClass[1]);
-
- if (finalEdgeClass > 0.0f) {
- // front-facing edge
- if (drawFront)
- emitLine(frontColor);
- }
- else if (finalEdgeClass < 0.0f) {
- // back-facing edge
- if (drawBack)
- emitLine(backColor);
- }
- else {
- // exactly one face is front-facing, silhouette edge
- if (drawSilhouette)
- emitLine(silhouetteColor);
- }
-}
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_legacy_vert.glsl b/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_legacy_vert.glsl
deleted file mode 100644
index ffd52a0a225..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_legacy_vert.glsl
+++ /dev/null
@@ -1,68 +0,0 @@
-
-// Draw "fancy" wireframe, displaying front-facing, back-facing and
-// silhouette lines differently.
-// Mike Erwin, April 2015
-
-// After working with this shader a while, convinced we should make
-// separate shaders for perpective & ortho. (Oct 2016)
-
-// This shader is an imperfect stepping stone until all platforms are
-// ready for geometry shaders.
-
-// Due to perspective, the line segment's endpoints might disagree on
-// whether the adjacent faces are front facing. Need to use a geometry
-// shader or pass in an extra position attribute (the other endpoint)
-// to do this properly.
-
-uniform bool drawFront = true;
-uniform bool drawBack = true;
-uniform bool drawSilhouette = true;
-
-uniform vec4 frontColor;
-uniform vec4 backColor;
-uniform vec4 silhouetteColor;
-
-uniform mat4 ModelViewMatrix;
-uniform mat4 ModelViewProjectionMatrix;
-uniform mat3 NormalMatrix;
-
-in vec3 pos;
-
-// normals of faces this edge joins (object coords)
-in vec3 N1;
-in vec3 N2;
-
-flat out vec4 finalColor;
-
-// TODO: in float angle; // [-pi .. +pi], + peak, 0 flat, - valley
-
-// to discard an entire line, set its color to invisible
-// (must have GL_BLEND enabled, or discard in fragment shader)
-const vec4 invisible = vec4(0.0);
-
-bool front(vec3 N)
-{
- vec4 xformed = ModelViewMatrix * vec4(pos, 1.0);
- return dot(NormalMatrix * N, normalize(-xformed.xyz)) > 0.0;
-}
-
-void main()
-{
- bool face_1_front = front(N1);
- bool face_2_front = front(N2);
-
- gl_Position = ModelViewProjectionMatrix * vec4(pos, 1.0);
-
- if (face_1_front && face_2_front) {
- // front-facing edge
- finalColor = drawFront ? frontColor : invisible;
- }
- else if (face_1_front || face_2_front) {
- // exactly one face is front-facing, silhouette edge
- finalColor = drawSilhouette ? silhouetteColor : invisible;
- }
- else {
- // back-facing edge
- finalColor = drawBack ? backColor : invisible;
- }
-}
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_vert.glsl b/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_vert.glsl
deleted file mode 100644
index c8b722e1d7e..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_front_back_persp_vert.glsl
+++ /dev/null
@@ -1,44 +0,0 @@
-
-// Draw "fancy" wireframe, displaying front-facing, back-facing and
-// silhouette lines differently.
-// Mike Erwin, April 2015
-
-// After working with this shader a while, convinced we should make
-// separate shaders for perpective & ortho. (Oct 2016)
-
-// Due to perspective, the line segment's endpoints might disagree on
-// whether the adjacent faces are front facing. We use a geometry
-// shader to resolve this properly.
-
-uniform mat4 ModelViewMatrix;
-uniform mat3 NormalMatrix;
-
-in vec3 pos;
-in vec3 N1, N2; // normals of faces this edge joins (object coords)
-
-out vec4 MV_pos;
-out float edgeClass;
-
-// TODO: in float angle; // [-pi .. +pi], + peak, 0 flat, - valley
-
-bool front(vec3 N, vec3 eye)
-{
- return dot(NormalMatrix * N, eye) > 0.0;
-}
-
-void main()
-{
- MV_pos = ModelViewMatrix * vec4(pos, 1.0);
-
- vec3 eye = normalize(-MV_pos.xyz);
-
- bool face_1_front = front(N1, eye);
- bool face_2_front = front(N2, eye);
-
- if (face_1_front && face_2_front)
- edgeClass = 1.0; // front-facing edge
- else if (face_1_front || face_2_front)
- edgeClass = 0.0; // exactly one face is front-facing, silhouette edge
- else
- edgeClass = -1.0; // back-facing edge
-}
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_overlay_frag.glsl b/source/blender/gpu/shaders/gpu_shader_edges_overlay_frag.glsl
deleted file mode 100644
index 7b35f67dd54..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_overlay_frag.glsl
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#define SMOOTH 1
-
-const float transitionWidth = 1.0;
-
-uniform vec4 fillColor = vec4(0);
-uniform vec4 outlineColor = vec4(0, 0, 0, 1);
-
-noperspective in vec3 distanceToOutline;
-
-out vec4 FragColor;
-
-void main()
-{
- float edgeness = min(min(distanceToOutline.x, distanceToOutline.y), distanceToOutline.z);
-#if SMOOTH
- FragColor = mix(outlineColor, fillColor, smoothstep(0, transitionWidth, edgeness));
-#else
- FragColor = (edgeness <= 0) ? outlineColor : fillColor;
-#endif
-}
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_overlay_geom.glsl b/source/blender/gpu/shaders/gpu_shader_edges_overlay_geom.glsl
deleted file mode 100644
index 48fff1629fd..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_overlay_geom.glsl
+++ /dev/null
@@ -1,72 +0,0 @@
-layout(triangles) in;
-layout(triangle_strip, max_vertices = 3) out;
-
-uniform float outlineWidth = 1.0;
-uniform vec2 viewportSize;
-
-in vec4 pos_xformed[];
-in float widthModulator[];
-
-noperspective out vec3 distanceToOutline;
-
-// project to screen space
-vec2 proj(int axis)
-{
- vec4 pos = pos_xformed[axis];
- return (0.5 * (pos.xy / pos.w) + 0.5) * viewportSize;
-}
-
-float dist(vec2 pos[3], int v)
-{
- // current vertex position
- vec2 vpos = pos[v];
- // endpoints of opposite edge
- vec2 e1 = pos[(v + 1) % 3];
- vec2 e2 = pos[(v + 2) % 3];
-
- float abs_det = length(cross(vec3(vpos - e1, 0), vec3(vpos - e2, 0))); // could simplify
- return abs_det / distance(e2, e1);
-}
-
-vec3 distance[3];
-
-void clearEdge(int v)
-{
- float distant = 10 * outlineWidth;
- for (int i = 0; i < 3; ++i)
- distance[i][v] += distant;
-}
-
-void modulateEdge(int v)
-{
- float offset = min(widthModulator[v], 1) * outlineWidth;
- for (int i = 0; i < 3; ++i)
- distance[i][v] -= offset;
-}
-
-void main()
-{
- vec2 pos[3] = vec2[3](proj(0), proj(1), proj(2));
-
- for (int v = 0; v < 3; ++v)
- distance[v] = vec3(0);
-
- for (int v = 0; v < 3; ++v) {
- if (widthModulator[v] > 0) {
- distance[v][v] = dist(pos, v);
- modulateEdge(v);
- }
- }
-
- for (int v = 0; v < 3; ++v)
- if (widthModulator[v] <= 0)
- clearEdge(v);
-
- for (int v = 0; v < 3; ++v) {
- gl_Position = pos_xformed[v];
- distanceToOutline = distance[v];
- EmitVertex();
- }
-
- EndPrimitive();
-}
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_overlay_simple_geom.glsl b/source/blender/gpu/shaders/gpu_shader_edges_overlay_simple_geom.glsl
deleted file mode 100644
index 12f5a2c7811..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_overlay_simple_geom.glsl
+++ /dev/null
@@ -1,56 +0,0 @@
-layout(triangles) in;
-layout(triangle_strip, max_vertices = 3) out;
-
-uniform float outlineWidth = 1.0;
-uniform vec2 viewportSize;
-
-noperspective out vec3 distanceToOutline;
-
-// project to screen space
-vec2 proj(int axis)
-{
- vec4 pos = gl_in[axis].gl_Position;
- return (0.5 * (pos.xy / pos.w) + 0.5) * viewportSize;
-}
-
-float dist(vec2 pos[3], int v)
-{
- // current vertex position
- vec2 vpos = pos[v];
- // endpoints of opposite edge
- vec2 e1 = pos[(v + 1) % 3];
- vec2 e2 = pos[(v + 2) % 3];
-
- float abs_det = length(cross(vec3(vpos - e1, 0), vec3(vpos - e2, 0))); // could simplify
- return abs_det / distance(e2, e1);
-}
-
-vec3 distance[3];
-
-void modulateEdge(int v)
-{
- float offset = 0.5 * outlineWidth;
- for (int i = 0; i < 3; ++i)
- distance[i][v] -= offset;
-}
-
-void main()
-{
- vec2 pos[3] = vec2[3](proj(0), proj(1), proj(2));
-
- for (int v = 0; v < 3; ++v)
- distance[v] = vec3(0);
-
- for (int v = 0; v < 3; ++v) {
- distance[v][v] = dist(pos, v);
- modulateEdge(v);
- }
-
- for (int v = 0; v < 3; ++v) {
- gl_Position = gl_in[v].gl_Position;
- distanceToOutline = distance[v];
- EmitVertex();
- }
-
- EndPrimitive();
-}
diff --git a/source/blender/gpu/shaders/gpu_shader_edges_overlay_vert.glsl b/source/blender/gpu/shaders/gpu_shader_edges_overlay_vert.glsl
deleted file mode 100644
index 33615ac36e5..00000000000
--- a/source/blender/gpu/shaders/gpu_shader_edges_overlay_vert.glsl
+++ /dev/null
@@ -1,14 +0,0 @@
-
-uniform mat4 ModelViewProjectionMatrix;
-
-in vec3 pos;
-in float edgeWidthModulator;
-
-out vec4 pos_xformed;
-out float widthModulator;
-
-void main()
-{
- pos_xformed = ModelViewProjectionMatrix * vec4(pos, 1.0);
- widthModulator = edgeWidthModulator;
-}