After hours of straining over matrix maths, I’ve finally managed to progress my mini-3D engine past the stage of loading a 3D object.
The latest build allows a mesh file (in this case, a pig) to be loaded into the environment where it may be moved and rotated using the keyboard. Hardly groundbreaking, but trying to make an object move along its local forward (Z-)axis is made all the more difficult by not knowing how matrices work; it is also something that seems to elude even Google.
Another breakthrough for the engine is the success of dynamic lighting. Failing to see why this was not happening before, I finally tweaked enough of the device PresentParameters to get it going.
I’ll be posting an early build demo of the engine shortly once it is a little more polished!
I am writing the engine from scratch using Managed DirectX 9.0c in Visual C#. I have referenced several tutorials for techniques and have converted Nigel Barlow’s C++ based method for moving an object into C#. I hope to complete a very basic engine of my own to fully explore the potential of Managed Direct X coding under C#.