function init()
  -- add manually your shaders from /data/shaders

  -- map shaders
  g_shaders.createShader("map_default", "/shaders/map_default_vertex", "/shaders/map_default_fragment")  

  g_shaders.createShader("map_rainbow", "/shaders/map_rainbow_vertex", "/shaders/map_rainbow_fragment")
  g_shaders.addTexture("map_rainbow", "/images/shaders/rainbow.png")

  -- use modules.game_interface.gameMapPanel:setShader("map_rainbow") to set shader

  -- outfit shaders
  g_shaders.createOutfitShader("outfit_default", "/shaders/outfit_default_vertex", "/shaders/outfit_default_fragment")

  g_shaders.createOutfitShader("outfit_rainbow", "/shaders/outfit_rainbow_vertex", "/shaders/outfit_rainbow_fragment")
  g_shaders.addTexture("outfit_rainbow", "/images/shaders/rainbow.png")

  g_shaders.createOutfitShader("outfit_arcane_pulse", "/shaders/outfit_effect_vertex", "/shaders/outfit_arcane_pulse_fragment")

  -- Redemption outfit shaders exposed to administrators for selection.
  g_shaders.createOutfitShader("outfit_redemption_party", "/shaders/outfit_effect_vertex", "/shaders/outfit_redemption_party_fragment")
  g_shaders.createOutfitShader("outfit_redemption_jelly", "/shaders/outfit_effect_vertex", "/shaders/outfit_redemption_jelly_fragment")
  -- Automatic monster rarity marker. It is not exposed as a player cosmetic.
  g_shaders.createOutfitShader("outfit_repera_elite_outline", "/shaders/outfit_effect_vertex", "/shaders/outfit_redemption_outline_fragment")

  -- you can use creature:setOutfitShader("outfit_rainbow") to set shader

end

function terminate()
end


