
for some strange reason, the player moves essentially opposite of the tiles
here's my shader code:
Code: Select all
local underwater_pixelcode = [[
extern vec2 player;
float length(float x, float y){ return sqrt(x*x+y*y); }
vec4 effect(vec4 color, Image tex, vec2 texture_coords, vec2 screen_coords){
vec4 pixel = Texel(tex, texture_coords);
//wip code, just testing some things out, currently doesn't work
if(length(screen_coords.x-player.x,screen_coords.y-player.y)==32){
return vec4(0.5,0.5,0.5, 1.0) * pixel;
}else{
return vec4(1.0,1.0,1.0, 1.0) * pixel;
}
}
]]
local underwater_vertexcode = [[
extern float time;
vec4 position(mat4 transform_projection,vec4 vertex_position){
vertex_position.y += sin(vertex_position.x + time*2)*4;
return transform_projection * vertex_position;
}
]]
Code: Select all
function love.draw()
cam:draw(function(l,t,w,h)
if not editor.on then love.graphics.setShader(UWShader) end
UWShader:send("time",time)
UWShader:send("player",{player.x,player.y})
for layer=1,4 do
if layer == 2 then player:draw() end
drawTiles(layer)
end
love.graphics.setShader()
editor:draw()
end)
end