• Advertisement
Sign in to follow this  
  • entries
  • comments
  • views

Entries in this blog

I fixed the vertex buffer issue. It kinda helps if you calculate the offset correctly. :)

I started work on a new tool. The tool is called Actor Workbench. It's going to be a tool that converts file formats to Jet3D's actor format (ACT). So far it just supports Jet3D native formats. I plan to provide a plugin architecture that will allow the community to write their own loaders for other file formats.

We are planning a release (v2.5.1) for February 14th. Stay tuned.

I will end this entry with 2 screenshots of our tools.

Actor Workbench:


DIrectX 9 Woes...

I got a DirectX 9 Driver up and running, but I am having an issue rendering with a vertex buffer. I wrote a caching system that uses 1 dynamic vertex buffer and keeps track of each brush using a vector of a struct that contains the following information:

1. Starting vertex in the VB
2. Number of primitives
3. Number of texture layers
4. The texture array
5. Rendering flags (Alpha blending, Z buffer stuff, ...)

Before DrawPrimitive() is called, I sort the brushes by texture. The Flush() function only changes texture if the texture id is different from the previous one. I am using triangle fans to render as the engine is optimized for that right now.

The original way I did it worked, but was unoptimal. I originally just filled the vertex buffer with the one brush then called DrawPrimitive(). When I switched to the new way, I get a "polygon soup". In otherwords, the level looks exploded. If I figure it out, version 1 of my driver is done. Next step would be to get the world into 1 static vertex buffer.

Old Way (one brush then flush vertex buffer):

New way (fill dynamic vertex buffer, render using saved brush data):
Where to start??? Well...I've been working on my 3D engine, Jet3D. We are trying to upgrade it from DirectX 7 to DirectX 9 and are running into some design issues.

Our engine uses a BSP to render and we've finally found a way to batch render. We decided that the BSP is only good for collision and the engine's toolset. We will render the world using a combination of occlusion culling and frustum culling.

More to come later...
Sign in to follow this  
  • Advertisement