aboutsummaryrefslogtreecommitdiff
path: root/assets/shaders/generated/sphere.glsl
diff options
context:
space:
mode:
Diffstat (limited to 'assets/shaders/generated/sphere.glsl')
-rw-r--r--assets/shaders/generated/sphere.glsl76
1 files changed, 76 insertions, 0 deletions
diff --git a/assets/shaders/generated/sphere.glsl b/assets/shaders/generated/sphere.glsl
new file mode 100644
index 0000000..8580c9e
--- /dev/null
+++ b/assets/shaders/generated/sphere.glsl
@@ -0,0 +1,76 @@
+#type vertex
+#version 410
+
+layout(std140) uniform Sphere
+{
+ layout(row_major) mat4 u_view_projection;
+ layout(row_major) mat4 u_transform;
+ vec3 u_color;
+ float u_specular;
+ float u_emission;
+ vec3 u_light_pos;
+ vec3 u_camera_pos;
+ int u_is_selected;
+ vec3 u_outline_color;
+ float u_outline_width;
+} su;
+
+layout(location = 0) in vec3 input_position;
+layout(location = 1) in vec3 input_normal;
+layout(location = 0) out vec3 _v0;
+layout(location = 1) out vec3 _v1;
+
+mat4 spvWorkaroundRowMajor(mat4 wrap) { return wrap; }
+
+void main()
+{
+ vec3 _29 = (vec4(input_position, 1.0) * spvWorkaroundRowMajor(su.u_transform)).xyz;
+ gl_Position = vec4(_29, 1.0) * spvWorkaroundRowMajor(su.u_view_projection);
+ _v0 = input_normal * mat3(spvWorkaroundRowMajor(su.u_transform)[0].xyz, spvWorkaroundRowMajor(su.u_transform)[1].xyz, spvWorkaroundRowMajor(su.u_transform)[2].xyz);
+ _v1 = _29;
+}
+
+
+#type fragment
+#version 410
+
+layout(std140) uniform Sphere
+{
+ layout(row_major) mat4 u_view_projection;
+ layout(row_major) mat4 u_transform;
+ vec3 u_color;
+ float u_specular;
+ float u_emission;
+ vec3 u_light_pos;
+ vec3 u_camera_pos;
+ int u_is_selected;
+ vec3 u_outline_color;
+ float u_outline_width;
+} su;
+
+uniform samplerCube u_HDRIEnvironment;
+
+layout(location = 0) in vec3 _v0;
+layout(location = 1) in vec3 _v1;
+layout(location = 0) out vec4 entryPointParam_fragmentMain;
+
+void main()
+{
+ vec3 _15 = normalize(_v0);
+ vec3 _30 = normalize(su.u_light_pos - _v1);
+ vec3 _36 = normalize(su.u_camera_pos - _v1);
+ vec4 _sampled = texture(u_HDRIEnvironment, _15);
+ vec3 result_1 = ((su.u_color * (vec3(max(dot(_15, _30), 0.0)) + (_sampled.xyz * 0.300000011920928955078125))) + (vec3(su.u_specular, su.u_specular, su.u_specular) * pow(max(dot(_36, reflect(-_30, _15)), 0.0), 32.0))) + (su.u_color * su.u_emission);
+ vec3 result;
+ if (su.u_is_selected > 0)
+ {
+ result = mix(result_1, su.u_outline_color, vec3(step(1.0 - su.u_outline_width, 1.0 - max(dot(_15, _36), 0.0))));
+ }
+ else
+ {
+ result = result_1;
+ }
+ entryPointParam_fragmentMain = vec4(result, 1.0);
+}
+
+