- [NEW] jshader (shader fan cosa rara en fullscreen)
- [NEW] jfile convertit - [NEW] jinput te en compte el ratio per a les coordenades en pantalla (falla en fullscreen, falta afegir offset) - [NEW] F1 escala avall la finestra - [NEW] F2 escala amunt la finestra - [NEW] F3 togglecha la pantalla completa - [NEW] F4 togglecha el shader
This commit is contained in:
38
data/gbc.glsl
Normal file
38
data/gbc.glsl
Normal file
@@ -0,0 +1,38 @@
|
||||
varying vec2 tex_coord;
|
||||
varying vec2 pix_coord;
|
||||
|
||||
#if defined(VERTEX)
|
||||
|
||||
void main()
|
||||
{
|
||||
pix_coord = vec2(gl_MultiTexCoord0.x, 1.0-gl_MultiTexCoord0.y)*1.0001;
|
||||
tex_coord = vec2((gl_Vertex.x+1.0)*0.5, (-gl_Vertex.y+1.0)*0.5);
|
||||
vec4 pos = vec4(gl_Vertex.x * 2.0, gl_Vertex.y * 2.0, gl_Vertex.z, gl_Vertex.w);
|
||||
gl_Position = gl_Vertex; //(gl_Vertex*2)-vec3(1.0, 1.0, 1.0);//gl_ModelViewProjectionMatrix * gl_Vertex;
|
||||
}
|
||||
|
||||
#elif defined(FRAGMENT)
|
||||
|
||||
uniform sampler2D Texture;
|
||||
|
||||
void main()
|
||||
{
|
||||
float x = sign(pix_coord.x)*floor(abs(pix_coord.x)+0.5);
|
||||
float y = sign(pix_coord.y)*floor(abs(pix_coord.y)+0.5);
|
||||
float column = mod(x,4.0);
|
||||
float row = mod(y,4.0);
|
||||
vec4 color = texture2D(Texture, tex_coord);
|
||||
vec4 newcolor;
|
||||
if ((column == 0.0) || (row == 0.0) ) {
|
||||
newcolor = color * vec4(0.4, 0.4, 0.4, 1.0);
|
||||
} else if ((column == 1.0) || (row == 1.0) ) {
|
||||
newcolor = color * vec4(0.6, 0.7, 0.8, 1.0);
|
||||
} else if ((column == 3.0) || (row == 3.0) ) {
|
||||
newcolor = color * vec4(0.8, 0.7, 0.6, 1.0);
|
||||
} else {
|
||||
newcolor = color;
|
||||
}
|
||||
gl_FragColor = newcolor;
|
||||
}
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user