Graphics Programming weekly - Issue 39 — May 20, 2018

posted in jendrikillner
Published May 20, 2018 Imported
Advertisement
  • implements foveated rendering through usage of log-polar transformation
  • gbuffer is written as normal, attributes transformed into sub-resolution textures using a log-polar transformation
  • shading is done in log-polar space before the results are transformed back into Cartesian space
foveated_rendering.png

  • Intro to sampling theory and how different sampling patterns influence the aliasing that can be observed
  • explanation of why the default D3D11 MSAA has been chosen
sample_patterns.png

  • description of a shader effect that dissolves triangles outside of a spherical effect range
spherical_mask_dissolve.png
  • slerp between two orientations takes the shortest path on a 4D hypersphere
  • author wants the shortest arc in 3D instead
  • decomposes rotation into swing and twist operations
  • these are interpolated independently and concatenated to form the final rotation
sterp.png

  • start of series that will look at lack of multi scattering in common analytical BSDFs and solution
  • only modelling single scattering causes significant energy loss on rough surfaces
  • post shows visual example that up to 60% of energy can be lost
heitz_ss_wf.png

  • derivation of the multi-scattering GGX BRDF
  • provides source code and precomputed lookup tables
MSBRDFOrenNayarFullRho.jpg
  • explains what shader variations are
  • how to compute the amount of variations created for a shader
  • how unity decides what variations to include
  • Unity 2018.2 beta adds the possibility to control shader variation compilation from a C# script
unity_variation_stripping.png

  • new image diff option allows visualization of pixel difference between compressed / uncompressed textures
  • adds model optimizations (vertex cache, overdraw, vertex prefetch optimizations)
  • draco compression support
mesh_optimization.png

  • tool that allows to only include vulkan functionality that you need
  • comparison of header sizes and influence on compile time, startup time
compile_time.png

  • introduction into vectors as functions and dual space
  • how to transform dual vectors
linear-form-1.png
  • uses ShaderGen to write shaders in C# and compile them into the target shader language for D3D11, Metal, OpenGL and vulkan
ToyPathTracerOutput.png

  • website that allows compilation of shaders with a multitude of shader compilers and inspect the available outputs
  • possibility to chain compilers together
shader-playground-compiler-chaining.png

  • tutorial how to use the VK_EXT_debug_utils extensions
  • combines old debug extensions into a unified one and adds more possibilities
  • allows more details to be reported from the validation layer and tools that support the extension
vulkan_debug_utils.png

  • technical details about the font rendering algorithm used in slug
slug_icons.png
  • presents one method to derive the slerp formula for quaternions
slerp_derivation.png
  • discusses issues with composability, how complexity poses a problem of sharing research results
  • list of frameworks for research
  • how the scriptable render pipeline of unity allows more flexibility and still hides most of the complexity
unity_splits.png

  • discusses problems with using a texture atlas
  • set of scripts to help with the creation, management and usage of texture arrays in unity
batches.png
  • technique that helps to reduce problems of disappearing geometry for alpha tested geometry
  • no runtime changes required, only changes the way mips are generated
alphadist_comp1a2c_small.png

Read more

0 likes 0 comments

Comments

Nobody has left a comment. You can be the first!
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement