Nov 22, 2011

Nov 20, 2011

Contract work progress

before:                                                                                          after:

Hot new links for graphics programmer

Specular Showdown in the Wild West
ACM SIGGRAPH 2011 Course Filtering Approaches for Real-Time Anti-Aliasing
Lighting 3D trees
Lighting 3D trees, take 2
Least Squares Vertex Baking (Ambient Occlusion approximation method)
Speculative Contacts – a continuous collision engine approach
Yet Another Post about Gamma Correction
Simplifying My Workflow
KZ3 Occlusion Culling
DICE GDC Presentations
Normal Offset Shadows
Interactive Indirect Illumination Using Voxel Cone Tracing
Multiprocessor Game Loops: Lessons from Uncharted 2
Stereoscopic 3D Demystified: From Theory to Implementation in Starcraft II
Scalable Height Field Self-Shadowing
Real-time Rendering of Translucent Volumetric Surfaces
Procedural World
Free 3D meshes links
Mikkel Gjoel's Brink OpenGL Talk
FXAA 3.11 Source Updated
NVIDIA FXAA II for Console - the blog
Visibility and priority tests for streaming assets[[Visibility%20and%20priority%20tests%20for%20streaming%20assets]]

VoxelPipe: A Programmable Pipeline for 3D Voxelization

FastFormat (fast/safe pringf alternative)

Links to old good articles

Some links

Single-pass midpoint shadow maps idea.

Nubee skype interview questions

std::map vs std::hash_map

code (cross platform x64 compatible)
tests insertion and search timings:

Asynchronous non blocking curl multi example in C++


NVidia NSight

I was very disappointed as it cant debug/profile OpenGL/CUDA/CL applications on same machine.

Good question to fail ;)

External properties for classes (C++)

Once working on some MMO project based on Reality Engine. Engine has Actor class and its derivatives. Each of them has some amount (> 10) of properties (scale, color, ...). As we had big word (MMO game!) so smooth and fast loading was very important. But I noticed that engine spend some significant memory and loading time on creation abstract class properties.
Lets do some calculations - when need to load 100 Actors its allocate 100*10 = 1000 properties, each property has std::string for it's name and another std::string for description. So loading 100 Actors involves ~3000 additional allocations.

As engine uses that properties them for xml serialization and Editor bindings it was impossible to easily remove them....
That project was closed ^( due to economical crisis.
But recently I got flashback and decide that will be useful to use it in some of my pet projects.

So here is draft version of external properties: