I'm going to break the rules, a bit, and brag about a side project, only somewhat loosely related to OSDev.
I have been working on, in my spare time, a 2D/3D graphics interface that would allow me to draw primitives (points, lines, triangles, etc.) to either an in-memory bitmap, directly to the screen in graphics mode, and even draw in text mode with the exact same interface.
I finished the 2D point and line rendering methods, and started working on my 3D triangle rendering. However, there is a lot involved in getting 3D primitives to render correctly, so I decided to do a proof-of-concept first, and I decided to do it using JavaScript running in a web browser.
So, after a few weeks of very slow progress, today I finally got to sit down and finish what I had started out to do. I have a single page containing a Canvas, and enough JavaScript to create and multiply matrices, transform vertices, draw 3D points, lines and triangles using either global colors, vertex colors, or vertex texture coordinates, all with pre-multiplied alpha blending.
Now, I just need to add some clipping frustum logic, add a depth buffer, and reorganize everything into a more pixel-shader-friendly structure. Then, of course, rewrite the entire thing in assembly, in my OS. But the hard work is all but done, so from here on out, it should be much more enjoyable.
If anyone is interested, I copied the html file and texture file(s) to the documentation folder of my codeplex repository.
https://ozone.codeplex.com/SourceContro ... Index.htmlAttachment:
screenshot.jpg [ 17.92 KiB | Viewed 6543 times ]