Hull Heating effects
Posted: Fri Nov 22, 2013 12:27 pm
Rather than continue to detour the https://github.com/pioneerspacesim/pioneer/pull/2550 pull request I'd like to continue the discussion here.
The shader only effect in that PR is a merely the basis and beginning of what can be done and shouldn't need to depend on any future work which may or may not be done (at least for a long time).
Jpab suggested at the end of that discussion that Kerbal's atmospheric reentry effect looks like the edge extrusion used in shader volume generation. Which after a bit of research I have to say might prove to be very useful for generating the shell itself even if I don't adhere exactly to how it's used for shadow volumes.
The basic idea is to do some upfront processing of the mesh to generate adjacency information about the edges. Then you use it by filtering out all of the edges that you cannot see (dot product test), then you test the remaining edges - if an edge has one face it can see and one that cannot be seen (more dot products) then you have a silhouette, otherwise you can ignore it.
Other things that might improve the effect are trails using a mixture of billboarded particles and a solid textured trail but I haven't looked into our particle system yet or into how to do the trails properly, though they shouldn't be overly difficult conceptually.
Does anyone else having anything to add?
The shader only effect in that PR is a merely the basis and beginning of what can be done and shouldn't need to depend on any future work which may or may not be done (at least for a long time).
Jpab suggested at the end of that discussion that Kerbal's atmospheric reentry effect looks like the edge extrusion used in shader volume generation. Which after a bit of research I have to say might prove to be very useful for generating the shell itself even if I don't adhere exactly to how it's used for shadow volumes.
The basic idea is to do some upfront processing of the mesh to generate adjacency information about the edges. Then you use it by filtering out all of the edges that you cannot see (dot product test), then you test the remaining edges - if an edge has one face it can see and one that cannot be seen (more dot products) then you have a silhouette, otherwise you can ignore it.
Other things that might improve the effect are trails using a mixture of billboarded particles and a solid textured trail but I haven't looked into our particle system yet or into how to do the trails properly, though they shouldn't be overly difficult conceptually.
Does anyone else having anything to add?