Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Libretro Assets
glsl-shaders
Commits
47a6e6f4
Commit
47a6e6f4
authored
Feb 24, 2017
by
hizzlekizzle
Committed by
GitHub
Feb 24, 2017
Browse files
Create slang-conversion-template.glsl
parent
6c9c2519
Changes
1
Hide whitespace changes
Inline
Side-by-side
slang-conversion-template.glsl
0 → 100644
View file @
47a6e6f4
// Compatibility #ifdefs needed for parameters
#ifdef GL_ES
#define COMPAT_PRECISION mediump
#else
#define COMPAT_PRECISION
#endif
// Parameter lines go here:
#pragma parameter RETRO_PIXEL_SIZE "Retro Pixel Size" 0.84 0.0 1.0 0.01
#ifdef PARAMETER_UNIFORM
// All parameter floats need to have COMPAT_PRECISION in front of them
uniform
COMPAT_PRECISION
float
RETRO_PIXEL_SIZE
;
#else
#define RETRO_PIXEL_SIZE 0.84
#endif
#if defined(VERTEX)
#if __VERSION__ >= 130
#define COMPAT_VARYING out
#define COMPAT_ATTRIBUTE in
#define COMPAT_TEXTURE texture
#else
#define COMPAT_VARYING varying
#define COMPAT_ATTRIBUTE attribute
#define COMPAT_TEXTURE texture2D
#endif
#ifdef GL_ES
#define COMPAT_PRECISION mediump
#else
#define COMPAT_PRECISION
#endif
COMPAT_ATTRIBUTE
vec4
VertexCoord
;
COMPAT_ATTRIBUTE
vec4
COLOR
;
COMPAT_ATTRIBUTE
vec4
TexCoord
;
COMPAT_VARYING
vec4
COL0
;
COMPAT_VARYING
vec4
TEX0
;
// out variables go here as COMPAT_VARYING whatever
vec4
_oPosition1
;
uniform
mat4
MVPMatrix
;
uniform
int
FrameDirection
;
uniform
int
FrameCount
;
uniform
COMPAT_PRECISION
vec2
OutputSize
;
uniform
COMPAT_PRECISION
vec2
TextureSize
;
uniform
COMPAT_PRECISION
vec2
InputSize
;
void
main
()
{
gl_Position
=
MVPMatrix
*
VertexCoord
;
COL0
=
COLOR
;
TEX0
.
xy
=
TexCoord
.
xy
;
// Paste vertex contents here:
}
#elif defined(FRAGMENT)
#if __VERSION__ >= 130
#define COMPAT_VARYING in
#define COMPAT_TEXTURE texture
out
vec4
FragColor
;
#else
#define COMPAT_VARYING varying
#define FragColor gl_FragColor
#define COMPAT_TEXTURE texture2D
#endif
#ifdef GL_ES
#ifdef GL_FRAGMENT_PRECISION_HIGH
precision
highp
float
;
#else
precision
mediump
float
;
#endif
#define COMPAT_PRECISION mediump
#else
#define COMPAT_PRECISION
#endif
uniform
int
FrameDirection
;
uniform
int
FrameCount
;
uniform
COMPAT_PRECISION
vec2
OutputSize
;
uniform
COMPAT_PRECISION
vec2
TextureSize
;
uniform
COMPAT_PRECISION
vec2
InputSize
;
uniform
sampler2D
Texture
;
COMPAT_VARYING
vec4
TEX0
;
// in variables go here as COMPAT_VARYING whatever
// compatibility #defines
#define Source Texture
#define vTexCoord TEX0.xy
#define texture(c, d) COMPAT_TEXTURE(c, d)
#define SourceSize vec4(TextureSize, 1.0 / TextureSize) //either TextureSize or InputSize
#define OutputSize vec4(OutputSize, 1.0 / OutputSize)
// delete all 'params.' or 'registers.' or whatever in the fragment
void
main
()
{
// Paste fragment contents here:
FragColor
=
texture
(
Source
,
vTexCoord
);
}
#endif
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment