Hi Simon,
Simon Haegler wrote:
>> But I think the main problem is that drawing transparent objects is much
>> more expensive than drawing opaque ones, mainly because they need to be
>> sorted back to front and the sorting process kills state sorting, which
>> can make a huge difference. That's why multisample transparency is so
>> nice, as it is free and works without sorting. I haven't done it in a
>> while, but there are some simple OpenSG extensions to control the used
>> multisample mask, I would really recommend trying that as all other
>> solutions will be problematic both from a performance and a quality
>> point of view.
>
> hmm, google did not help me...
Another name for it is screen-door transparency. That leads to more hits
like
http://techpubs.sgi.com/library/tpl/cgi-bin/getdoc.cgi/[EMAIL
PROTECTED]/linux/bks/SGI_Developer/books/OpenGLonSGI/sgi_html/ch09.html#IT08.Extrender-84
http://oss.sgi.com/projects/ogl-sample/registry/ARB/multisample.txt
http://db.cwi.nl/rapporten/abstract.php?abstractnr=1125
http://www.opengl.org/resources/code/samples/sig99/advanced99/notes/node202.html
> can you point me to some documentation about how to do this in OpenSG?
Not directly in OpenSG, but the above should give a good idea how it works.
To integrate it nicely into OpenSG you will need a StateChunk that
allows you to control the sample mask. To use it on a subtree in OpenSG
1 you will probably need something very similar to the makeTransparent
GraphOp that adds this StateChunk to the Materials in the lods. In 2 you
can use a StateOverride to do it, which is much easier (but then 2 has
some other limitations, not the least of which is being pre-alpha).
> then i have a semi-OT/related question:
> i'm also confused about the terms "multisample transparency" vs.
> "transparency
> supersampling"? is this the same?
Not quite. "Transparency supersampling" is support for transparent
textures at a sample level (normally OpenGL only samples at a pixel
level). Multisample transparency uses multisampling, but it controls
which samples are actually used to draw.
> how do i enable this multisample transparency
> on linux (amd64, kernel 2.6.17, xorg 7.1, nvidia drivers 1.0.8774, quadro fx)?
You need to use the extension mentioned above to control the sample
mask, and you need to have samples in the first place. I haven't tried
it on Linux, but on the old SGIs you had to ask for a MS visual (GLUT
has a define for that). I know you can force multisamples on linux using
the __GL_FSAA_MODE envvar (see
http://download.nvidia.com/XFree86/Linux-x86_64/1.0-8774/README/appendix-e.html
for an explanation), but I don't know if you can control those with the
extension. Anybody tried this?
Hope it helps
Dirk
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users