mirror of
https://github.com/fadden/6502bench.git
synced 2024-12-28 01:29:29 +00:00
b3dacc2613
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). |
||
---|---|---|
.. | ||
AsmGen | ||
Examples | ||
Properties | ||
Res | ||
RuntimeData | ||
Sandbox | ||
SGTestData | ||
Tests | ||
Tools | ||
WpfGui | ||
Anattrib.cs | ||
App.config | ||
App.xaml | ||
App.xaml.cs | ||
AppSettings.cs | ||
AutoLabel.cs | ||
ChangeSet.cs | ||
CodeAnalysis.cs | ||
DataAnalysis.cs | ||
DefSymbol.cs | ||
DisasmProject.cs | ||
DisplayList.cs | ||
DisplayListSelection.cs | ||
Exporter.cs | ||
ExternalFile.cs | ||
FormatDescriptor.cs | ||
FormattedOperandCache.cs | ||
HelpAccess.cs | ||
LineListGen.cs | ||
LocalVariableLookup.cs | ||
LocalVariableTable.cs | ||
MainController.cs | ||
MessageList.cs | ||
MultiLineComment.cs | ||
NavStack.cs | ||
PlatformSymbols.cs | ||
ProjectFile.cs | ||
ProjectProperties.cs | ||
PseudoOp.cs | ||
RuntimeDataAccess.cs | ||
SourceGen.csproj | ||
Symbol.cs | ||
SymbolTable.cs | ||
SystemDefaults.cs | ||
SystemDefs.cs | ||
UndoableChange.cs | ||
VisBitmapAnimation.cs | ||
Visualization.cs | ||
VisualizationSet.cs | ||
VisWireframeAnimation.cs | ||
WeakSymbolRef.cs | ||
WireframeObject.cs | ||
XrefSet.cs |