tibia-client/modules/game_shaders/shaders.lua

64 lines
1.8 KiB
Lua
Raw Normal View History

HOTKEY = 'Ctrl+X'
MAP_SHADERS = {
{ name = 'Default', frag = 'shaders/default.frag' },
{ name = 'Bloom', frag = 'shaders/bloom.frag'},
{ name = 'Sepia', frag ='shaders/sepia.frag' },
{ name = 'Grayscale', frag ='shaders/grayscale.frag' },
{ name = 'Pulse', frag = 'shaders/pulse.frag' },
{ name = 'Old Tv', frag = 'shaders/oldtv.frag' },
{ name = 'Fog', frag = 'shaders/fog.frag', tex1 = 'images/clouds.png' },
{ name = 'Party', frag = 'shaders/party.frag' },
{ name = 'Radial Blur', frag ='shaders/radialblur.frag' },
{ name = 'Zomg', frag ='shaders/zomg.frag' },
{ name = 'Heat', frag ='shaders/heat.frag' },
{ name = 'Noise', frag ='shaders/noise.frag' },
}
ITEM_SHADERS = {
{ name = 'Fake 3D', vert = 'shaders/fake3d.vert' }
2012-06-14 20:26:55 +02:00
}
shadersPanel = nil
2012-06-14 20:26:55 +02:00
function init()
2012-06-26 00:13:30 +02:00
g_ui.importStyle('shaders.otui')
2012-06-14 20:26:55 +02:00
g_keyboard.bindKeyDown(HOTKEY, toggle)
2012-06-14 20:26:55 +02:00
shadersPanel = g_ui.createWidget('ShadersPanel', modules.game_interface.getMapPanel())
2012-06-14 20:26:55 +02:00
shadersPanel:hide()
local mapComboBox = shadersPanel:getChildById('mapComboBox')
mapComboBox.onOptionChange = function(combobox, option)
local map = modules.game_interface.getMapPanel()
2012-06-14 20:26:55 +02:00
map:setMapShader(g_shaders.getShader(option))
end
2012-06-19 01:58:56 +02:00
if not g_graphics.canUseShaders() then return end
for _i,opts in pairs(MAP_SHADERS) do
local shader = g_shaders.createFragmentShader(opts.name, opts.frag)
2012-06-14 20:26:55 +02:00
if opts.tex1 then
shader:addMultiTexture(opts.tex1)
2012-06-14 20:26:55 +02:00
end
if opts.tex2 then
shader:addMultiTexture(opts.tex2)
end
mapComboBox:addOption(opts.name)
2012-06-14 20:26:55 +02:00
end
local map = modules.game_interface.getMapPanel()
2012-06-14 20:26:55 +02:00
map:setMapShader(g_shaders.getShader('Default'))
end
function terminate()
2012-06-26 00:13:30 +02:00
g_keyboard.unbindKeyDown(HOTKEY)
2012-06-14 20:26:55 +02:00
shadersPanel:destroy()
end
function toggle()
2012-06-14 20:26:55 +02:00
shadersPanel:setVisible(not shadersPanel:isVisible())
end