Antialiasing opengl texture options?

lightspeed.johnny's icon

I am capturing an OpenGl texture and displaying it to pwindow using the following pipeline:

jit.gl.node -> jit.gl.camera @capture 1 @antialias 1 -> jit.gl.videoplane @transform_reset 2

The antialiasing looks pretty good and the performance seems good.

I have also tried the following approach:

jit.gl.node -> jit.gl.camera @capture 1 @antialias 0 -> jit.slab @file fxaa.jxs -> jit.gl.videoplane @transform_reset 2

as outlined in this infamous tutorial here:

I see no performance difference between these two methods, however at the moment, I am only rendering a jit.gl.mesh of only like 1000 points to a pwindow that is relatively small.

My question is, given the pipeline of each of these methods, is one more efficient than the other? Is hardware acceleration used by either of these methods (my assumption is that since jit.gl.slab is using a shader then it would be HW accelerated if supported by the graphics card) - but I am not sure what the "antialias 1" flag does on the jit.gl.camera object?

To my eyes, the antialiasing looks a bit cleaner using the first method (@antialis 1 flag on the capture object) - while the FXAA method seems a bit too gaussian - but that is just my opinion.

Rob Ramirez's icon

i think you are conflating two different concepts (always easy to do with GL stuff). @antialias is an attribute that effects the actual geometry, and i believe it really only has an affect when the draw_mode is points or lines (although could be wrong). setting @antialias 1 on the jit.gl.camera simply causes all objects in that camera view to enable @antialias.

FXAA, and jit.window/world/gl.node @fsaa 1 is a post processing effect, which means the entire window is rendered to a texture, and the effect is applied on the pixels of that texture.

the cleanest (and heaviest on the GPU) rendering you can do is window/world/node @fsaa 1, and if you are on a retina display on Mac, world/gl.render @hi_res 1.

lightspeed.johnny's icon

Ok - thanks! That makes sense, as I am only using points and line modes for the draw_mode - I think I will stick to using the @antialias attribute unless I start seeing some performance issues with larger point counts.