Working on the engine

Hello there, it’s time once again.

So yeah. I’ve been away from programming in general for a while but got my spark back recently.

The reason why I haven’t been programming is that I’ve done some other stuff instead, like map making for The Dark Mod (because I’m a HUGE thief series fan and that mod is next to the best thing that has happened to me in quite some time.)

Because I’ve been map making with their (I believe) mission editor and the mod is a mod to Doom3 I’ve gotten closer to seeing how Doom3’s engine architecture works. And I intend on picking up some of the concepts used in that engine to adapt into mine.

The piece of architecture that impresses me the most is how the usage of “Visportals” works. It’s basically a portal from one place to another that checks to see if it needs to render anything from that point on, determined if the player is able to see it. Basically- If cleverly placed, It doesn’t render anything you don’t see, which is a great way to improve performance. It’s a fairly simple concept but it does the job well I think.

If I combine this with my earlier plans to use bounding box frustum culling I think it’ll be a fairly solid system to work with.

The other concept that I’d like to implement is stencil shadowing, such as in Doom3. Given it doesn’t look that realistic in most cases and it’s frowned upon for taking up a lot of CPU bandwidth, I still think it’s a rather cool way to produce accurate shadows.

I think I can implement the “Visportal” system with Ray/Triangle intersection tests to determine first if the “Camera” is able to see the “Visportal” model at all, if not it can cut away everything connected to it in the render queue.

Whatever, I’ll see how that works out soon enough, I’m sure. πŸ™‚

Oh! And it so happens that my engine supports quaternions now, at least it’s apparent that they work as intended, and that means that I can now start to implement bone animation within my custom model file pipeline.

The main problem I’m having now is that I’m still not quite sure of how I can print out bone information in the exporter script I have from Blender. I am able to print out the name of the armature object. Which doesn’t help that much. But since I can grab the armature object I can get to the bones contained within it, I think.

I’ll need to expand the information on my vertices to contain a weight and a name for what bone it is connected to. That way I can easily create a quaternion for each bone, push in all the vertices that the bone needs to move with itself and display it all. πŸ™‚

I can of course animate it by applying rotations and translations for each bone for each frame!

Yes. I’ll get to work on this now. πŸ™‚


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s