The two different warp effects I'm looking at are a flash at the boundary, and a 'squash and stretch to infinity' effect.
The latter would be used without the warp cone POF, in the style of Star Trek/Star Wars.
Unfortunately, now that I've done a bit of work it seems that I'll have to dive into the code to make the changes I want, as I don't appear to be able to tell if the user clipping plane is active or not. This makes the ships look a tad strange when *not* warping out.
- The warp flash I've been making is always there across the centre of the ship until it warps, at which point it jumps to the right place and follows it out. Looks quite good while warping (although not quite what I'm after yet), but terrible otherwise!
Annoying, as it means it can't be added to 3.6.10 VPs, and is going to take rather a long time because I'm not that familiar with C++.
(Shader languages are so much simpler, assuming you paid attention to Matrix maths at A-Level)
I have done a bit of cleanup of the shaders themselves, but not enough to warrant re-issuing them. It's mostly to make sure I understand what each bit is doing.
Depending on the calling code, it's likely to be worth taking them up to GLSL v1.30 and using the new kind of user clipping plane, with different planes for each use of clipping.
The key benefit of this would be greatly improved performance on ATI cards, as we won't need to force them to software mode anymore.
Given the user clipping that's done, it would probably make sense to do it in Model space instead - I'm sure that doing it in View space is a legacy of the fixed-function pipeline.
(Doing this in Model space means that you don't need to transform the clip plane to View space on the CPU)
On the other hand, I have read in many places on the forum that the graphics engine is a definite "Here Be Dragons!", so please don't hold your breath.