Hi

Thanks gabor, this works fine. Although i get only 48 FPS, which seems quite low for a simple scene like this and i usually get much higher framerates with more complicated fullscreen shaders and rendering to framebuffer objects in OpenGL. It seems that even (build-pixels 1 1 #t) limits the framerate to about 48 FPS on my laptop with nothing else going on. Quite mysterious.


Since postprocessing is (or should be) a common task and since even without any actual geometry as input nice things can be done on a fullscreen quad by a shader (raymarching etc.), we might want to integrate this as a feature into fluxus.

Maybe a simple wrapper like

(every-frame
  (with-postprocessing (shader-code f)
    (draw-cube))

would be nice. maybe we could even nest those to obtain multiple passes? So we don't have to bother with planes, vertex shader, screen resolution, and camera transformations when we just want every pixel touched by a fragment shader once.

Concerning the power-of-two-issue, probably the best method would be to check for GL_ARB_texture_non_power_of_two to be present - only if it is not, round up to the next POT.

Kas, thanks for the thoughts. I feel that preparing code hurts the performance, even for simple shaders.

cheers,
Johann

Reply via email to