madster's Recent Forum Activity

  • "pat" the neighbor's "cat"

    wink wink nudge nudge you know what I mean

  • I'd like to insist on how SSAO is pointless in 2D.

    Allow me to explain:

    SSAO is occlusion, independent from light sources, based on the depth difference between each pixel.

    Construct is 2D (mostly). What's the depth difference within a sprite? Zero. Always. What if you want to have a heightmap with heights? well, then the depth difference will be always the same, since the normal never changes..... so, the occlusion will always look the same and you're better off baking it, EVEN IF YOU USE NORMAL MAPPING.

    And if you layer one sprite on top of another? well that's why I suggest drop shadow.

    I'll try upping the pixel shader version and see if it's enough. I'm bumping into a lot of limits there (registers too)

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Sweet. Thanks!

  • I'm hitting arithmetic instruction limits for PS2 when blurring the shadow with a 5x5 kernel.

    Blurs should really be done in two passes

    Since the kernel is symmetric, I'll try storing a quarter of it then doing each op four times.

    with less taps it would be useless.

  • This is why I wrote Heightmap Plus.... but sometimes heightmaps don't cut it and you really need to use a normal map.

    I plan to introduce a normalmap plus effect at some point, with an angle input to compensate effortlessly. You could do the math in events, but yeah it's a bit hard.

  • Any ideas how to lower the lag even more, to the twoframes from the Madster explanation?

    I know it looks like it is more, but it isn't. We're just more sensitive to mouse lag than to button lag.

    Also, it's two frames AND A VSYNC.

  • AFAIK 0 becomes left (or top) and 1 is right (or bottom) of the screen.... screen which is rotated along with the sprite.

    Yeah.

  • now try intensity at 2

    then do

    System: Always (every tick)

    SpriteSet position to Sprite 0 .X+3, Sprite 1 .Y+3

    bgmoonnormalBumpmapping : Set Light X to 0.5+(cos(timer*0.01))

    bgmoonnormalBumpmapping : Set Light Y to 0.5+(sin(timer*0.1))

  • I know a bit about this, so I guess I'll explain.

    To draw a frame you need to calculate it first. so:

    input -> framebuffer.

    Input is where the game picks up your commands and framebuffer is the screen. This is a 1-frame lag. This is the minimum you can get, there's no way around it. Think of this as an unlimited framerate, single-buffered game.

    This isn't so hot, because you're drawing directly to the screen. If your drawing code takes longer than a screen refresh, the scene might be half-drawn when presented.

    input -> backbuffer -> framebuffer

    So this is double buffering, where you can hold one frame in a backbuffer and draw to that one, and when it's done you copy that one to the framebuffer. This means your commands will show up two frames later.

    input -> backbufferA -> backbufferB -> framebuffer

    And of course, triple buffering is the same idea, just bigger.

    All of these were with unlimited frames per second (fps).

    Now what happens with vsynch?

    let's see the most common double-buffer scenario:

    input -> backbuffer -> VSYNC -> framebuffer

    the backbuffer is copied to the framebuffer only on a VSync, which happens 60 or whatever times per second. So now your input is delayed by one frame plus the time it takes to the next VSync.

    With triple buffering.... yeah

    input -> backbufferA -> backbufferB -> VSYNC ->framebuffer

    your input is delayed by two frames and one Vsync.

    Now, most video cards have a hardware mouse cursor, which is calculated in paralell to the rest of the screen drawing stuff and it's directly overlaid on top of the framebuffer, that's why it responds so well.

    I hope this clear things up. To sum:

    The fastest cursor will ALWAYS be the OS' cursor, followed by the 2-frame delay that's minimum for DirectX, with no VSync and doublebuffering.

  • should be a fairly easy effect, although for softness you could run into sampling issues, just like blurs, since you're taking alpha into account you can't just do it with distances.

    I can prolly whip it up as a mod of my blur plugins. Will give it a go later.

  • Might have to do with double or triple buffering.

    At least triple buffering causes horrible lag in 3D games, most console ports suffer from this as mouse lag is much more noticeable than button lag.

    To wit: Dead Space.

madster's avatar

madster

Member since 17 Feb, 2009

None one is following madster yet!

Trophy Case

  • 15-Year Club

Progress

15/44
How to earn trophies