Dex3D2

This project has been deprecated in favor of DexVT


PART I - Intro & TOC

<< Previous Main Next >>

Dex3D2

A sphere rendered with Dex3D2's default gouraud shader.

About

Dex3D2 is an open-source 3d engine written in pure c++. It is the official new release of Dex3D, which debuted in '99. The new engine will come in the form of a Windows DLL, however it will export its triangle function so that custum shaders may be coded for other specific platforms / hardware. Basically, VT only handles vertex coordinate calculation and facet shading. The actual rasterization and pixel plotting is done by the programmer. Of course, a default GDI shader will be supplied in the final release. It should run right out of the box.

(note: VT doesn't mean anything.. it just sounds cool)

System Requirements

Download

If your system meets the requirements stated above, you may download Dex3D2 here (with source).

(note: this program is provided AS IS without warranty of any kind.. etc etc)

Render Modes

Dex3D2 supports the following flavors in render modes (*pending implementation).

  Software  GDI  OpenGL*  DirectX* 
Wireframe   X    
Flat X X    
Gouraud   X    
Phong        
Texture-Mapped        
Bump-Mapped        
Ray-Traced        
Radiance        

Screenshots

DC-10 aft with mysterious green lighting

 

Rotorless AH-64 Apache / F-16 Falcon

   

Project Status

This is the approximate project completion status.

Module  Files  Status  Progress 
Dex3D2 Major memory bottleneck discovered.

CURRENTLY IN OVERHAUL.. 

         
Vector DONE! 
         
Matrix DONE! 
         
Object DONE! 
         
Mesh DONE! 
         
Camera DONE! 
         
Light DONE! 
         
Scene DONE! 
         
Surface DONE! 
         
Misc DONE! 
         
Exports DONE! 
         
Shared DONE! 
         
Templates DONE! 
         

(note: finished modules still subject to change)

Macros

These macros are used by modules Vector and Matrix. They are defined in module Misc. Should you want to use Vector and Matrix without including Misc in its entirety, copy-and-paste this code into a header file in your project.

#define randEx(lower, upper) ((float) rand() / RAND_MAX * (upper - lower + 1) + lower)
#define PI ((float) 3.14159)
#define toDegree(angle) (angle * 180 / PI)
#define toRadian(angle) (angle * PI / 180)

Technology

Unlike its predecessor, Dex3D2 will feature a strong modular design. Programmers can choose any level of abstraction they are confortable with in the application and custumization of the engine. Not that modifications are even necessary. VT still supports the same spectrum of functionality as the older version, not to mention a whole new arsenal of cool effects made possible only through the use of c++.

Windows Executable (VB / c++)
OCX (VB)
DLL (c++)
Engine (c++)

 

(note: pending support for .NET architecture)

Sample Source

This is the VB source used to produce the sphere screenshot.

Call Dex3D_AddPoly(10, 18, 9)

Call Dex3D_AddLight
Call Dex3D_AddLight
Call Dex3D_AddLight
Call Dex3D_SetLight(0, vbRed, 1, 600)
Call Dex3D_SetLight(1, vbBlue, 1, 600)
Call Dex3D_SetLight(2, vbGreen, 1, 600)
Call Dex3D_MoveLight(0, -50, 50, -50)
Call Dex3D_MoveLight(1, 50, 50, 50)
Call Dex3D_MoveLight(2, -100, -100, -100)

Call Dex3D_AddCamera
Call Dex3D_SetCamera(0, 60 * 3.14159 / 180, 1, 480, 1, 1, 1, 1)
Call Dex3D_OrbitCamera(0, 0, 0, 0, 30, 30 * 3.14159 / 180, 30 * 3.14159 / 180)
Dex3D_Render(0)

(note: it looks like a lot, but that's only because there's three lights)

Table of Contents

  1. Intro & TOC
<< Previous Main Next >>

Next: EOF (aka no more)


Questions? Comments? Send them here. Or return to deXXed.