# HG changeset patch # User John Tsiombikas # Date 1529553538 -10800 # Node ID 8eb3126cc2f1a9f65745aae6a1c121b2157c1adb # Parent 20eb42197ab85d7c45804659b5d00c20e0967d4b starting on shaders diff -r 20eb42197ab8 -r 8eb3126cc2f1 .hgignore --- a/.hgignore Wed Jun 20 05:57:34 2018 +0300 +++ b/.hgignore Thu Jun 21 06:58:58 2018 +0300 @@ -2,3 +2,4 @@ \.swp$ \.d$ ^test$ +\.spv$ diff -r 20eb42197ab8 -r 8eb3126cc2f1 Makefile --- a/Makefile Wed Jun 20 05:57:34 2018 +0300 +++ b/Makefile Thu Jun 21 06:58:58 2018 +0300 @@ -2,12 +2,22 @@ obj = $(src:.c=.o) bin = test +sdr = $(wildcard sdr/*.glsl) +spv = $(sdr:.glsl=.spv) + CFLAGS = -pedantic -Wall -g LDFLAGS = -lvulkan -lX11 -$(bin): $(obj) +$(bin): $(obj) $(spv) $(CC) -o $@ $(obj) $(LDFLAGS) +sdr/vertex.spv: sdr/vertex.glsl + glslangValidator -o $@ -S vert -V $< + +sdr/pixel.spv: sdr/pixel.glsl + glslangValidator -o $@ -S frag -V $< + + .PHONY: clean clean: rm -f $(obj) $(bin) diff -r 20eb42197ab8 -r 8eb3126cc2f1 sdr/pixel.glsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sdr/pixel.glsl Thu Jun 21 06:58:58 2018 +0300 @@ -0,0 +1,9 @@ +#version 450 +#extension GL_ARB_separate_shader_objects: enable + +layout(location = 0) out vec4 outcolor; + +void main() +{ + outcolor = vec4(1.0, 0.0, 0.0, 1.0); +} diff -r 20eb42197ab8 -r 8eb3126cc2f1 sdr/vertex.glsl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sdr/vertex.glsl Thu Jun 21 06:58:58 2018 +0300 @@ -0,0 +1,14 @@ +#version 450 +#extension GL_ARB_separate_shader_objects: enable + +layout(location = 0) out vec4 outpos; + +const vec3 vdata[] = vec3[]( + vec3(-0.5, -0.5, 0.0), + vec3(0.5, -0.5, 0.0), + vec3(0.7, 0.0, 0.0)); + +void main() +{ + outpos = vec4(vdata[gl_VertexIndex], 1.0); +}