A few days ago I had a chance to attend and speak at Digital Dragons 2017 about rendering in Shadow Warrior 2. It was a total blast – very pro organized, had a honor to meet some incredible people and listen to some very inspiring talks. Anyway, if you are interested in the presentation (with notes), you can download it here – “Rendering of Shadow Warrior 2”.
-
Recent Posts
- Comparing Microfacet Multiple Scattering with Real-Life Measurements
- Biome Painter: Populating Massive Worlds
- GDC 2018 Presentations
- Cloth Shading
- Digital Dragons 2017
- Job System and ParallelFor
- GDC 2017 Presentations
- HDR Display – First Steps
- GDC 2016 Presentations
- Automatic Exposure
- ACES Filmic Tone Mapping Curve
- Analytical DFG Term for IBL
- Lightmapping in Anomaly 2 mobile
- Digital Dragons 2014 Programming Track
- Octahedron normal vector encoding
- Simple GPUView custom event markers
- LA Noire
- Unreal Engine 4 gaussian specular normalization
- Visual C++ linker timestamp
- PixelJunk Eden data extractor
- Virtual memory on PC
- Shader Optimizations
- Software occlusion culling
- Aggregated deferred lighting
- Rendering Light Geometry for Deferred Shading/Lighting
- Siggraph 2010 Papers
- VC++ and multiple inheritance
- CELL SDK installation on Fedora 13 x86_64
- Color grading and tonemapping using photoshop
- C++ compiler VS human
- Particle data structure
- Premultiplied alpha
- SPU programming on a retail “fat” PS3 with Linux
Categories
Follow me on Twitter
My Tweets
Thanks! I found these slides very interesting.
LikeLike
Thank you!
LikeLike
Realtime indirectdiffuseandindirectspecularlighting, cool. But how to blend between the env cubemap?Thanks.
LikeLike
Blending is done in a deferred pass. Its very similar to rendering lights in a deferred renderer. I just draw every shape of local environment map into a light buffer and use alpha blending to falloff on the edges (similar to lights, you can do that in one tiled compute shader too).
LikeLike
Thanks for your reply. I think in any pixel, the sum of all local env map’s blend factor should equal to 1, right? So, how to calculate the blend factor? Or just falloff every env map to zero on the edges? Thanks.
LikeLike
Yes, in every pixel sum of all env map blend factors should be 1. This is why instead of additive blend (like for lights) you need to use alpha blend. And again yes – you need to falloff every env map alpha to zero on the edges in order to hide harsh transitions. E.g. first draw a global env map, then draw your local env maps with some alpha falloff on the borders and alpha blend mode.
LikeLike
Cool, use this method, we can put local env map in any position, don’t need to consider the intersect of each env map volume, and calculate blend factor is easy. Thanks.
LikeLike