Hi Bartlomiej,
I have disabled AA in the current CVS. There are several causes which
are all related to multiplatform and driver issues. There are three ways
to get AA vector drawing with OpenGL:
1 - Use Full Scene AA
2 - Use OpenGL Smooth points/lines/polygons.
3 - Use Textured quads/tri to simulate AA (i.e. what the glAA lib does
more or less).
1 is not easy to get working properly while retaining the partial
rendering of NUI (what makes NUI faster that it is by rendering only the
portion of the screen that have changed in between two frames). You will
probably not care about this if you are using NUI inside a 3D engine as
there probably is very little in common in between two frames. Partial
rendering is not easy because most drivers discard the backbuffer's
content when you display it, and in order to force keeping the content I
had to use the FrameBuffer Objects in many cases, and FBOs are not FSAA
compatible for most cards.
2 Is broken on 99% of GL's implementation be it hardware or software
(sad but true).
3 Is the only option that we can rely on for every platform. There is a
working naive implementation in glAA. Actually a previous version of NUI
was using glAA internaly (and the modified glAA sources are still in the
CVS). The problem is that glAA only works for very simple vector
renderings, it can't render line joins properly (miter, bevel, round...)
overdrawing line are not handled either, and filled polygons are just
not implemented at all. This means that we can't use it as is or get
very unsatisfying results. I have started to work on a glAA feature that
would implement most of the above and it's buggy as hell and I choose
not to commit it to the cvs. I'd love to hear about your ideas and
solutions about these problems by the way, if you or someone else happen
to have any.
Anyway, you can probably create your own nuiContext with FSAA enabled
back, that would put back AA in NUI easily.
Cheers,
Sebastien
Bartlomiej Bazior wrote:
Hi there!
I've just grabbed the newest cvs versions of nui and ngl (previously
I was using a version from december) and it seems, that antialiasing is
not working anymore for me :-/ See:
https://underdeconstruction.net/screen.png
Should I make something special to turn on AA in current version, or is
this a bug? My gfx card is nvidia gf6600 and I use ForceWare 82.65
drivers.
cheers,
Bart
_______________________________________________
https://mail.gna.org/listinfo/ngl-devel
_______________________________________________
https://mail.gna.org/listinfo/ngl-devel