2012
02.16

No, seriously…this is by far the most epic – and by epic, I mean legendary, incredible, amazing – failure I’ve ever had. Don’t ask me how or why, but, for some reason, changing the size of my diffuse texture to 1×1 caused…no, not a scene of solid-colored objects as I had hoped…no, not a failure message from D3D…no, not a crash…but rather, a mind-blowing scene of recursion. Of course, it should have been obvious to me that resizing a diffuse texture would…cause it to be replaced by the primary render target!?!?

This is by far the coolest glitch that has ever befallen me. Every surface displays an exact replica of that which is rendered on the screen (and it also happens that I had SSAO and DoF turned on at the time of the glitch…so it’s a rather beautiful setting for a glitch!). Good example of recursion, yes? Also quite a trip.

But seriously…why didn’t I ever think to do this intentionally???

2012
02.16

Not perfect, but acceptable for my purposes. Also not subtle…but it can certainly be toned down.

2012
02.16

Working on DoF. I obviously messed up, but in an interesting kind of way.

2012
02.15

Experimenting with a simple SSAO implementation. Testing it with a procedural city of cubes (textured by the procedural texture generator, of course). Even this simple SSAO makes a huge difference in the appearance of the image – the whole thing just becomes 100x more believable with the occlusion.

2012
02.15

Ah, yes. There comes a point in every engine’s life where, in order to be hip and cool and eligible to play with all the other cool engines, it must succumb to deferred rendering. XDX is no different.

It will be a long and painful process of converting the existing pipeline to support the deferred renderer, but it will certainly be worth it. During the process, I’m also hoping to unify many of the draw shaders to make everything as simple and clean as possible.

2012
01.23

Trace any individual element, and you see the order.

Sounds deep. It’s really not.

2012
01.19

As a follow-up to the last post, I just couldn’t wait to see what I could do in terms of procedural nebulae with the particle system. The initial results aren’t jaw-dropping, but they do beat previous attempts by a fair amount. The particle-sim nebulae definitely have a more volumetric feel to them (not surprising, considering that they are volumetric, unlike the 2D-noise-based previous attempts).

I actually did a bit of cheating in this shot: I’ve composited the original screenshot with several blurred version of itself. In principle, this is easy enough to do on the GPU with textures. I just didn’t want to go write that code in the simulator, since I want to keep it as a real-time application. There’s still a long way to go in the procedural nebula department, but I believe this represents a step in the right direction.

2012
01.19

I’ve been having a bit of fun with particles and the GUI engine lately.  I experimented with a basic particle simulator in which particles are subjected to a force, where the force’s vector field is defined by functions of complex variables.  My rational behind this was that equations in complex variables have an uncanny ability to produce interesting behavior even with simple operations.  Indeed, I witnessed some pretty cool results!  Thanks to the new-and-improved GUI engine, I was able to control loads of parameters of the simulation in real time, and had quite a bit of fun playing with the math :) Of course, particles do have a tendency to make everything seem cooler than it really is!



I’d call the experiment a success both in terms of it being the first real test of the new GUI engine, as well as the first particle system implemented in XDX.  Oh, and the math was a success as well :D I’m thinking this kind of work may even lead to realistic procedural nebula rendering at some point.  That could be exciting.

2012
01.04

Scrollable windows! That’s the big accomplishment for the past two days.  I certainly wasn’t planning on implementing them when I started, but it was just too tempting.  Not surprisingly, it took a lot more work to implement scrollable windows than any other GUI component so far.  Still, they’re done now, and I’m happy that I put in the time.  They’re going to be absolutely crucial for complex games.

Oh, and those are checkboxes.  They’re not too interesting – only took about 5 minutes to implement, since they’re really just handicapped progress bars (at least, that’s how I see them).

2012
01.02

Work on the GUI system is coming along nicely.  Edits and windows have both improved substantially.  Progress bars and sliders have been added to the mix.

Truth: the only real reason for this post is to show off my sliders, since I’m super-proud of having finally made a half-decent UI :D