annotate shaders/default.f.glsl @ 1977:f3cca4b3f17a

Allow use of NPOT textures as a config option. Useful for some mobile GPUs
author Michael Pavone <pavone@retrodev.com>
date Sat, 09 May 2020 21:15:33 -0700
parents fa9ae059e4d3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
488
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
2 uniform sampler2D textures[2];
1977
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
3 uniform mediump vec2 texsize;
488
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
4
1658
fa9ae059e4d3 Added support for GLES in addition to desktop GL
Mike Pavone <pavone@retrodev.com>
parents: 1426
diff changeset
5 varying mediump vec2 texcoord;
488
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
6
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
7 void main()
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 {
1977
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
9 mediump vec2 modifiedCoord0 = vec2(texcoord.x, (floor(texcoord.y * texsize.y + 0.25) + 0.5)/texsize.y);
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
10 mediump vec2 modifiedCoord1 = vec2(texcoord.x, (floor(texcoord.y * texsize.y - 0.25) + 0.5)/texsize.y);
489
e97b80e3bd76 Support interlace mode with OpenGL backend
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
11 gl_FragColor = mix(
1426
957325c990d5 Fix texture coordinate offsets in default shader so things look right with really high resolutions and weird multiples of native
Michael Pavone <pavone@retrodev.com>
parents: 1406
diff changeset
12 texture2D(textures[1], modifiedCoord1),
957325c990d5 Fix texture coordinate offsets in default shader so things look right with really high resolutions and weird multiples of native
Michael Pavone <pavone@retrodev.com>
parents: 1406
diff changeset
13 texture2D(textures[0], modifiedCoord0),
1977
f3cca4b3f17a Allow use of NPOT textures as a config option. Useful for some mobile GPUs
Michael Pavone <pavone@retrodev.com>
parents: 1658
diff changeset
14 (sin(texcoord.y * texsize.y * 6.283185307) + 1.0) * 0.5
489
e97b80e3bd76 Support interlace mode with OpenGL backend
Mike Pavone <pavone@retrodev.com>
parents: 488
diff changeset
15 );
488
32f053ad9b02 Basic OpenGL rendering is working
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
16 }