[INFO] Why Don't the 3D Player and 3D Model Particles Offer Transparency?
-
-
@woland said:
Okay, but then why does this work?
Nice try. But unfortunately, in fact, it doesn't work. You just can't notice the problem in your example patch.
Here's a much simplified version, where the first cube doesn't move and the second cube rotates 2.5 to +2.5 degrees along the y-axis. Instead of the transparency working as you expect, you can see the surfaces snap in front of each other.
2020 - 3.0.7 - Fading 3D Objects - Faiilure Example.zip
Best Wishes,
Mark -
@mark said:
Here's a much simplified version, where the first cube doesn't move and the second cube rotates 2.5 to +2.5 degrees along the y-axis. Instead of the transparency working as you expect, you can see the surfaces snap in front of each other.
Still, better than nothing I suppose.
-
-
Well, perhaps it looks fine which is great. Lucas' patch also seemed to be OK visually (though if you watched closely, you could see errors.)
But I can tell you that your patch does not sort multiple models from multiple 3D Model Particle actors at the polygon level. You may be managing the individual models this way, but that doesn't deal with the polygons within the models. It is not a general solution.
My simple example above proves this to be the case.
Best Wishes,
Mark -
Sometimes limitations become a catalyst for some kind of innovation. In this demonstration patch I am timing the change of the layer hierarchy to allow the 3D Model Players to move in front or behind. It represents a compromise, but in seeking to work through the challenge interesting and generative qualities emerge, where they would not if the path was easy.
It is really nice to have your explanation as to why things are the way they are. It is very special!
Best wishes
Russell
-
@mark is it difficult to be able to feed the output of 3d actors into a glsl actor (not as a flat image but as a set of vertices)? Then using shaders this problem could have another chance at being solved without needing to change Isadora too much.
-
@fred said:
Then using shaders this problem could have another chance at being solved without needing to change Isadora too much.
From the conclusion of the paper I quoted above:
Neither of the two additional algorithms have the required qualities of a general transparency sorting algorithm and can only be used situational or for limited purposes. Instead the hope lies in the coming algorithms, such as hybrid transparency or adaptive transparency. But even with algorithms performing as well as the per object sorting and without the same distinct visual artifacts other kinds of algorithms will be used. Even if the algorithms only increase the speed in a special cases where the visual quality is not as important, since in real time 3D rendering speed is everything.
Also read this long reply to a similar question about the same problem in Unity.
Or this explanation of the topic from the Khronos group who maintain the OpenGL standard.
If you can find me code that will sort every polygon in the scene in real time, I'm love to see it. But it really is not a trivial problem to solve.
Best Wishes,
Mark -
@mark Thanks, that was an interesting read and explains some other anomolies I have seen. I realise now the reason I was able to solve this with a shader is that I was only using 0 or full transparency when I did this.
It would be cool to be able to run shaders on 3d objects though..
-
@mark Thank you al for the detailed explanation. I get why I just encountered this problem.
Again, a thousand thanks