1
0
mirror of https://github.com/fadden/6502bench.git synced 2024-12-01 22:50:35 +00:00
6502bench/SourceGen/SGTestData/Visualization
Andy McFadden b3dacc2613 Switch to left-handed coordinate system
There's no "standard" coordinate system, so the choice is arbitrary.
However, an examination of the Transporter mesh in Elite revealed
that the mesh was designed for a left-handed coordinate system.  We
can compensate for that trivially in the Elite visualizer, but we
might as well match what they're doing.  (The only change required
in the code is a couple of sign changes on the Z coordinate, and an
update to the rotation matrix.)

This also downsizes Matrix44 to Matrix33, exposes the rotation mode
enum, and adds a left-handed ZYX rotation mode.

This does mean that meshes that put the front at +Z will show their
backsides initially, since we're now oriented as if we're flying
the ships rather than facing them.  I considered adding a 180-degree
Y rotation (with a tweak to the rotation matrix handedness to correct
the first rotation axis) to have them facing by default, but figured
that might be confusing since +Z is supposed to be away.

Anybody who really wants it to be the other way can trivially flip
the coordinates in their visualizer (negate xc/zc).

The Z coordinates in the visualization test project were flipped so
that the design is still facing the viewer at rotation (0,0,0).
2020-03-14 13:59:08 -07:00
..
apple2-bitmap-test-AW-RGB.png Split operand selection set at visualizations 2019-12-05 14:04:38 -08:00
apple2-bitmap-test#061000 Split operand selection set at visualizations 2019-12-05 14:04:38 -08:00
apple2-bitmap-test#061000.dis65 Serialize animations to project file 2019-12-22 16:56:57 -08:00
apple2-bitmap-test#061000.S Split operand selection set at visualizations 2019-12-05 14:04:38 -08:00
apple2-screen-img#062000 Implement Apple II hi-res bitmap font and screen image visualizers 2019-12-04 18:05:17 -08:00
apple2-screen-img#062000.dis65 Serialize animations to project file 2019-12-22 16:56:57 -08:00
atari2600-sprite-test Add Atari 2600 sprite/playfield visualizer 2019-12-06 17:33:29 -08:00
atari2600-sprite-test.dis65 Serialize animations to project file 2019-12-22 16:56:57 -08:00
atari2600-sprite-test.S Add Atari 2600 sprite/playfield visualizer 2019-12-06 17:33:29 -08:00
c64-sprite-test Various minor tweaks 2019-12-07 11:42:26 -08:00
c64-sprite-test.dis65 Serialize animations to project file 2019-12-22 16:56:57 -08:00
c64-sprite-test.spd Various minor tweaks 2019-12-07 11:42:26 -08:00
VisWireframeTest.cs Progress toward wireframe animations 2020-03-07 17:05:08 -08:00
wireframe-test Switch to left-handed coordinate system 2020-03-14 13:59:08 -07:00
wireframe-test.dis65 Switch to left-handed coordinate system 2020-03-14 13:59:08 -07:00
wireframe-test.S Switch to left-handed coordinate system 2020-03-14 13:59:08 -07:00