cartrite wrote:I don't know if the atmophere code was meant to work inside meshes but it already is visible from inside a mesh. While flying around Mars I happened to fly inside the planet when approaching Olympus Mons and the atmoshere was clearly visible from "inside" the mesh...
Thanks for the info cartrite. That's why I suggested it, because I too suspected that interior atmospheres may not be considered as an option, however I think if this could be allowed, it could be very useful in many as yet un-anticipated situations, not just spacecraft. eg. Modelling the interior of gas-giants perhaps ? I always believe in allowing maximum flexibility...as long as it doesn't involve an un-acceptable increase in code complexity.
I'm no expert on the technical details of implementing this, and haven't looked at the code, but perhaps it could be as simple as allowing the atmosphere parameters in the SSC to take their bearings from the normals of the object's surface. ie. If reversing normals can cause textures to display on the inside of surfaces, then why not use the same paradigm for atmospheres...If the normals are reversed, then so too is the atmosphere. Chris, any comment?
EDIT: Damn, I just thought about this again ("clearly" this time), and realised it won't be this simple because the atmosphere is associated with the object, NOT the surface. ie. In a given model, some surfaces may have normals reversed, while others may not.
Perhaps a small mesh inside the cylinder with a large atmophere with a height high enough to fill the inside of your O'neil cylinder would work?
Good thinking, and that is in fact pretty much the technique I've tried up to now, except up until now I've had use a highly oblate planet, and the results are not really acceptable.
From memory, there are problems with making the "planet" invisible whilst still rendering the atmosphere (I don't want to "see" the planet, just the atmosphere), and it's also difficult to constrain the atmosphere to the interior, as the cigar shaped planet is not an exact match to the shape of the model, and atmosphere can extend through the endcaps of the cylinder.
I've also used similar technique to get clouds inside with some limited semi-realistic success, but this had problems as well, and so I put it on the "back-burner". eg. 1. when viewed from certain angles, clouds and atmosphere would disappear; 2. turn up the texture transparency too much and the clouds aren't visible, turn it down to make the clouds appear and I'd end up with unwanted sharp visible edges of the model hosting the clouds.
I'm optimistic that the excellent work done by you on clouds with normalmaps will translate well to my application. I was using similar techniques with semi-transparent models with cloud texture's applied inside my main cylinder, which had some success, but nothing compared with the results you seem to be getting with the new normals stuff. (In my experience, there always seems to be issues from certain viewing angles with these techniques)
EDIT:
HERE, I've put a small (1 MB) video depicting a squall travelling thru the San Francisco bay located inside my habitat . This probably represents the best I've achieved to date in terms of interior clouds, and only worked well from certain viewing angles.
I personally think that ideally all parameters such as cloud height, atmosphere height, etc should be measured relative to the direction of the "normals" of the surface. This would give maximum flexibilty for as yet unconsidered applications.
Also, I was wondering if the atmosphere code for meshes will still be spherical, or if it will "follow" the contours of the model. (This is prob. a question for Chris)
Apologies, to you Chris for immediately asking for more, MORE, MORE!!, when you've just cracked this, but just trying to give a point of view that you may not have considered if your code was focused only on exterior surfaces, and perhaps it's not too hard to allow both! (EDIT: Probably also best to make my suggestions earlier, rather than later, before you've invested too heavily in code
)
I'm hopeful that your code will accomodate these ideas without too much trouble.
EDIT: In light of my re-think (above) Chris, you might want to ignore most of my suggestions:
Of course, you probably have some better ideas about how to do these sort of things anyway. Perhaps an atmosphere can have a
negative height instead of being associated with surface normals.
regards
CC