UPlasma development - Play Plasma from the Unity engine

General debates and discussion about the Guild of Writers and Age creation

Re: UPlasma development - Play Plasma from the Unity engine

Postby Aloys » Thu Feb 21, 2019 3:58 pm

Actually, it's not as bad as you might think. Most alpha-blended meshes are simply decals, which don't have the issue as they are easy to sort in advance. It's only a problem with complex meshes

Well that sounds good at least. (and I I don't usually put a lof folliage in my scenes anyway. :p )

making each face its own scene object (Morrowind did this, and it cut the game's framerate in two)

haha, wow.. yeah that's a rather brutal way of dealing with the issue..

I'm annoyed that the year is 2019 and we still have too deal with surfaces sorting issues.. I guess it's one of those things that is harder to deal with than it looks; but still.. Right now if I had just one wish for a genie coming out of a lamp it would be to have an automated fool proof way of dealing with this.
Transparency sorting issues are the bane of my existence.. >_>
User avatar
Aloys
 
Posts: 1860
Joined: Sun Oct 21, 2007 7:57 pm
Location: France (GMT +1)

Re: UPlasma development - Play Plasma from the Unity engine

Postby Deledrius » Thu Feb 21, 2019 6:15 pm

Aloys wrote:I'm annoyed that the year is 2019 and we still have too deal with surfaces sorting issues.. I guess it's one of those things that is harder to deal with than it looks; but still.. Right now if I had just one wish for a genie coming out of a lamp it would be to have an automated fool proof way of dealing with this.
Transparency sorting issues are the bane of my existence.. >_>

I've had similar thoughts in the past.
User avatar
Deledrius
Gehn Shard Admin
 
Posts: 1265
Joined: Mon Oct 01, 2007 1:21 pm

Re: UPlasma development - Play Plasma from the Unity engine

Postby Sirius » Fri Feb 22, 2019 2:09 am

From what I understood, partial transparency and face sorting are not things you can do easily. CPUs can sort things easily but can't work on big datasets, GPUs can work on big datasets but suck at sorting (especially since we want them to perform incredibly quick...).

Aloys wrote:I'm annoyed that the year is 2019 and we still have too deal with surfaces sorting issues..

Actually, it's even worse nowadays than it was in 2000', because a lot of post processing effects require deferred rendering... Deferred rendering allows you to do outstanding effects like depth-of-field, runtime ambient occlusion, real-time reflections on any surface, an insane amount of overlapping lights in your scene, screen-space global illumination, all of that nearly for free. But it also requires exactly one opaque object per pixel, and is completely confused by partial transparency. Hence the "hack" of only ever allowing one opaque surface per pixel. Most games completely give up on partial transparency nowadays.

Old engines like Plasma and Morrowind's resort to "hacks" to have the CPU sort faces so they are drawn in the correct order, but even then they can't handle intersecting faces...
User avatar
Sirius
 
Posts: 1166
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: UPlasma development - Play Plasma from the Unity engine

Postby Deledrius » Fri Feb 22, 2019 4:45 am

Sirius wrote:From what I understood, partial transparency and face sorting are not things you can do easily. CPUs can sort things easily but can't work on big datasets, GPUs can work on big datasets but suck at sorting (especially since we want them to perform incredibly quick...).

Aloys wrote:I'm annoyed that the year is 2019 and we still have too deal with surfaces sorting issues..

Actually, it's even worse nowadays than it was in 2000', because a lot of post processing effects require deferred rendering... Deferred rendering allows you to do outstanding effects like depth-of-field, runtime ambient occlusion, real-time reflections on any surface, an insane amount of overlapping lights in your scene, screen-space global illumination, all of that nearly for free. But it also requires exactly one opaque object per pixel, and is completely confused by partial transparency. Hence the "hack" of only ever allowing one opaque surface per pixel. Most games completely give up on partial transparency nowadays.

Old engines like Plasma and Morrowind's resort to "hacks" to have the CPU sort faces so they are drawn in the correct order, but even then they can't handle intersecting faces...


It's a legitimately difficult general problem, mathematically.
User avatar
Deledrius
Gehn Shard Admin
 
Posts: 1265
Joined: Mon Oct 01, 2007 1:21 pm

Re: UPlasma development - Play Plasma from the Unity engine

Postby Aloys » Fri Feb 22, 2019 6:16 am

I know it is. Every time I get to talk to an experienced 3D coder I ask them about it and they start sweating... proper "OIT" Order Independent Transparency, is my holy grail of 3D rendering.. Except no one seems to even want to tackle it.. Even the nVidia and ATI guys seems to shy away from it. :(

Alpha transparency is one of the most useful tool of a 3D artist; and it's one we can barelly use.


Deffered Rendering.


*Blherg*... I remember a talk by John Carmack a couple years ago when he was getting into Rocket building and he looked at how rocket engines worked and said "hey, this system is actually simple. My rendering engine is a hundred times more complicated than that". :D (I'm paraphrasing, and Rocket science is hard for good reasons; but still that stuck with me). Today's rendering engines are horribly complex; and getting worse by the minute. I salute nVidia's efforts of pushing ray tracing hard because it will solve a lot of problems and make rendering pipelines so much simpler... (now we can actually start using this in 15 years when every one finally has one of these GPUs)
User avatar
Aloys
 
Posts: 1860
Joined: Sun Oct 21, 2007 7:57 pm
Location: France (GMT +1)

Previous

Return to General Discussion

Who is online

Users browsing this forum: No registered users and 1 guest