![]() |
![]() |
![]() |
![]() |
![]() |
Make "plasma_tunnel.elf" work.
Posted on 2005-10-25 00:00:00 |
Decided to use some wierd z component computation scheme. If the z value is below 256, it's scaled down to [-1, 1] as if it was coming from a range of [0, 65536], otherwise it's scaled down normally as if it was coming from a range of [0, 4294967296]. A problem with z values downscaling is that we're sure that we're going to lose some precision and end up getting wierd results (like z-fighting). And if the "below 256" condition starts breaking some stuff, I'll probably remove it even though it would make the "CubeMastah" demo not work anymore. I'm just trying to find the solution that will make the most people happy. The current method works with both demos, so it's fine for now.
This concludes (pretty much) what I had to do for this demo. There's not much I can do about the screen update desynchronization for now. I think it might be a good argument for implementing a "flip when needed" technique, but I'm not quite sure I want to implement this because the condition needed to flip isn't justifiable: You can read the CSR for other reasons than waiting for the v-blank flag to be set... And there's no straightfoward way to obtain the true intend of the read. |