gamnit :: SmokeProgram :: defaultinit
# Graphics program to display particles slowly drifting upwards
class SmokeProgram
super ParticleProgram
redef fun vertex_shader_core do return """
vec4 c = center;
c.y += dt * 1.0;
c.x += dt * 0.1;
gl_Position = c * mvp;
gl_PointSize = scale / gl_Position.z * (pt+0.1);
if (pt < 0.1)
v_color *= pt / 0.1;
else
v_color *= 1.0 - pt*0.9;
"""
end
lib/gamnit/depth/particles.nit:317,1--334,3