e4s-game/gamedata/shaders/r2/effects_water.lua
2026-06-18 01:18:29 +03:00

47 lines
1.8 KiB
Lua

local tex_base = "water\\water_water"
local tex_nmap = "water\\water_normal"
local tex_dist = "water\\water_dudv"
local tex_env0 = "$user$sky0" -- "sky\\sky_8_cube"
local tex_env1 = "$user$sky1" -- "sky\\sky_8_cube"
local tex_leaves = "water\\water_foam"
function normal(shader, t_base, t_second, t_detail)
shader:begin("water_soft", "water_soft")
:sorting(2, false)
:blend(true, blend.srcalpha, blend.invsrcalpha)
:zb(true, false)
:distort(true)
:fog(true)
shader:sampler("s_base"):texture(tex_base)
shader:sampler("s_nmap"):texture(tex_nmap)
shader:sampler("s_env0"):texture(tex_env0):clamp()
shader:sampler("s_env1"):texture(tex_env1):clamp()
shader:sampler("s_position"):texture("$user$position"):f_none()
shader:sampler("s_leaves"):texture(tex_leaves):wrap():f_anisotropic()
end
function l_special(shader, t_base, t_second, t_detail)
shader:begin("waterd_soft", "waterd_soft")
:sorting(2, true)
:blend(true, blend.srcalpha, blend.invsrcalpha)
:zb(true, false)
:fog(false)
:distort(true)
shader:sampler("s_base"):texture(tex_base)
shader:sampler("s_distort"):texture(tex_dist)
shader:sampler("s_position"):texture("$user$position"):f_none()
end
--[[
function normal (shader, t_base, t_second, t_detail)
shader:begin ("waterd","waterd")
: sorting (2, true)
: blend (true,blend.srcalpha,blend.invsrcalpha)
: zb (true,false)
: fog (false)
: distort (true)
shader:sampler ("s_base") :texture (tex_base)
shader:sampler ("s_distort") :texture (tex_dist)
end
]]