Michael Belshaw

Home | About
3D Tic-Tac-Toe | Fairings | Hover Craft | Portal Engine | Ray Tracing | Robotics | Star Tracker | Tube Guitar Amp
Long Exposures
Music Sequencing
subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link | subglobal5 link
subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link | subglobal6 link
subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link | subglobal7 link

Portal Engine

small logo

Intro

I started this in mid March 2005. My goal is to make a simple 3D Shooter like Doom 2. This engine will use portals to limit the amount of polygons rendered.

Currently PORTALS are implemented but do not recursively render. Collision detection and textures are working well. Light Mapping has also just been added - working out some of the bugs.

Download Win32 exe here Portal.zip.

Please note that you MUST have a Video Card with OpenGL onboard or this program will run EXTREMELY slow.

 

 

How World Is Stored in Memory

The entire world is loaded into memory at the start of the process. Linked lists were used for Sectors, Polygons and Points to allow for any number of possible combinations. If a polygon is a Portal to another Sector, it will point to the corresponding sector. If the polygon is not a Portal to another Sector it will be NULL.

 

 

Light Mapping

Light mapping has been added to program in this screen shot. Fixed Light Map “U, V” coordinates need to be added so that all object have the same relative orientation with lights. (Currently using texture coordinates for Light Maps, making all textures the same size as the polygon.)

 

Program has been adjusted to correctly scale textures when light maps are used.

Triangler and quad polygons have now been correctly implemented to allow for texture mapping and light mapping.  
 

About | Contact Michael Belshaw | ©2008