For the past few weeks in the time between work I've been porting texture mapping code originally written in C/C++. The reason is that it could be particularly useful on embedded systems and, of course, for demo scene contests, such as TMDC.

As a result, I've published a sample project, which shows some of the popular algorithms that were previously used in C/C++ and now are available in Delphi. They can be converted to FreePascal/Lazarus with minimal effort.

The project features Affine Texture Mapping, Perspective Texture Mapping, Polygon Clipping using Sutherland-Hodgman algorithm and vector transformation using SIMD/SSE instructions. These algorithms are used in a sample 3D software rendering pipeline, which is capable of displaying textured 3D meshes. An algorithm for generating a PQ Torus Knot in run-time is also provided.

You can obtain the project at this location..
Any comments and suggestions are welcome.

Screenshot: