flipCode - Tech File - Conor Stokes [an error occurred while processing this directive]
Conor Stokes
(aka DirtyPunk)
Click the name for some bio info

E-Mail: cstokes@crytek.com

   07/29/1999, Quick Update about Stuff and Things

Okay, first thing I should mention (I got mail over this folks, thanks to those who care enough:) is that when I talked about using FPS, I did not literally mean graphics FPS, I meant a pre-scheduled fps (say 100FPS), so when I say frames, I mean a regular frame update per second, not the actual grafix rate.

Anyway, I decided today that the CI code needed more cleaning up. I had to re-write only one procedure. But, I did overhaul the code pretty majorly. I disbanded the transforms DLL, and moved it all to the 3d driver. This is because I had the problem that the occlusion system I was using before resided in the transforms dll (it was world space) and so did all the octree traversal and so on and so on. So, I made the decision, based on the fact I am using a c-buffer now instead of just a beamtree, that I would have to move that mechanism to the ogl 3d driver. Then I realised, that because I wanted to do hierachy based c-buffer octree node culling, I would also have to move the octree traversal to the 3d driver. Of course, I also needed to move the mini-bsp, and the full frustum, and so on. Sigh, I did this on paper, sketching object diagrams. So, when I sat down to code, I just decided to move it, and salvage all the code.

It went sweet (cool OOP design is just so nice for this). I moved about a thousand lines of stuff over, and did some procedure hacking, and so on, and I got it to compile, and only small warnings reported, that I should turn off anyway ("Can't Pre-Cache Header", and "Restarting compile in ASM". IMHO the later is really redundant. I mean duh I coded some ASM, why wouldn't it do that.). Sigh. Now to finish the renderer.

I also managed to trim the trees a bit, and optimise some code. I finished off a newer version of the octree recursion system, that is now ready to attach to the c-buffer.

Started on the idea of loading based on recursion. The idea of loading based on recursing through the octree is cool. You save a reference point in the file. Then, after compilation you simply recurse based on this point (make it outside the octree root node) and each recursion, you save. To load the file, you load the root node, and then recursively load. So, you simply load in the order you saved. This means you don't have to deal with nasty indexing and such, and you can effectively save the tree. Okay, so this is probably not a new idea by any means, but I think it is useful.

I was planning to compile the levels to C code (structures), and then have lcc (free compiler), compile them to Win32 DLLs. This simple idea can be very expansive. Using DLLs can allow level designers to talk to the programmers, and implement custom movement and such, through DLL hooks. Using the structures is reasonable, but you would still need to index. Although indexing becomes easy. You could still wipe out the extra pointer storage by simply using the recursion method though.

Oh, and I should have screenshots for CI next week, so you guys can quit biting your nails. I got over a driver problem on my development machine, and now all is well. On that note, thanks and gratitude go to DCee (Danial Eineder) for contributing to me a logo for the CI engine. I give it two thumbs up.

Conor Stokes

"Its Manure, plants love this stuff, and so do I, I would eat it if I could." The annoying pratt on Gardening Australia.

  • 12/29/2000 - Techfile From Somewhere Different
  • 10/10/2000 - Some Fun, And A Cameo Appearance
  • 08/10/2000 - Déjà vu - And I've Done It Before
  • 07/08/2000 - Various Loose Ends To Hang
  • 05/15/2000 - The Way To Hit A Ball With A Bat. Or Not
  • 03/28/2000 - The Fine Art Of
  • 02/13/2000 - A Life Time of Learning, Teaching and Eating M&Ms
  • 12/09/1999 - Strangeness And Wondering If You Are Taking Innovation A Tad Too Far
  • 11/12/1999 - How to Break Exam Tension? Update Your Techfile
  • 09/14/1999 - Lots of Ramblings, personal things and comments on why SNFU
  • 08/23/1999 - Trials and Tribulations of Being Cerebrally Defunct
  • 07/29/1999 - Quick Update about Stuff and Things
  • 07/25/1999 - I'm Back Baby
  • 07/01/1999 - Is it so? Or am I just a Psycho Babbling Mental Hobo, who's Brain has No Home?
  • 06/25/1999 - Another Couple of Things
  • 06/17/1999 - I Am A Naughty Little Boy ;( But I Have A Way To Make Up
  • 06/16/1999 - What the hell? A new data structure for visibility? I don't know, I haven't heard of it.
  • 06/05/1999 - A Little Right Brained
  • 05/12/1999 - A Couple O Things
  • 05/08/1999 - Pre Computable Nice Visibility Sets
  • 05/04/1999 - More on Volumetrics
  • 04/30/1999 - Generic Update
  • 04/27/1999 - Spherical Volumetric Rendering (Mapping)
  • 04/25/1999 - Fractal Curves, Emulation Of Nature
  • 04/25/1999 - Claustrophobic Irony Level Loading and Manufacture
  • 04/24/1999 - Visibility Ramblings
  • 04/21/1999 - Why Software Rendering Is Not Dead
  • 04/17/1999 - Optimizing For Specific 3D Hardware

  • This document may not be reproduced in any way without explicit permission from the author and flipCode. All Rights Reserved. Best viewed at a high resolution. The views expressed in this document are the views of the author and NOT neccesarily of anyone else associated with flipCode.

    [an error occurred while processing this directive]