====== Flashing an Object White with Params ====== ===== (Using a shader that accepts parameters) ===== Useful for indicating hits on an object, for example in shoot-em-ups. ===== Assets ===== {{examples:shaders:ship.png|}} ===== Code ===== orxObject_CreateFromConfig("Object"); ===== Config ===== [Object] Graphic = Graphic ShaderList = WhiteShader [Graphic] Texture = ship.png [WhiteShader] ParamList = texture # objectTime # flashSpeed # maxFlashes objectTime = time maxFlashes = 4 ;how many times to flash flashSpeed = 8 ;how fast between flashes Code = " void main() { vec2 p = gl_TexCoord[0].xy; vec4 textureCol = texture2D(texture, p); float t = mod(objectTime*flashSpeed, 1); float flashCount = abs(objectTime*flashSpeed); if (t < 0.5 && flashCount < maxFlashes){ gl_FragColor.r = 1.0; gl_FragColor.g = 1.0; gl_FragColor.b = 1.0; gl_FragColor.a = textureCol.a; } else { gl_FragColor.rgb = textureCol.rgb; gl_FragColor.a = textureCol.a; } }" ===== Result ===== {{ examples:shaders:ship-white.png |}}