diff options
author | Takamichi Horikawa <takamichiho@gmail.com> | 2017-09-09 11:41:36 +0900 |
---|---|---|
committer | Takamichi Horikawa <takamichiho@gmail.com> | 2017-09-09 11:41:36 +0900 |
commit | cb9c866e9f37dfd1e67cd4f8599391676d3d5150 (patch) | |
tree | 0c53d834e53b82c646c3f5671aa5e3b75b3ec995 | |
parent | 7809829bb0ce8b30ebdfb018034cab0e5f4b7632 (diff) |
pacc: gl: use newer GLSL for GL3.2/GLES3.0
-rw-r--r-- | pacc/glsl/Makefile | 22 | ||||
-rw-r--r-- | pacc/glsl/blit.vert | 4 | ||||
-rw-r--r-- | pacc/glsl/blit.vert.inc | 22 | ||||
-rw-r--r-- | pacc/glsl/color.frag | 7 | ||||
-rw-r--r-- | pacc/glsl/color.frag.inc | 35 | ||||
-rw-r--r-- | pacc/glsl/color_trans.frag | 7 | ||||
-rw-r--r-- | pacc/glsl/color_trans.frag.inc | 29 | ||||
-rw-r--r-- | pacc/glsl/copy.frag | 7 | ||||
-rw-r--r-- | pacc/glsl/copy.frag.inc | 29 | ||||
-rw-r--r-- | pacc/glsl/ds3header | 7 | ||||
-rw-r--r-- | pacc/glsl/ds3header.inc | 19 | ||||
-rw-r--r-- | pacc/glsl/dsheader | 7 | ||||
-rw-r--r-- | pacc/glsl/dsheader.inc | 15 | ||||
-rw-r--r-- | pacc/glsl/es3header | 7 | ||||
-rw-r--r-- | pacc/glsl/es3header.inc | 18 | ||||
-rw-r--r-- | pacc/glsl/esheader | 7 | ||||
-rw-r--r-- | pacc/glsl/esheader.inc | 15 | ||||
-rw-r--r-- | pacc/glsl/fill.frag | 5 | ||||
-rw-r--r-- | pacc/glsl/fill.frag.inc | 15 | ||||
-rw-r--r-- | pacc/glsl/font.frag | 15 | ||||
-rw-r--r-- | pacc/glsl/font.frag.inc | 37 | ||||
-rw-r--r-- | pacc/glsl/key.frag | 12 | ||||
-rw-r--r-- | pacc/glsl/key.frag.inc | 32 | ||||
-rw-r--r-- | pacc/pacc-gl.c | 31 |
24 files changed, 208 insertions, 196 deletions
diff --git a/pacc/glsl/Makefile b/pacc/glsl/Makefile index 36aace4..a8c0bf9 100644 --- a/pacc/glsl/Makefile +++ b/pacc/glsl/Makefile @@ -1,12 +1,18 @@ VSHADERS:=blit.vert -FSHADERS:=copy.frag color.frag color_trans.frag key.frag fill.frag font.frag +FSHADERS:=copy.frag color.frag color_trans.frag DSHEADER:=dsheader +DS3HEADER:=ds3header ESHEADER:=esheader -INCS:=$(addsuffix .inc,$(VSHADERS) $(FSHADERS) $(DSHEADER) $(ESHEADER)) +ES3HEADER:=es3header +INCS:=$(addsuffix .inc,$(VSHADERS) $(FSHADERS) $(DSHEADER) $(DS3HEADER) $(ESHEADER) $(ES3HEADER)) SHADERS2:=$(addsuffix .ds.vert,$(basename $(VSHADERS))) +SHADERS2:=$(addsuffix .ds3.vert,$(basename $(VSHADERS))) SHADERS2+=$(addsuffix .es.vert,$(basename $(VSHADERS))) +SHADERS2+=$(addsuffix .es3.vert,$(basename $(VSHADERS))) SHADERS2+=$(addsuffix .ds.frag,$(basename $(FSHADERS))) +SHADERS2+=$(addsuffix .ds3.frag,$(basename $(FSHADERS))) SHADERS2+=$(addsuffix .es.frag,$(basename $(FSHADERS))) +SHADERS2+=$(addsuffix .es3.frag,$(basename $(FSHADERS))) VALS:=$(addsuffix .vald,$(SHADERS2)) VALIDATOR:=glslangValidator VFLAGS:= @@ -21,12 +27,24 @@ val: $(VALS) %.es.frag: %.frag cat $(ESHEADER) $< > $@ +%.es3.vert: %.vert + cat $(ES3HEADER) $< > $@ + +%.es3.frag: %.frag + cat $(ES3HEADER) $< > $@ + %.ds.vert: %.vert cat $(DSHEADER) $< > $@ %.ds.frag: %.frag cat $(DSHEADER) $< > $@ +%.ds3.vert: %.vert + cat $(DS3HEADER) $< > $@ + +%.ds3.frag: %.frag + cat $(DS3HEADER) $< > $@ + %.vald: % $(VALIDATOR) $(VFLAGS) $< diff --git a/pacc/glsl/blit.vert b/pacc/glsl/blit.vert index 4232a8d..15f0b6e 100644 --- a/pacc/glsl/blit.vert +++ b/pacc/glsl/blit.vert @@ -1,5 +1,5 @@ -attribute vec4 coord; -varying vec2 texcoord; +VERT_IN vec4 coord; +VERT_OUT vec2 texcoord; void main(void) { gl_Position = vec4(coord.xy, 0.0, 1.0); texcoord = coord.zw; diff --git a/pacc/glsl/blit.vert.inc b/pacc/glsl/blit.vert.inc index 34691a9..2406cc4 100644 --- a/pacc/glsl/blit.vert.inc +++ b/pacc/glsl/blit.vert.inc @@ -1,14 +1,14 @@ static const uint8_t blit_vert[] = { - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x65, - 0x63, 0x34, 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x76, 0x61, - 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, - 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, - 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x30, 0x2e, - 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x74, - 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x3d, 0x20, 0x63, 0x6f, - 0x6f, 0x72, 0x64, 0x2e, 0x7a, 0x77, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00 + 0x56, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x20, 0x76, 0x65, 0x63, 0x34, + 0x20, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x56, 0x45, 0x52, 0x54, + 0x5f, 0x4f, 0x55, 0x54, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x76, 0x6f, 0x69, 0x64, + 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x50, 0x6f, 0x73, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, 0x34, 0x28, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x79, 0x2c, 0x20, 0x30, 0x2e, 0x30, + 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, 0x20, 0x74, 0x65, + 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x2e, 0x7a, 0x77, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00 }; diff --git a/pacc/glsl/color.frag b/pacc/glsl/color.frag index d03bee5..d4fd702 100644 --- a/pacc/glsl/color.frag +++ b/pacc/glsl/color.frag @@ -1,13 +1,14 @@ uniform sampler2D palette; uniform sampler2D tex; -varying mediump vec2 texcoord; +FRAG_IN mediump vec2 texcoord; uniform lowp float color; +FRAGCOLOR_DECL void main(void) { - lowp float index = texture2D(tex, texcoord).x; + lowp float index = TEXTURE2D(tex, texcoord).x; if (index > (0.5/255.0)) { index = color; } else { index = 0.5 / 256.0; } - gl_FragColor = texture2D(palette, vec2(index, 0.0)); + FRAGCOLOR = TEXTURE2D(palette, vec2(index, 0.0)); } diff --git a/pacc/glsl/color.frag.inc b/pacc/glsl/color.frag.inc index 8ea77ef..ee336b5 100644 --- a/pacc/glsl/color.frag.inc +++ b/pacc/glsl/color.frag.inc @@ -3,26 +3,27 @@ static const uint8_t color_frag[] = { 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, - 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, + 0x3b, 0x0a, 0x46, 0x52, 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x76, - 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, - 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, - 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, - 0x64, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3e, 0x20, 0x28, 0x30, 0x2e, 0x35, - 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x63, - 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x20, 0x65, 0x6c, - 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2f, 0x20, 0x32, - 0x35, 0x36, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, - 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, - 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, + 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x46, + 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x43, + 0x4c, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, + 0x76, 0x6f, 0x69, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, + 0x77, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x20, 0x3d, 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, + 0x32, 0x44, 0x28, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3e, 0x20, 0x28, + 0x30, 0x2e, 0x35, 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x29, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, + 0x3d, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x7d, + 0x20, 0x65, 0x6c, 0x73, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x35, 0x20, + 0x2f, 0x20, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x7d, + 0x0a, 0x20, 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, + 0x20, 0x3d, 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x32, 0x44, 0x28, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 diff --git a/pacc/glsl/color_trans.frag b/pacc/glsl/color_trans.frag index ef742a4..1a2e28d 100644 --- a/pacc/glsl/color_trans.frag +++ b/pacc/glsl/color_trans.frag @@ -1,11 +1,12 @@ uniform sampler2D palette; uniform sampler2D tex; -varying mediump vec2 texcoord; +FRAG_IN mediump vec2 texcoord; uniform lowp float color; +FRAGCOLOR_DECL void main(void) { - lowp float index = texture2D(tex, texcoord).x; + lowp float index = TEXTURE2D(tex, texcoord).x; if (index < (0.5/255.0)) { discard; } - gl_FragColor = texture2D(palette, vec2(color, 0.0)); + FRAGCOLOR = TEXTURE2D(palette, vec2(color, 0.0)); } diff --git a/pacc/glsl/color_trans.frag.inc b/pacc/glsl/color_trans.frag.inc index f49404c..6d336bb 100644 --- a/pacc/glsl/color_trans.frag.inc +++ b/pacc/glsl/color_trans.frag.inc @@ -3,23 +3,24 @@ static const uint8_t color_trans_frag[] = { 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, - 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, + 0x3b, 0x0a, 0x46, 0x52, 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x76, - 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, - 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, - 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, - 0x64, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3c, 0x20, 0x28, 0x30, 0x2e, 0x35, - 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x29, 0x29, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, 0x64, 0x3b, 0x0a, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, - 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, - 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x70, 0x61, 0x6c, 0x65, 0x74, + 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x46, + 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x43, + 0x4c, 0x0a, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, + 0x76, 0x6f, 0x69, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, + 0x77, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, + 0x65, 0x78, 0x20, 0x3d, 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, + 0x32, 0x44, 0x28, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, + 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x69, + 0x66, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3c, 0x20, 0x28, + 0x30, 0x2e, 0x35, 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x29, 0x29, 0x20, + 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, + 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x46, 0x52, 0x41, + 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x20, 0x3d, 0x20, 0x54, 0x45, 0x58, + 0x54, 0x55, 0x52, 0x45, 0x32, 0x44, 0x28, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 diff --git a/pacc/glsl/copy.frag b/pacc/glsl/copy.frag index a77ad91..21016ce 100644 --- a/pacc/glsl/copy.frag +++ b/pacc/glsl/copy.frag @@ -1,9 +1,10 @@ uniform sampler2D palette; uniform sampler2D tex; -varying mediump vec2 texcoord; +FRAG_IN mediump vec2 texcoord; +FRAGCOLOR_DECL void main(void) { - lowp float index = texture2D(tex, texcoord).x; + lowp float index = TEXTURE2D(tex, texcoord).x; lowp float color = (index * 255.0 + 0.5) / 256.0; - gl_FragColor = texture2D(palette, vec2(color, 0.0)); + FRAGCOLOR = TEXTURE2D(palette, vec2(color, 0.0)); } diff --git a/pacc/glsl/copy.frag.inc b/pacc/glsl/copy.frag.inc index fa3f388..d42376d 100644 --- a/pacc/glsl/copy.frag.inc +++ b/pacc/glsl/copy.frag.inc @@ -3,21 +3,22 @@ static const uint8_t copy_frag[] = { 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, - 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, + 0x3b, 0x0a, 0x46, 0x52, 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, - 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x76, 0x6f, 0x69, - 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, 0x29, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x74, 0x65, - 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x29, - 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, - 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2a, 0x20, 0x32, 0x35, - 0x35, 0x2e, 0x30, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x2f, - 0x20, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x67, 0x6c, - 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, - 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x70, + 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x46, 0x52, 0x41, + 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x0a, + 0x76, 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, + 0x69, 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x77, 0x70, + 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x20, 0x3d, 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x32, 0x44, + 0x28, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, + 0x72, 0x64, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x77, + 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x20, 0x3d, 0x20, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x2a, + 0x20, 0x32, 0x35, 0x35, 0x2e, 0x30, 0x20, 0x2b, 0x20, 0x30, 0x2e, 0x35, + 0x29, 0x20, 0x2f, 0x20, 0x32, 0x35, 0x36, 0x2e, 0x30, 0x3b, 0x0a, 0x20, + 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x20, 0x3d, + 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x32, 0x44, 0x28, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x00 diff --git a/pacc/glsl/ds3header b/pacc/glsl/ds3header new file mode 100644 index 0000000..6c3571e --- /dev/null +++ b/pacc/glsl/ds3header @@ -0,0 +1,7 @@ +#version 150 core +#define VERT_IN in +#define VERT_OUT out +#define FRAG_IN in +#define TEXTURE2D texture +#define FRAGCOLOR_DECL out lowp vec4 _fragcolor; +#define FRAGCOLOR _fragcolor diff --git a/pacc/glsl/ds3header.inc b/pacc/glsl/ds3header.inc new file mode 100644 index 0000000..32c5b16 --- /dev/null +++ b/pacc/glsl/ds3header.inc @@ -0,0 +1,19 @@ +static const uint8_t ds3header[] = { + 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x35, 0x30, + 0x20, 0x63, 0x6f, 0x72, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x56, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x20, 0x69, 0x6e, + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x45, 0x52, + 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x20, 0x6f, 0x75, 0x74, 0x0a, 0x23, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x5f, 0x49, + 0x4e, 0x20, 0x69, 0x6e, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x32, 0x44, 0x20, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, + 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6c, 0x6f, + 0x77, 0x70, 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x66, 0x72, 0x61, + 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, + 0x52, 0x20, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x0a, 0x00 +}; + diff --git a/pacc/glsl/dsheader b/pacc/glsl/dsheader index 13e65b7..30494f2 100644 --- a/pacc/glsl/dsheader +++ b/pacc/glsl/dsheader @@ -2,4 +2,9 @@ #define lowp #define mediump #define highp - +#define VERT_IN attribute +#define VERT_OUT varying +#define FRAG_IN varying +#define TEXTURE2D texture2D +#define FRAGCOLOR_DECL +#define FRAGCOLOR gl_FragColor diff --git a/pacc/glsl/dsheader.inc b/pacc/glsl/dsheader.inc index b742cec..d7b838d 100644 --- a/pacc/glsl/dsheader.inc +++ b/pacc/glsl/dsheader.inc @@ -3,6 +3,19 @@ static const uint8_t dsheader[] = { 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6d, 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x0a, 0x0a, 0x00 + 0x65, 0x20, 0x68, 0x69, 0x67, 0x68, 0x70, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x56, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x20, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x0a, 0x23, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x45, 0x52, 0x54, 0x5f, 0x4f, + 0x55, 0x54, 0x20, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x5f, + 0x49, 0x4e, 0x20, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x54, 0x45, 0x58, 0x54, 0x55, + 0x52, 0x45, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, + 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, + 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x44, 0x45, 0x43, + 0x4c, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x46, 0x52, + 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x20, 0x67, 0x6c, 0x5f, 0x46, + 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x0a, 0x00 }; diff --git a/pacc/glsl/es3header b/pacc/glsl/es3header new file mode 100644 index 0000000..5bec980 --- /dev/null +++ b/pacc/glsl/es3header @@ -0,0 +1,7 @@ +#version 300 es +#define VERT_IN in +#define VERT_OUT out +#define FRAG_IN in +#define TEXTURE2D texture +#define FRAGCOLOR_DECL out lowp vec4 _fragcolor; +#define FRAGCOLOR _fragcolor diff --git a/pacc/glsl/es3header.inc b/pacc/glsl/es3header.inc new file mode 100644 index 0000000..42d8e00 --- /dev/null +++ b/pacc/glsl/es3header.inc @@ -0,0 +1,18 @@ +static const uint8_t es3header[] = { + 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x30, 0x30, + 0x20, 0x65, 0x73, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x56, 0x45, 0x52, 0x54, 0x5f, 0x49, 0x4e, 0x20, 0x69, 0x6e, 0x0a, 0x23, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x45, 0x52, 0x54, 0x5f, + 0x4f, 0x55, 0x54, 0x20, 0x6f, 0x75, 0x74, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x20, + 0x69, 0x6e, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x54, + 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x72, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x5f, 0x44, + 0x45, 0x43, 0x4c, 0x20, 0x6f, 0x75, 0x74, 0x20, 0x6c, 0x6f, 0x77, 0x70, + 0x20, 0x76, 0x65, 0x63, 0x34, 0x20, 0x5f, 0x66, 0x72, 0x61, 0x67, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, 0x20, + 0x5f, 0x66, 0x72, 0x61, 0x67, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x0a, 0x00 +}; + diff --git a/pacc/glsl/esheader b/pacc/glsl/esheader index 43b26bc..76fdecb 100644 --- a/pacc/glsl/esheader +++ b/pacc/glsl/esheader @@ -1,2 +1,7 @@ #version 100 - +#define VERT_IN attribute +#define VERT_OUT varying +#define FRAG_IN varying +#define TEXTURE2D texture2D +#define FRAGCOLOR_DECL +#define FRAGCOLOR gl_FragColor diff --git a/pacc/glsl/esheader.inc b/pacc/glsl/esheader.inc index 3ca61f1..5e0c807 100644 --- a/pacc/glsl/esheader.inc +++ b/pacc/glsl/esheader.inc @@ -1,5 +1,18 @@ static const uint8_t esheader[] = { 0x23, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x30, 0x30, - 0x0a, 0x0a, 0x00 + 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, 0x45, 0x52, + 0x54, 0x5f, 0x49, 0x4e, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x56, + 0x45, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x20, 0x76, 0x61, 0x72, 0x79, + 0x69, 0x6e, 0x67, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x46, 0x52, 0x41, 0x47, 0x5f, 0x49, 0x4e, 0x20, 0x76, 0x61, 0x72, 0x79, + 0x69, 0x6e, 0x67, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, + 0x54, 0x45, 0x58, 0x54, 0x55, 0x52, 0x45, 0x32, 0x44, 0x20, 0x74, 0x65, + 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x0a, 0x23, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, + 0x52, 0x5f, 0x44, 0x45, 0x43, 0x4c, 0x0a, 0x23, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x20, 0x46, 0x52, 0x41, 0x47, 0x43, 0x4f, 0x4c, 0x4f, 0x52, + 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, + 0x72, 0x0a, 0x00 }; diff --git a/pacc/glsl/fill.frag b/pacc/glsl/fill.frag deleted file mode 100644 index 010b5dc..0000000 --- a/pacc/glsl/fill.frag +++ /dev/null @@ -1,5 +0,0 @@ -uniform sampler2D palette; -varying mediump vec2 texcoord; -void main(void) { - gl_FragColor = texture2D(palette, vec2(texcoord.x, 0.0)); -} diff --git a/pacc/glsl/fill.frag.inc b/pacc/glsl/fill.frag.inc deleted file mode 100644 index 8065199..0000000 --- a/pacc/glsl/fill.frag.inc +++ /dev/null @@ -1,15 +0,0 @@ -static const uint8_t fill_frag[] = { - 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, - 0x65, 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6d, - 0x65, 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, - 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x76, 0x6f, - 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, - 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, - 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x70, 0x61, 0x6c, 0x65, 0x74, - 0x74, 0x65, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, 0x74, 0x65, 0x78, - 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x2e, 0x78, 0x2c, 0x20, 0x30, 0x2e, 0x30, - 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 -}; - diff --git a/pacc/glsl/font.frag b/pacc/glsl/font.frag deleted file mode 100644 index 8beb0a7..0000000 --- a/pacc/glsl/font.frag +++ /dev/null @@ -1,15 +0,0 @@ -uniform sampler2D palette; -uniform sampler2D tex; -varying mediump vec2 texcoord; -uniform lowp float bg; -uniform lowp float color; -void main(void) { - gl_FragColor = vec4(1.0, 0.0, 1.0, 1.0); - lowp float pixel = texture2D(tex, texcoord).x; - lowp float index = color; - if (pixel < 0.5) { - if (bg < 0.5) discard; - index = 0.5 / 256.0; - } - gl_FragColor = texture2D(palette, vec2(index, 0.0)); -} diff --git a/pacc/glsl/font.frag.inc b/pacc/glsl/font.frag.inc deleted file mode 100644 index 27d143d..0000000 --- a/pacc/glsl/font.frag.inc +++ /dev/null @@ -1,37 +0,0 @@ -static const uint8_t font_frag[] = { - 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, - 0x65, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, - 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, - 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, - 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x75, 0x6e, 0x69, - 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x62, 0x67, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, - 0x6f, 0x72, 0x6d, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x76, 0x6f, - 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, 0x64, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, 0x46, 0x72, 0x61, - 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x76, 0x65, 0x63, - 0x34, 0x28, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x2c, 0x20, - 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x31, 0x2e, 0x30, 0x29, 0x3b, 0x0a, 0x20, - 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x70, 0x69, 0x78, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, - 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, - 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x29, 0x2e, 0x78, 0x3b, 0x0a, - 0x20, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3d, 0x20, 0x63, 0x6f, 0x6c, - 0x6f, 0x72, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x70, 0x69, - 0x78, 0x65, 0x6c, 0x20, 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, 0x62, 0x67, 0x20, - 0x3c, 0x20, 0x30, 0x2e, 0x35, 0x29, 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, - 0x72, 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x20, 0x3d, 0x20, 0x30, 0x2e, 0x35, 0x20, 0x2f, 0x20, 0x32, 0x35, - 0x36, 0x2e, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x67, - 0x6c, 0x5f, 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, - 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, - 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, 0x65, 0x2c, 0x20, 0x76, 0x65, 0x63, - 0x32, 0x28, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x2c, 0x20, 0x30, 0x2e, 0x30, - 0x29, 0x29, 0x3b, 0x0a, 0x7d, 0x0a, 0x00 -}; - diff --git a/pacc/glsl/key.frag b/pacc/glsl/key.frag deleted file mode 100644 index d6bf7e1..0000000 --- a/pacc/glsl/key.frag +++ /dev/null @@ -1,12 +0,0 @@ -uniform sampler2D palette; -uniform sampler2D tex; -varying mediump vec2 texcoord; -uniform lowp float key; -uniform lowp float color; -void main(void) { - lowp float index = texture2D(tex, texcoord).x; - if (index < (key + (0.5/255.0)) || (key + (1.5/255.0)) < index) { - discard; - } - gl_FragColor = texture2D(palette, vec2(color, 0.0)); -} diff --git a/pacc/glsl/key.frag.inc b/pacc/glsl/key.frag.inc deleted file mode 100644 index 4a4a6c1..0000000 --- a/pacc/glsl/key.frag.inc +++ /dev/null @@ -1,32 +0,0 @@ -static const uint8_t key_frag[] = { - 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x70, 0x61, 0x6c, 0x65, 0x74, 0x74, - 0x65, 0x3b, 0x0a, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x73, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x32, 0x44, 0x20, 0x74, 0x65, 0x78, - 0x3b, 0x0a, 0x76, 0x61, 0x72, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, - 0x64, 0x69, 0x75, 0x6d, 0x70, 0x20, 0x76, 0x65, 0x63, 0x32, 0x20, 0x74, - 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, 0x64, 0x3b, 0x0a, 0x75, 0x6e, 0x69, - 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x3b, 0x0a, 0x75, 0x6e, 0x69, - 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x76, - 0x6f, 0x69, 0x64, 0x20, 0x6d, 0x61, 0x69, 0x6e, 0x28, 0x76, 0x6f, 0x69, - 0x64, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x6c, 0x6f, 0x77, 0x70, 0x20, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, - 0x3d, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, - 0x74, 0x65, 0x78, 0x2c, 0x20, 0x74, 0x65, 0x78, 0x63, 0x6f, 0x6f, 0x72, - 0x64, 0x29, 0x2e, 0x78, 0x3b, 0x0a, 0x20, 0x20, 0x69, 0x66, 0x20, 0x28, - 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x3c, 0x20, 0x28, 0x6b, 0x65, 0x79, - 0x20, 0x2b, 0x20, 0x28, 0x30, 0x2e, 0x35, 0x2f, 0x32, 0x35, 0x35, 0x2e, - 0x30, 0x29, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x28, 0x6b, 0x65, 0x79, 0x20, - 0x2b, 0x20, 0x28, 0x31, 0x2e, 0x35, 0x2f, 0x32, 0x35, 0x35, 0x2e, 0x30, - 0x29, 0x29, 0x20, 0x3c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x29, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x69, 0x73, 0x63, 0x61, 0x72, - 0x64, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x67, 0x6c, 0x5f, - 0x46, 0x72, 0x61, 0x67, 0x43, 0x6f, 0x6c, 0x6f, 0x72, 0x20, 0x3d, 0x20, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x72, 0x65, 0x32, 0x44, 0x28, 0x70, 0x61, - 0x6c, 0x65, 0x74, 0x74, 0x65, 0x2c, 0x20, 0x76, 0x65, 0x63, 0x32, 0x28, - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x30, 0x2e, 0x30, 0x29, 0x29, - 0x3b, 0x0a, 0x7d, 0x0a, 0x00 -}; - diff --git a/pacc/pacc-gl.c b/pacc/pacc-gl.c index e6ed0a1..71435de 100644 --- a/pacc/pacc-gl.c +++ b/pacc/pacc-gl.c @@ -13,21 +13,30 @@ /* OpenGL versions: - OpenGL 2.0 - OpenGL 3.2 core (#define PACC_GL_3) - OpenGL ES 2.0 (#define PACC_GL_ES) - OpenGL ES 3.0 (#define PACC_GL_ES, #define PACC_GL_3) - - Shader languages: - GLSL 1.10 / GLSL ES 1.00 + OpenGL 2.0 / GLSL 1.10 + OpenGL 3.2 core / GLSL 1.50 core (#define PACC_GL_3) + OpenGL ES 2.0 / GLSL ES 1.00 (#define PACC_GL_ES) + OpenGL ES 3.0 / GLSL ES 3.00 (#define PACC_GL_ES, #define PACC_GL_3) */ #ifdef PACC_GL_ES + +#ifdef PACC_GL_3 +#include "glsl/es3header.inc" +#else #include "glsl/esheader.inc" +#endif + +#else + +#ifdef PACC_GL_3 +#include "glsl/ds3header.inc" #else #include "glsl/dsheader.inc" #endif +#endif + #include "glsl/blit.vert.inc" #include "glsl/copy.frag.inc" #include "glsl/color.frag.inc" @@ -89,10 +98,18 @@ static GLuint compile_shader(const uint8_t *ss, GLenum type) { if (!s) goto err; const char *sourcelist[2] = { #ifdef PACC_GL_ES +#ifdef PACC_GL_3 + (const char *)es3header, +#else (const char *)esheader, +#endif +#else +#ifdef PACC_GL_3 + (const char *)ds3header, #else (const char *)dsheader, #endif +#endif (const char *)ss }; glShaderSource(s, 2, sourcelist, 0); |