--- /dev/null
+#!/bin/bash
+
+glslangValidator -V -S vert shaders/default.v.glsl -o shaders/spirv/default.v.spv
+glslangValidator -V -S frag shaders/default.f.glsl -o shaders/spirv/default.f.spv
+glslangValidator -V -S vert shaders/morphing.v.glsl -o shaders/spirv/morphing.v.spv
+glslangValidator -V -S frag shaders/morphing.f.glsl -o shaders/spirv/morphing.f.spv
+glslangValidator -V -S vert shaders/sky.v.glsl -o shaders/spirv/sky.v.spv
+glslangValidator -V -S frag shaders/sky.f.glsl -o shaders/spirv/sky.f.spv
void main()
{
- vec4 itexel = textureCube(dstex, normalize(world_normal));
+ vec4 itexel = texture(dstex, normalize(world_normal));
float dist = -pos.z;
float fog = clamp(exp(-s.fog_density * dist), 0.0, 1.0);
- vec4 texel = texture2D(tex, tex_coord);
+ vec4 texel = texture(tex, tex_coord);
// vec3 object_color = (diffuse.xyz * cdiff * texel.xyz + specular.xyz * cspec) * itexel.xyz;
vec3 object_color = s.diffuse.xyz * texel.xyz * itexel.xyz;
void main()
{
- vec4 itexel = textureCube(dstex, normalize(world_normal));
- vec4 texel = texture2D(tex, tex_coord);
+ vec4 itexel = texture(dstex, normalize(world_normal));
+ vec4 texel = texture(tex, tex_coord);
vec3 object_color = s.diffuse.xyz * texel.xyz * itexel.xyz;
float dist = -pos.z;
float fog = clamp(exp(-s.fog_density * dist), 0.0, 1.0);
layout(binding = 0) uniform samplerCube stex;
-in vec3 normal;
-out vec4 color;
+layout(location = 0) in vec3 normal;
+layout(location = 0) out vec4 color;
void main()
{
- vec4 texel = textureCube(stex, normalize(normal));
+ vec4 texel = texture(stex, normalize(normal));
color.rgb = texel.rgb;
color.a = 1.0;
layout(location = 1) in vec3 attr_pos;
layout(location = 2) in vec3 attr_normal;
-out vec3 normal;
+layout(location = 0) out vec3 normal;
void main()
{