Dec 15, 2010 - Post processing pipeline started

Previous week was spent on post-processing. Pipeline is implemented in the engine now. Also motion blur done as post-process (built from Geometry Buffer, described here ) and can be safely disabled. My paper library became useful.

This motion blur goes from camera movement, per-object motion blur will be implemented later (per pixel velocities will be saved in Geometry Buffer).
Motion blur in action, kernel from 15 samples:



Original scene:


Several post-processing effects are scheduled - glow pass (blur bright parts of the scene), Analytical Anti-aliasing, Depth of Field and more.
Mirrors and reflections (deferred) are started.

Dec 13, 2010 - 47

very inspirational reading, Shishkovtsov is smart guy http://www.eurogamer.net/articles/digitalfoundry-tech-interview-metro-2033
especially deferred reflections - so simple idea to make reflections in deferred shader! just render reflected attributes (position, normal etc) into Geometry buffer and draw as usual.
also I am thinking about implementation of Exponential Shadow Maps after reading it.
I read the article half of year ago and have rewritten engine significantly after that. Thread pool was added, engine was detached into several parts etc.

Dec 5, 2010 - Update




Plan for November for Editor development was over-fulfilled. Over 30 tasks were implemented in time.
New features:

  • editable scaling
  • asset preview for sounds, scripts and textures
  • skyboxes (simple, without any dynamic)
  • new gizmos for move, rotate, scale entities

Dec 1, 2010 - Normal texture trick

I found interesting trick for accessing normals from textures.
http://code.google.com/p/nvidia-texture-tools/wiki/NormalMapCompression Shortly, it allows to use DXT1 and DXT5 bump textures with same shaders. It’s important for editor because bump texture in DXT5 will be ready only at the last stage - game packaging. There will be small difference in object appearance during in-Editor testing because DXT1 is not good for normals, but I think it’s acceptable.

Nov 23, 2010 - Auto-reloading resources




Auto reloading resources are implemented for the Editor. Scripts, textures, models (by background thread, thus not stopping work), shaders are loading automatically after switching from editing application (Photoshop, 3ds max etc) into Editor.
Also - camera manipulation - zoom to selected objects, top, bottom, left, right, front back view of selected objects. UI for edit assets in external application (defined by OS), opening resource location in the Explorer, import from Assets window.

Nov 18, 2010 - Big face on landscape


During testing new features of the editor, I set landscape texture to random photo. Interesting effect, to walk on gigantic face!

New features are:
<ul><li>import of 3d models from FBX file by Autodesk FBX SDK

  • tracing of landscapes by tracing of heightmaps (faster then tracing actual geometry)
  • assigning of materials, scripts, audio files to objects by dragging from Explorer or Assets window
  • Scripts - editing by Notepad, assigning to object, removing.
  • Depth Pass before Geometry Buffer Pass, for Deferred Shading
  • Current insertion position, for cut-copy-paste

Nov 5, 2010 - 42

Weekly editor image.

Deferred shading restored, shadow maps, landscapes by clipmaps, translation and rotation of entities by mouse with restriction by selected axis (x, y, z).
Plan for the next 2 months is prepared, to complete first version of editor and engine.

Oct 25, 2010 - editor status




Editor is developing very fast. A lot of things are complete - window layout management, editing of object’s type, assets management (drag and drop assets to scene from asset tree, renaming, deleting etc), project save/load etc.

Next week I will prepare video.

I see light at the end of the tunnel ))

Sep 30, 2010 - 40

Some progress with editor - project loading/saving,
list of assets, list of entities, property editing. All by in-game
3d ui with undo/redo.


Sep 28, 2010 - vacation

I am back from 3 weeks vacation… 5 countries, 11 flights. Started project management for Editor.