Problem Chariklo Rings

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
I've been making a Chariklo add-on, because an asteroid with rings around it is just way too good to pass up, and everything was going nicely (mesh for Chariklo made, config file made, etc.), when I discovered a bit of a hick-up. Orbiter doesn't seem to let you model rings around a mesh object, only spheres. I could physically model a set of rings around the mesh, but then I can't render the transparency properly (it won't vary along the rings as it should).

I tried even doing two objects (sharing the exact same orbit), one the main body, a mesh with no rings, and a second object, just a blank sphere smaller then the mesh, with virtually no mass, and with the rings around it. But that didn't work either, as you could physically see the sphere through the mesh.

Anybody have any ideas? Is it possible to make a transparent texture for a spherical body so I could simply hide a blank sphere like I tried before? Or any other way for me to put rings around a mesh?
 

Loru

Retired Staff Member
Retired Staff
Addon Developer
Donator
Joined
Sep 30, 2008
Messages
3,731
Reaction score
6
Points
36
Location
Warsaw
You can manage transparency by using texture's alpha channel (Keep them in dxt5 format though).
 

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
You can manage transparency by using texture's alpha channel (Keep them in dxt5 format though).

I've been trying that, and it doesn't seem to let me, regardless of which format I choose. I either get a completely black sphere (it's ignoring the alpha channel), or I get a white sphere. Any examples of a planetary texture that already is transparent or contains transparency?

-------edit-------

I just realised you may have meant for a ring mesh. I'll try that now.
 
Last edited:

Loru

Retired Staff Member
Retired Staff
Addon Developer
Donator
Joined
Sep 30, 2008
Messages
3,731
Reaction score
6
Points
36
Location
Warsaw
yes - I meant usage of alpha channel for rings.
 

4throck

Enthusiast !
Joined
Jun 19, 2008
Messages
3,502
Reaction score
1,008
Points
153
Location
Lisbon
Website
orbiterspaceport.blogspot.com
Perhaps you can simply use a plain instead of a sphere?
Then project the ring texture (concentric circles) from the top and you have the ring system.
guitar_ring_texture_by_mranimator93-d33q7w3.png



You may need to use some mesh flags to get rid of shadows, for example.
 
Last edited:

fred18

Addon Developer
Addon Developer
Donator
Joined
Feb 2, 2012
Messages
1,667
Reaction score
104
Points
78
what about a really really small sphere?
 

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
Just a little update on this. I've completed the mesh for both the rings and for the main body of Chariklo. Currently I'm using the texture from my 1994 CC addon, but I'll make a custom one for Chariklo itself. I've done up a texture, complete with transparency, for the rings themselves based off of the published paper on the rings discovery, but I'm still having trouble getting the transparency showing up in Orbiter.

Loru, I took your advice about physically modeling the rings, and doing a DXT5 texture with an alpha channel. The only problem is, Orbiter isn't using the alpha channel. I've tried DXT1, DXT3, DXT5 and DXT5_NM and none of them seem to work.

I'm not sure how well putting the rings around a really small sphere will work, but if I can't get out these textures to work, I may have to just go that route.

I have to say, I really want to see this completed, as I already have a trajectory planned out for getting a Chapman probe to it (albiet just a fly-by).

On a side note, one of the consequences of making the texture for this add-on, I ended up designing a texture generator that people can use to help make ring textures with the correct geometries that Orbiter uses. No more having to disect Saturn or Neptune ring .tex files to create ring textures in the right proportions.
 

gertz

Member
Joined
Mar 18, 2010
Messages
104
Reaction score
0
Points
16
Location
Kyiv
Use sphere's texture level 0 so it turn invisible.

---------- Post added at 04:52 AM ---------- Previous post was at 04:49 AM ----------

Ah. Too small object will have too short rendering distance, so make it the same radii ( or 0.9 of it) as your primary.

Also I am not sure if level zero would allow to render the rings though.
 

Loru

Retired Staff Member
Retired Staff
Addon Developer
Donator
Joined
Sep 30, 2008
Messages
3,731
Reaction score
6
Points
36
Location
Warsaw
Loru, I took your advice about physically modeling the rings, and doing a DXT5 texture with an alpha channel. The only problem is, Orbiter isn't using the alpha channel. I've tried DXT1, DXT3, DXT5 and DXT5_NM and none of them seem to work.

I'm 100% sure orbiter uses alpha channel (in dxt5 format). That's how all flames and particles are rendered. Also I positivelly used it with surface base meshes and vessel meshes..

island014.jpg


What editor you're using for the texture?
 

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
Use sphere's texture level 0 so it turn invisible.

---------- Post added at 04:52 AM ---------- Previous post was at 04:49 AM ----------

Ah. Too small object will have too short rendering distance, so make it the same radii ( or 0.9 of it) as your primary.

Also I am not sure if level zero would allow to render the rings though.

Setting the sphere's texture level to 0 also makes the rings invisible. As for making the sphere smaller then the mesh, that doesn't work either. Orbiter still renders the sphere on top of the mesh for Chariklo, even though the sphere is smaller then Chariklo itself.
 

Loru

Retired Staff Member
Retired Staff
Addon Developer
Donator
Joined
Sep 30, 2008
Messages
3,731
Reaction score
6
Points
36
Location
Warsaw
I'll post you working ring mesh in ~10 hours so you'll be able to check texture format and meshgroup settings.
 

gertz

Member
Joined
Mar 18, 2010
Messages
104
Reaction score
0
Points
16
Location
Kyiv
It explains why you can't set the rings around the mesh.
Then the only way out is making a custom ring mesh.
It could be set as a mesh for the invisible sphere, so you will be able to edit its inclination and rotation speed apart from the central body.
About transparency: make separate solid rings and apply only material with no texture to it. Then adjust material's transparency. As there will be separate rings in one mesh you'll be able to pick each color and transparency to make it look pretty.
 

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
I've been using an nvidia .dds exporter with adobe photoshop. When I took a closer look at the textures themselves, it does appear that it is saving the texture without the alpha channel, even though I've set it to do that. When I get home and I can hook my laptop up to a network, I'll look around for some other dds exporters/converters. I got some other ideas I can try, hopefully I can get one of them to work.

---------- Post added at 09:06 ---------- Previous post was at 01:25 ----------

Argh. I've been working on this all night, and I still haven't had any luck. I remade the dds file using the dxtex.exe program that comes with Orbiter, and I was able to confirm that it did save the alpha channel properly, but Orbiter still wouldn't render the transparency. Just to make sure I still wasn't screwing up the dds file, I used an existing texture that has a transparency and I already knew worked in Orbiter (it was an engine exhaust file), and that wouldn't work either. Finally, I edited the mesh file itself, and phyiscally made the rings transparent (taking the suggestion from gertz), and Orbiter was still rendering the rings as opaque. As best as I can tell, Orbiter ignores transparencies for planetary meshes. I don't suppose anybody has any working examples of transparencies in a planetary mesh? Either with the mesh itself, or by a texture?
 

Loru

Retired Staff Member
Retired Staff
Addon Developer
Donator
Joined
Sep 30, 2008
Messages
3,731
Reaction score
6
Points
36
Location
Warsaw
unpack textures from Saturn_ring.tex using pltex.
 

BrianJ

Addon Developer
Addon Developer
Joined
Apr 19, 2008
Messages
1,678
Reaction score
902
Points
128
Location
Code 347
I don't suppose anybody has any working examples of transparencies in a planetary mesh? Either with the mesh itself, or by a texture?
Nope. After many, many experiments trying to make a comet coma/tail, I came to the conclusion Orbiter doesn't do transparent planet meshes :-(
Maybe try making rings as a surface base object or vessel? Best of luck!
 

gertz

Member
Joined
Mar 18, 2010
Messages
104
Reaction score
0
Points
16
Location
Kyiv
Making a ring as a double body mesh?
It worked for me, but you won't be able to use zero mass. Using small mass will end up in editing the semimajor axis, as the body will float on the higher orbit. Making ring body a moon of your main with small sma will end up in shadow flicker caused by small period. Zero semimajor will cause an error.
 

Loru

Retired Staff Member
Retired Staff
Addon Developer
Donator
Joined
Sep 30, 2008
Messages
3,731
Reaction score
6
Points
36
Location
Warsaw
Nope. After many, many experiments trying to make a comet coma/tail, I came to the conclusion Orbiter doesn't do transparent planet meshes :-(
Maybe try making rings as a surface base object or vessel? Best of luck!

How the saturn rings are done then? do you need only "Planetname_rings.tex" file?? and define ring inner and outer diameter in cfg file for planet?
 
Last edited:

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
How the saturn rings are done then? do you need only "Planetname_rings.tex" file?? and define ring inner and outer diameter in cfg file for planet?

That's exactly correct. However, Orbiter will only render the rings if you enter a MaxPatchResolution of 1 or greater. If put in a 0 value (what is needed if you want to use a custom mesh, instead of a smooth sphere), Orbiter won't render the rings at all, hence my problem.
 

Piper

Orbiting Space Addict
Addon Developer
Tutorial Publisher
Donator
Joined
Apr 7, 2008
Messages
356
Reaction score
0
Points
0
Location
Ottawa, Canada
Why not just model it as a sphere then?

Because Chariklo isn't a perfect sphere, it's markedly ellipsoidal, and being such a small body, is going to have a rough surface as well.

I've decided for the moment, that I'm going to just grit my teeth, and physically model each ring seperately. The rings themselves won't be transparent, but at least there will be a gap between the rings. It's certainly not the most ideal soloution, but it's the best that can done for now.

I've also been playing with the idea of phyisically modeling the particles in the rings with the right distribution to block the correct proportion of light. I'd have to write a program to model that many particles, but that wouldn't be too difficult. The most obvious drawback is that it would probably have a massive impact on frame rate.
 
Top