Partners: KDAB Whole Tomato Software CppDepend

29 April 2013

Interesting Links In April 2013

This time
  • 25 5 Major Challenges in Real-Time Rendering
  • Porting Source to Linux: Valve's Lessons Learned
  • Rendering in Killzone: Shadow Fall at Digital Dragons

25 5 Major Challenges in Real-Time Rendering

Around 2.5 years ago there was a presentation on SIGGRAPH 2010 called 5 Major Challenges in Interactive Rendering. Recently I noticed a refreshed version of this presentation. It appears that we still have the same problems with graphics rendering to solve.
Now... take one issue at a time and solve it :)

Porting Source to Linux: Valve's Lessons Learned

  • Interesting parts, about OpenGL starts from the slide 19 (or even 28)
  • I like the sentence "Reading specs will make you more powerful than you can possibly imagine". Indeed by just reading OpenGL spec you can get a lot of knowledge. Unfortunately it cannot be read that much easily as other OpenGL tutorials/books.
  • Useful extensions, functions:
    • EXT_direct_state_access - a lot of people complain that this extension is still not in Core. This is driver extension only, hardware is irrelevant.
    • EXT_swap_interval - I did not know that Carmack requested its "own" extension to this extension - swapcontrol_tear
    • ARB_debug_output - must have for "modern" OpenGL programming.
    • ARB_texture_storage - manage all levels of a texture and make it more consistent. This can lower overhead in drivers.
    • ARB_sampler_objects - header for texture ware combined with the data, now header can be used separate
    • glBindMultiTextureEXT - quicker way to bind texture to particular texture unit
    • ARB_vertex_attrib_binding - better than VAO?
    • glNamedBufferDataEXT - nice feature from direct_state_access
  • Watch out for driver serialization - use with care: glGet, glGetError, functions that return a value from the pipeline
  • Do not use MapBuffer - causes CPU-GPU serialization!

Rendering in Killzone: Shadow Fall at Digital Dragons

In the mid of April there was an interesting gamedev conference in Cracow. It is called DigitalDragons. I could not be there unfortunately, but I managed to get one presentation out of it. It was presented by my colleague from studies: MichaƂ Drobot who is a Senior Tech Programmer at Guerrilla Games.
Here are some major points from his presentation:
  • Physical Based Lighting (PBI) as an improvement not only for the rendering quality but for the reducing cost of making new assets as well. 
  • Specular Component is most important part of the lighting equation. It can greatly improve quality of the scene. It is very important to use this component right in the pipeline.
  • In the presentation there is a nice part of theory: Image Based Lighting, BRDF, real life examples,  Fresnel [p. Frenel] Effect, how to model materials like metals, light flux, reflections, attenuation. 
  • They decoupled material response and light models. You can take a material and put it into several different environment and they will look good. Previously they used prebaked solution.
  • Movie style of production and resource pipeline.
  • Are we going to see a new style of making assets? Are we ready for it?
  • Support for area lights! Artists like to think in terms of area lights not point lights.
  • Cost of area light is 10...15% higher than the cost of one point light. I am waiting for some more documents from Guerrilla about this topic.
  • Real time ray tracing for reflections? hmm...
  • Presentation is super fast, with a lot of content... be prepared! :) All in all it was very impressive!

Get my free ebook about C++17!

More than 50 pages about the new Language Standard.

C++17 in detail, by Bartlomiej Filipek

© 2017, Bartlomiej Filipek, Blogger platform
Any opinions expressed herein are in no way representative of those of my employers.
This site contains ads or referral links, which provide me with a commission. Thank you for your understanding.