Projects

PHP Data Pivot
PHP Data Subtotals
HTML5 Graph
Java NW3D2
JS Code Formatter
HTML5 Clock
Silverlight Gauge
Java NW3D
Java Fireworks
Java Early 3D
Java Snow
Java Dogfight
Java Water Simulation
Java Bump Mapping
Java Elite Ships

NW3D2 - Changes in V2

The previous implementation of this engine was based on a static, zero-based camera. In other words, the camera was assumed to be located at <0,0,0> with a static view frustum heading forward, along the positive z-axis. Whenever movement was required, all of the vertices within the scene had to be translated or rotated, relative to <0,0,0>. Since I planned to start exploring the use of scenes with a high polygon count this approach would quickly become impractical from a performance standpoint.

I knew this was going to be a constraint when I put together the first iteration, but at the time having all of the vertices in 'camera space' ready to be rendered simplified the mathematics somewhat.

There are two fundamental changes with the new version, they are:-

Render Pipeline

Camera Movement

Camera Rotation

Demo

Let's finish of with a demo just to check that everything is as it should be! Use the cursor keys to move, 'a'/'z' to tilt the camera and 'q' to jump.

No Java Support.

Back to NW3D2 index