Render3D - Generic 3D rendering engine

Description

I have made this 3D rendering engine to be as generic as possible, unlike Math3DView. It can render 3D meshes and polylines stored as list of vertices and triangular faces. Render3D comes with four HB++ projects illustrating how to use it and how to embed 3D scenes as binary data or as Palm OS database.

Sample projects

Render3D comes with four HB++ projects illustrating how to use it and how to embed 3D scenes as binary data or as Palm OS database.

Sample project 1: Dynamically creating 3D shapes

This first project shows the basics of using the 3D rendering engine. I've made a special class (BasicShape) that generates the vertices, the UV interpolants and so on. You do not need any 3D models to run the application and you can easily modify the code to create your own 3D objects including your own textures.

Sample project 2: Simple 3D objects

This project is quite similar to the one provided with Math3DView and illustrates the general rules for displaying 3D objects embedded as Palm OS databases (including a set of objects).

Sample project 3: Large 3D scenes, camera displacement

This project is quite harder, I present advanced issues about large 3D scenes and camera displacement. This project comes with two 3D scenes made of a lot of polygons, the rendering speed drastically decreases with textured polygons. The application is quite slow on mid-range devices such as Tungsten E2.

Sample project 4: Large 3D scenes, database generation

That last project is similar to the previous one, the main difference is that the 3D scene is embedded as binary resource and the database is generated "on the fly".