Antialiasing

Hi,



Is there a way of enabling Antialiasing in current version of jME?

If you mean multisampling (FSAA), no there isn’t.



I don’t know how you enable it with OpenGL. I’ll look into it.



Chman

Actually, there has been for quite some time. Basically you call:


display.setMinSamples(samples);



... where samples is the level of multisampling you want to use. The only trick is that you have to call that BEFORE you create the window, so you can't currently set up FSAA in a SimpleGame. I could easily add a static var to SimpleGame though to support this.

The problem with this method is that multisampling is only available on windows and makes others systems craches… :frowning:

Well, if that’s true, it’s an LWJGL issue, because we’re simply enabling it on the lwjgl window. Sounds more like a card dependant issue though.

Is it possible to build a workaround by making a jME render to higher resolution buffer in memory and then scaling it back to some smaller resolution with some common downsampling algorithm. Is this what lwjgl layer is doing for current implementation of multisampling?



I really need some solution that will peovide good image quality, the fps is not a problem since I am not building a game. It has to be reliable as well. So far I found that jogl and other engines fail to do antialiasing on many graphic cards, lots of crashes and bugs.



Vlad

I believe the technique used now is simply GL_MULTISAMPLE_ARB, which is standard stuff. just out of curiousity, try setting the min samples to 2 or 4 and see how that works. (most cards only support 2 or 4)



You also might try writing a shader. I doubt we will be spending a lot of additonal time on FSAA at the moment given the current release goals.