Continuing the 3D theme on the oscilloscope
The other day I had nothing to do, and even I accidentally stumbled upon another article on the same topic on the hub, and decided to pile this.
Meet Vector Damage. A full (well, almost) 3D oscilloscope shooter.
It works as follows. There is a controller with an ARM7-TDMI core. In this case, the AT91SAM7S. It is attached to a 2x (actually 4x) channel DAC. I took the components that fell under the arm :)
Everything is drawn dotwise. Each vertex passes through a vertex conveyor, which consists of a transformation in the space of the object, a transformation in the space of the camera, clipping along planes, clipping along Z and, finally, projective transformation.
Drawing takes place not with polygons, as everyone is used to :), but with lines. This is justified because we do not have a Z-buffer.
Clipping occurs using the portal algorithm. That's all.
Here you can download the emulator (which runs under Win and emulates the oscilloscope).
HereYou can download emulator sources (Visual studio 2008, Qt 4.5).
Here are the sources of the firmware (you can collect gnu-arm toolchain)
If you want more details, write in the comments. At the moment, too lazy to write a lot, if someone wants to - I will add more information to the topic.
PS I apologize for the quality of the code: D
Meet Vector Damage. A full (well, almost) 3D oscilloscope shooter.
It works as follows. There is a controller with an ARM7-TDMI core. In this case, the AT91SAM7S. It is attached to a 2x (actually 4x) channel DAC. I took the components that fell under the arm :)
Everything is drawn dotwise. Each vertex passes through a vertex conveyor, which consists of a transformation in the space of the object, a transformation in the space of the camera, clipping along planes, clipping along Z and, finally, projective transformation.
Drawing takes place not with polygons, as everyone is used to :), but with lines. This is justified because we do not have a Z-buffer.
Clipping occurs using the portal algorithm. That's all.
Here you can download the emulator (which runs under Win and emulates the oscilloscope).
HereYou can download emulator sources (Visual studio 2008, Qt 4.5).
Here are the sources of the firmware (you can collect gnu-arm toolchain)
If you want more details, write in the comments. At the moment, too lazy to write a lot, if someone wants to - I will add more information to the topic.
PS I apologize for the quality of the code: D