mirror of
https://github.com/raysan5/raylib.git
synced 2025-12-25 10:22:33 -05:00
REXM: Updated some examples inconsistencies
This commit is contained in:
14
examples/others/resources/shaders/glsl120/point_particle.fs
Normal file
14
examples/others/resources/shaders/glsl120/point_particle.fs
Normal file
@ -0,0 +1,14 @@
|
||||
#version 120
|
||||
|
||||
// Input uniform values
|
||||
uniform vec4 color;
|
||||
|
||||
// NOTE: Add your custom variables here
|
||||
|
||||
void main()
|
||||
{
|
||||
// Each point is drawn as a screen space square of gl_PointSize size. gl_PointCoord contains where we are inside of
|
||||
// it. (0, 0) is the top left, (1, 1) the bottom right corner
|
||||
// Draw each point as a colored circle with alpha 1.0 in the center and 0.0 at the outer edges
|
||||
gl_FragColor = vec4(color.rgb, color.a*(1.0 - length(gl_PointCoord.xy - vec2(0.5))*2.0));
|
||||
}
|
||||
24
examples/others/resources/shaders/glsl120/point_particle.vs
Normal file
24
examples/others/resources/shaders/glsl120/point_particle.vs
Normal file
@ -0,0 +1,24 @@
|
||||
#version 120
|
||||
|
||||
// Input vertex attributes
|
||||
attribute vec3 vertexPosition;
|
||||
|
||||
// Input uniform values
|
||||
uniform mat4 mvp;
|
||||
uniform float currentTime;
|
||||
|
||||
// NOTE: Add your custom variables here
|
||||
|
||||
void main()
|
||||
{
|
||||
// Unpack data from vertexPosition
|
||||
vec2 pos = vertexPosition.xy;
|
||||
float period = vertexPosition.z;
|
||||
|
||||
// Calculate final vertex position (jiggle it around a bit horizontally)
|
||||
pos += vec2(100.0, 0.0)*sin(period*currentTime);
|
||||
gl_Position = mvp*vec4(pos.x, pos.y, 0.0, 1.0);
|
||||
|
||||
// Calculate the screen space size of this particle (also vary it over time)
|
||||
gl_PointSize = 10.0 - 5.0*abs(sin(period*currentTime));
|
||||
}
|
||||
Reference in New Issue
Block a user