[MMD Tutorial] SGSSAA with Nvidia Inspector
Edit 3/12: Added LOD quality and examples.
This is my second post about SGSSAA on MMD.
I
know it’s a bit overdue that I posted this than I stated. The fact that
I’ve been using this method for best Anti-Aliasing, SGSSAA is the best
method. To use SGSSAA on Nvidia cards on MMD, use Nvidia Inspector and
make a profile for MMD and load application for both MikuMikuDance.exe,
PMXEditor.exe (32 or 64 bit), and VMDViewer.exe. Then do the exact same
settings from this photo and pay attention to the black texts instead of
grey. Also, you don’t need AA compatibility bits to use SGSSAA for MMD.
AA Fix must be turned on to avoid artifacts when using customed AA.
Vertical
Sync must be turned off so that you can have very fast rendering times
when rendering to AVI. Tearing doesn’t appear since they are all shared
with desktop’s V-Sync.
AA-Mode can either use Enhanced or Override to
work, but I prefer Enhanced since I can toggle Antialiasing in MMD’s
option to turn it off if I need to. Override will always force it.
Enhanced is helpful if your GPU is very low and you want to turn it off
during editing.
AA-Setting must be 8xQ and AA-Transparency Settings
must be 8x Sparse Grid Supersampling to use SGSSAA, and 8x is the best
quality to offer. You will want that maximum quality when rendering to
AVI.
Anistropic Filtering must be at 16x to have better mipmapping details.
Texture Filtering Quality must be put at High Quality to have better mipmapping along with SGSSAA.
Driver Controlled LOD should be off and LOD bias (DX) should be at max -3.0. More about LOD below.
Hit
apply and start using MMD and you will notice that it has a very high
quality. On the photo at the upper side, check the yellow box to see the
default MMD Anti-Aliasing and you will notice that it doesn’t cover
everything. Shader aliasing, temporal aliasing, and transparency
aliasing is present. SGSSAA corrects this and does full supersampling
with Sparse Grid method that removes temporal aliasing greatly, and even
better than standard supersampling. Temporal Aliasing is better seen in
motion as temporal means several frames. Standard SSAA doesn’t help
much on Temporal, and only removes it by a little. MSAA doesn’t cover
shader aliasing and texture aliasing. Alpha aliasing is removed in MSAA
if the settings has an option for alpha coverage. SGSSAA also helps on
polygons, and even at 8x, it looks like a lot of sampling is used to
smooth out any aliasing on the image. 4x barely shows temporal aliasing
when I used it on some games, but 8x is a more professional option and
gets rid of more small aliasing. It is compatible with any post
processing effects.
About LOD, it is a subtle difference, and you
can notice it if using a lower resolution, even using 16x Anistropic
Filtering. It’s not as blurry as not using Anistropic Filtering.
However, if you are rendering pictures or video at SD resolution, you
may notice a bit blur on textures. I’ve used -3.0 bias to match how it
is shown on AMD’s 8x RGSSAA method or downsampling the image. I would go
by an integer negative number down on each quality, like -1.0 for 2x,
-2.0 for 4x, and -3.0 for 8x. I mean the LOD blur isn’t really
noiticable on higher resolutions, and trying to compare images on high
resolution seems to be a little difference, so I made this a little more
optional, but I prefer doing this to match fairly with AMD’s method and
how it looks when downsampling.
NOTE: Since MMD-Ray shader only
has its own framebuffer on display, any anti-aliasing has no effect at
all, not even SGSSAA. FXAA and SMAA is our only option, but still
doesn’t help with temporal or spectular lighting aliasing. If you want
to get the best AA method with MMD-Ray, follow the Downsampling post.