contributed simple shader example (#973)
Contributed simple shader example
This commit is contained in:
parent
acedf4a0d5
commit
a679b0ccc0
6 changed files with 197 additions and 0 deletions
21
examples/shaders/resources/shaders/glsl330/mask.fs
Normal file
21
examples/shaders/resources/shaders/glsl330/mask.fs
Normal file
|
@ -0,0 +1,21 @@
|
|||
#version 330
|
||||
|
||||
// Input vertex attributes (from vertex shader)
|
||||
in vec2 fragTexCoord;
|
||||
|
||||
// Input uniform values
|
||||
uniform sampler2D texture0;
|
||||
uniform sampler2D mask;
|
||||
uniform int frame;
|
||||
|
||||
// Output fragment color
|
||||
out vec4 finalColor;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 maskColour = texture(mask, fragTexCoord+vec2(sin(-frame/150.0)/10.0,cos(-frame/170.0)/10.0));
|
||||
if (maskColour.r < 0.25) discard;
|
||||
vec4 texelColor = texture(texture0, fragTexCoord+vec2(sin(frame/90.0)/8.0,cos(frame/60.0)/8.0));
|
||||
|
||||
finalColor = texelColor * maskColour;
|
||||
}
|
21
examples/shaders/resources/shaders/glsl330/mask.vs
Normal file
21
examples/shaders/resources/shaders/glsl330/mask.vs
Normal file
|
@ -0,0 +1,21 @@
|
|||
#version 330
|
||||
|
||||
// Input vertex attributes
|
||||
in vec3 vertexPosition;
|
||||
in vec2 vertexTexCoord;
|
||||
|
||||
// Input uniform values
|
||||
uniform mat4 mvp;
|
||||
uniform mat4 matModel;
|
||||
|
||||
// Output vertex attributes (to fragment shader)
|
||||
out vec2 fragTexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
// Send vertex attributes to fragment shader
|
||||
fragTexCoord = vertexTexCoord;
|
||||
|
||||
// Calculate final vertex position
|
||||
gl_Position = mvp*vec4(vertexPosition, 1.0);
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue