Leave a comment

Another status update

A bunch of random stuff I did in the past week (only one screenshot this time):

  • My shadows always had some annoying issues with respect to determining the view port bounding volume (thus objects would be missed when rendering shadows). I fixed these by sort of hard coding something.
  • More importantly, I got rid of the shadow shimmering that happens when the camera rotates or pans. MSDN has an article on shadow maps that discusses how to eliminate this shimmering by “rounding” the boundaries of your projection so that it always lies on pixel-size increments.
  • I revamped the weather system somewhat. Look for a future post with more detail on this. I added an algorithm that determines ambient wind based on the boundaries of the weather systems. This screenshot shows a wetness map (green), a temperature map (red), and a wind vector map (brownish) that is generated by performing edge detection on the wetness map. 
  • I reduced the snow accumulation map to 32 x 32 (for the whole world).
  • Added lighting debug switches.
  • Removed extraneous render target creation in my RenderManager on startup.
  • Formalized which texture slots have which sampler states (e.g. slot 3 is always PointClamp, slot 13 is always LinearWrap). This reduced state changes, and reduced the number of DirectX calls by 5% for one frame.
  • Sorted tree leaves from top to bottom, to hopefully avoid a bit more overdraw (I didn’t see a noticeable perf improvement).
  • My HDR implementation relies on reading back data from a 1 x 1 render target. It did this right after generating the 1 x 1 render target. Even though I was ping-ponging render targets (and thus reading from the previous frame’s render target), this apparently still causes a stall if the GPU is busy. Moving the GetData call to the beginning of the draw cycle saved me a few milliseconds per frame!
  • Worked on a vegetation animation for wind. I did this in isolation from my main game project (see previous post on this). Now that I have it working I’m going to try to apply it to my auto-generated tree models.
Advertisements

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s

Just another WordPress site

Just another WordPress.com site

The Space Quest Historian

Adventure game blogs, Let's Plays, live streams, and more

Harebrained Schemes

Developer's blog for IceFall Games

kosmonaut's blog

3d GFX and more

Halogenica

Turn up the rez!

bitsquid: development blog

Developer's blog for IceFall Games

Game Development by Sean

Developer's blog for IceFall Games

Lost Garden

Developer's blog for IceFall Games

Memories

Developer's blog for IceFall Games

Casey's Blog

Developer's blog for IceFall Games

Blog

Developer's blog for IceFall Games

Rendering Evolution

Developer's blog for IceFall Games

Simon schreibt.

Developer's blog for IceFall Games

Dev & Techno-phage

Do Computers Dream of Electric Developper?

- Woolfe -

Developer's blog for IceFall Games

Fabio Ferrara

Game Developer

Clone of Duty: Stonehenge

First Person Shooter coming soon to the XBOX 360

Low Tide Productions

Games and other artsy stuff...

BadCorporateLogo

Just another WordPress.com site

Sipty's Writing

Take a look inside the mind of a game developer.

%d bloggers like this: