Please consider a donation to the Higher Intellect project. See https://preterhuman.net/donate.php or the Donate to Higher Intellect page for more info. |
V12 and anti-aliasing
Question
I was reading up on SGI V12 graphics, which has a hardware accumulation buffer. According to the SGI OpenGL literature, the accumulation buffer enables such niceties as full-scene antialiasing. However, it seems that none of the Octane or Octane2 demos utilize antialiasing to any noticeable degree. Is there a way to enable FSA for a given app, or does it need to be specifically coded to utilize that feature? Are there any free demos or apps that demonstrate the antialiasing capabilities of the V12 hardware?
Response
There are two common ways to get full-scene antialiasing. The most common is to use multisampling, and just let the hardware take care of everything. To do this, the app just has to select a visual that supports multisampling.
http://www.opengl.org/resources/tutorials/advanced/advanced97/notes/node61.html
The other way is done using the accumulation buffer. Using this technique the application must render the scene several times and accumulate each pass in the accumulation buffer. After all passes are rendered, the application must copy the data back from the accumulation buffer to the display buffer. It's a lot more work for the app to do (i.e., more code for the developer to write). However, while multisampling is limited by hardware capabilities to 8 or maybe 16 samples, accumulation buffer antialiasing can do as many samples as you're willing to wait for.
http://www.opengl.org/resources/tutorials/advanced/advanced97/notes/node63.html
There's a reason that none of the demos utilize antialiasing. You can't do full-scene antialiasing even on an Octane2 V12, if you want real-time. We have a V12, and were counting on doing this, but SGI tech support verified that, in fact, there's no hardware support for this, because the feature depends on multisampling, which isn't there. For our application, the accumulation buffer technique took rendering out of the domain of real-time, so we didn't investigate that.
It's possible that some kind of blending is available on the Octane2 V12, but the V12 does not have multisampling hardware. And our application uses Performer for most of the rendering. Both our V12 and Performer ignored all attempts to enable multisampling using FSAA settings, and SGI confirmed that this was because the V12 has no multisampling hardware capability. They also confirmed that for our application, no real-time full-scene anti-aliasing was possible with Performer on the V12.