Re: push - a resolution-handling library
Posted: Wed Feb 22, 2017 11:04 pm
Added stretched and highdpi flags. Also fixed some issues with :toGame().
Code: Select all
push:setupCanvas({
{ name = "canvas1", shader = myShader },
{ name = "canvas2" }
})
That's weird, it works well with kikito's gamera. I just need to set the draw range using camera:setWindow(gameWidth, gameHeight) - maybe there is something similar with HUMP?dizzykiwi3 wrote: ↑Thu Mar 30, 2017 4:59 am Hey, I'm having some issues using this library with HUMP's camera module. I'd love to be able to just add the push:start() and push:end() around my draw function, but it's not agreeing and scaling and translating well with anything that is within hump's camera. I don't know however if this is some unavoidable issues with using multiple pops and pushes, as I am a bit unfamiliar with how that works.
Hi there. Got this issue aswell. The black borders show up on the screen when I'm in wondowed mode. Switching windowed-fullscreen triggers the problem.dizzykiwi3 wrote: ↑Thu Mar 30, 2017 4:59 am Hey, I'm having some issues using this library with HUMP's camera module. I'd love to be able to just add the push:start() and push:end() around my draw function, but it's not agreeing and scaling and translating well with anything that is within hump's camera. I don't know however if this is some unavoidable issues with using multiple pops and pushes, as I am a bit unfamiliar with how that works.
I think you're looking for a camera library such as https://github.com/kikito/gamera. Or maybe I didn't understand your question at all. Either way just let me know
Code: Select all
/*
Plain (and obviously inaccurate) phosphor.
Author: Themaister
License: Public Domain
*/
// modified by slime73 for use with love pixeleffects
extern vec2 textureSize;
vec3 to_focus(float pixel)
{
pixel = mod(pixel + 3.0, 3.0);
if (pixel >= 2.0) // Blue
return vec3(pixel - 2.0, 0.0, 3.0 - pixel);
else if (pixel >= 1.0) // Green
return vec3(0.0, 2.0 - pixel, pixel - 1.0);
else // Red
return vec3(1.0 - pixel, pixel, 0.0);
}
vec4 effect(vec4 vcolor, Image texture, vec2 texture_coords, vec2 pixel_coords)
{
float y = mod(texture_coords.y * textureSize.y, 1.0);
float intensity = exp(-0.2 * y);
vec2 one_x = vec2(1.0 / (3.0 * textureSize.x), 0.0);
vec3 color = Texel(texture, texture_coords - 0.0 * one_x).rgb;
vec3 color_prev = Texel(texture, texture_coords - 1.0 * one_x).rgb;
vec3 color_prev_prev = Texel(texture, texture_coords - 2.0 * one_x).rgb;
float pixel_x = 3.0 * texture_coords.x * textureSize.x;
vec3 focus = to_focus(pixel_x - 0.0);
vec3 focus_prev = to_focus(pixel_x - 1.0);
vec3 focus_prev_prev = to_focus(pixel_x - 2.0);
vec3 result =
0.8 * color * focus +
0.6 * color_prev * focus_prev +
0.3 * color_prev_prev * focus_prev_prev;
result = 2.3 * pow(result, vec3(1.4));
return vec4(intensity * result, 1.0);
}
Hi D0NM!