|
||||||||||||
|
|
#1 (permalink) |
|
Founder of Statspaddling
|
DX Opacity Bug
It's a thing I've been bothered by lots of times, and for quite long.. the DX Opacity bug. What happens is simply that while something's transparent, everything behind it will also be hidden. As shown in the following picture where I simply tried to throw together some quick volumetric grass:
![]() So, what I'm wondering is.. is there some kind of fix/patch to solve this problem? Rather than rendering it.. I know It'd work properly while rendering, but that still won't solve the DX Bug ![]() Cheers & Thanks in advance!
__________________
|
|
|
|
|
|
#3 (permalink) |
|
Game-Artist.net Admin
|
Well, like theologic said, it's a zBuffer problem. I know i said it was a bug, but it's not a real bug that you can fix, it's just a bug because there's no real workaround to get it fixed in max as far as I know.
the problem is this. When a scene is rendered, DX will look at the ZDepth of every face for each pixel. For every object it'll check the zDepth first, and determine if an object closer to the camera has already been rendered, or if that object is in fact the closest to the camera. (all per pixel) If it is is not the closest object to camera (and therfor another object is blocking it's visability), it will not render what's behind it... So if you then apply transarency to the object (this happens in a later stage during the rendering), you will have the effect you see in your screenshot... The logical solution would be to sort all your grass planes, from far to close, and render them in that order. but that's not possible in max (again, as far as I know). If i'm not mistaking then you're using the viewport shader i wrote. I think i'll work on an updated version soon, have a few things i want to add to it. I'll look some more, maybe i'll find a way to fix this
__________________
![]() Jeroenmaton.net - Scetchbook Thread - 3dsMax Viewport Shader - Ten Texturing Tips - Supports good crits - |
|
|
|
| The Following User Says Thank You to doylle For This Useful Post: |
|
|
#4 (permalink) |
|
Founder of Statspaddling
|
Ah, that explains it then :/
Well, searching for dx opacity bug fixes on google didn't turn up any results, and I guess this is why.. I'll see if I can find anything about sorting the zbuffering though ![]() And aye, I'm using your shader D, and if you'd be able to add a fix for it, I'd be forever grateful ![]() Thanks for taking your time guys. Cheers!
__________________
|
|
|
|
|
|
#5 (permalink) |
|
Game-Artist.net Staff
|
You could try making it 1-bit alpha.
Not sure how Max does it, but a fair few engines render 1-bit stuff in with the opaque stuff, rather than with the transparency pass. *shrug* Worth a try. |
|
|
|
| The Following User Says Thank You to Talon For This Useful Post: |
![]() |
| Bookmarks | |||
Digg
|
del.icio.us
|
StumbleUpon
|
Google
|
| Thread Tools | |
| Display Modes | |