3d nebula problem

The place to discuss creating, porting and modifying Celestia's source code.
Topic author
Commander David
Posts: 73
Joined: 27.06.2002
With us: 22 years 4 months
Location: Germany
Contact:

3d nebula problem

Post #1by Commander David » 01.05.2003, 10:51

Hi Chris,

i model a protoplanetary nebula for celestia (see thread: " A protoplanet?" or "first version of myprotodisc") but i`ve moddeld a 3d nebula but there is a problem. Hereis a little Vid (3,5MB) that shows the problem. i can`nt see any texture from inside. Is it possible to eliminate these ?Bug?
Celestia on my System:
AMD Barton 2800+@3000+
1024 MB DDR-RAM
ATI Radeon 9500 non Pro 128MB
_________________
However if God is a mistake, then I do not regret anything. More worth living than this mistake did not give it.

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #2by selden » 01.05.2003, 11:58

David,

Most of Celestia's 3DS bugs have to do with drawing more than it should, not less :)

I can't be sure without having a copy of your model, but it seems to me that what you're seeing is "hidden surface removal". It's not a bug, it really is a feature.

Every facet of a model's surface has a front and a back. When the front of a facet is facing you, it's a candidate for being drawn. When a facet is facing away from you, it is not even considered. To use some jargon, the surface normals have to point toward the viewpoint.

In order for a surface to be drawn from both sides, the designer has to provide two surfaces, each facing "outward".

Image

I hope this clarifies things a little.
Selden

jables
Posts: 6
Joined: 02.05.2003
With us: 21 years 6 months
Location: Kentucky

Post #3by jables » 05.05.2003, 21:14

Just like selden said :)

In your modelling program just create a copy of the mesh at the exact same coordinates. Then scale the second mesh down very slightly (you may have to "manually" scale certain parts of the mesh). Then flip the normals of the slightly smaller mesh.

So basically you are creating an "inner skin" by copying the "outer skin". One drawback though; this will double the polygon count of your mesh.

just an idea...

Avatar
selden
Developer
Posts: 10192
Joined: 04.09.2002
With us: 22 years 2 months
Location: NY, USA

Post #4by selden » 05.05.2003, 21:24

A thing to note, of course, is that an inner skin like that isn't very realistic.
An accretion disk is a three-dimensional conglomeration of material spiraling into the central body, or in this case, being blown away from it. When you're inside the disk, you should see more material, not just an outermost shell. This is one of the places where "volumetric rendering" would be very useful.

Also, you should consider inverting the surface normals of the part of the model that defines the surface closest to the central body. In principle, that part of the surface should be visible only from the direction of the central body, not from within the accretion disk.
Selden

jables
Posts: 6
Joined: 02.05.2003
With us: 21 years 6 months
Location: Kentucky

Post #5by jables » 06.05.2003, 03:29

yep, this is a quick n' dirty solution. Not realistic, but better than the alternative, IMO. It may not look too bad if using a different material on the inner skin....maybe utilizing some opacity.

A 2-sided material would at least keep the poly-count from doubling. BTW, have 2 sided materials ever been considered for Celestia? I'm assuming that would play all kinds of havoc. :)

Topic author
Commander David
Posts: 73
Joined: 27.06.2002
With us: 22 years 4 months
Location: Germany
Contact:

Post #6by Commander David » 06.05.2003, 07:49

I have different models tried but if i used 2-sided material`s then appears graphical errors in Celestia if I zoom out. I found however an alternative and will continue to prepare these still. Thanks people for the references and tips.
Celestia on my System:

AMD Barton 2800+@3000+

1024 MB DDR-RAM

ATI Radeon 9500 non Pro 128MB

_________________

However if God is a mistake, then I do not regret anything. More worth living than this mistake did not give it.


Return to “Development”