jendrikillner

Profile
Montreal, Canada
1 comments
31 followers
166 entries
Advertisement
jendrikillner
July 08, 2018
Graphics Programming weekly - Issue 46 — July 8, 2018
Progressive Sampling Strategies for Disk Light Sources
  • comparison of combinations of six different sampling strategies for disk area light sources and 9 sample sequences
  • testing is done for wholly and partially illuminated regions
  • the best result could be achieved with the…
1,156 views
jendrikillner
July 01, 2018
Graphics Programming weekly - Issue 45 — July 1, 2018
High-Performance Procedural Noise using an Histogram-Preserving Blending Operator
  • a technique that allows the generation of infinite output space from a small example texture (such a grass, snow) in a pixel shader only
    • for example tillable terrain textures
    • cheap to evalua…
3,891 views
jendrikillner
June 24, 2018
Graphics Programming weekly - Issue 44 — June 24, 2018
Breaking down barriers – part 3: multiple command processors
  • discusses problems with synchronization between unrelated work when using a single command queue
  • showcases how two command queues can achieve better overall utilization at the cost of longer latency
992 views
jendrikillner
June 17, 2018
Graphics Programming weekly - Issue 43 — June 17, 2018
Using Compute Post-Processing in Vulkan on Mali
  • how to use two Vulkan queues to enable optimal scheduling for compute-shader based post-processing
  • discussion how fragment → compute can introduce bubbles on the hardware
  • uses two software queues with semaphore synchronizatio…
1,101 views
jendrikillner
June 10, 2018
Graphics Programming weekly - Issue 42 — June 10, 2018
Real-World Measurements for Call of Duty: Advanced Warfare
  • this in-depth document (26 pages) covers how real-world measurement is used to achieve correct lighting in call of duty
  • explanation of camera concepts
  • getting relative EV differences between light and shadowed area…
1,042 views
jendrikillner
June 06, 2018
Graphics Programming weekly - Issue 41 — June 3, 2018
The Machinery Shader System (part 3)
  • shader authors can define variations of shaders with a number of systems
  • each system can inject code/resources/constants into the shader
  • a material allows specifications of which shaders belong together, which systems they use and allow…
1,130 views
jendrikillner
May 27, 2018
Graphics Programming weekly - Issue 40 — May 27, 2018
INSIDE shipping on iOS
  • many optimization lessons learned for mobile
  • how to deal with shader preloading
  • discussion of error detection in automated image comparison tests
  • increased game brightness to reduce the use of display backlights to save battery and reduce heat
  • using …
1,348 views
jendrikillner
May 20, 2018
Graphics Programming weekly - Issue 39 — May 20, 2018
Kernel Foveated Rendering
  • 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 tr…
1,051 views
jendrikillner
May 13, 2018
Graphics Programming weekly - Issue 38 — May 13, 2018
Optimizing Vulkan for AMD and the tale of two Vulkan drivers
  • experience of using vulkan with AMD drivers (stock and open source)
  • comparison of register usage with different shader compilers
wayback-archive

Vulkanised is …
1,042 views
jendrikillner
May 06, 2018
Graphics Programming weekly - Issue 37 — May 6, 2018
Stylized VFX in RIME – Water Edition
  • how the stylized vfx in Rime was implemented
  • short overview of fire and smoke effect
  • in-depth overview of the water rendering implementation
wayback-archive

SPIRV-Cross - Reflection AP…
1,042 views
jendrikillner
April 29, 2018
Graphics Programming weekly - Issue 36 — April 29, 2018
Nubis: Realtime volumetric cloudscapes in a nutshell
  • summary of
    • cloud modeling and authoring system
    • lighting model
  • high level overview of the implementation
wayback-archive

Stratified sampling
  • environmen…
1,004 views
jendrikillner
April 22, 2018
Graphics Programming weekly - Issue 35 — April 22, 2018
2018 Vulkan Developer Day in Montréal
  • April 30th, Vulkan Developer Day in Montreal, hosted by Ubisoft
wayback-archive Recolouring assets with lazy unwrapping!
  • UVs map into a gradient texture
  • to change the c…
1,132 views
jendrikillner
April 15, 2018
Graphics Programming weekly - Issue 34 — April 15, 2018

Exploring scriptable render pipelines in unity 2018.1 [wayback-archive]

  • overview of the scriptable render pipeline
  • walkthrough of the development of a pipeline for mobile VR, code on github
  • lighting, fog, lightmaps, shadows, light/reflection probes, transparency

SymPy case studies, part 2: deriv…

912 views
jendrikillner
April 08, 2018
Graphics Programming weekly - Issue 33 — April 8, 2018

Breaking down barriers – part 2: Synchronizing GPU threads [wayback-archive]

  • explanations of barrier behaviour on a simplified GPU model
  • how split barriers help to increase GPU utilization

Color: From Hexcodes to Eyeballs [wayback-archive]

  • in-depth introduction into light theory, human perceptio…
871 views
jendrikillner
April 01, 2018
Graphics Programming weekly - Issue 32 — April 1, 2018

Triangle Visibility Buffer [wayback-archive]

  • in-depth walkthrough of the GPU triangle culling pipeline
  • render into a single render RGBA8 render target, storing drawID + triangle ID
  • memory usage comparison with deferred shading
  • at shading time
    • lookup the triangle ID from the render target
    • interpo…
935 views
jendrikillner
March 18, 2018
Graphics Programming weekly - Issue 31 — March 18, 2018

This week I am at GDC, therefore there will be no newsletter at the end of the week. If you would like to meet during the week, send me an email or message me on twitter. DMs are open.

The series will return on April 2nd.

Meta loader for Vulkan API

  • dynamically loads vulkan entry points, bypassi…
920 views
jendrikillner
March 11, 2018
Graphics Programming weekly - Issue 30 — March 11, 2018

Porting GPU driven occlusion culling to bgfx [wayback-archive]

  • breakdown of how a gpu driven pipeline can be implemented with bgfx
  • indirect buffer writing from the CPU not supported so using regular instancing instead

Breaking down barriers – part 1: what’s a barrier? [wayback-archive]

  • look at d…
885 views
jendrikillner
March 04, 2018
Graphics Programming weekly - Issue 29 — March 04, 2018

Rendering in Camera Space(ish) [wayback-archive]

  • shows effects of floating point precision loss far away from the origin
  • transforms rendering to be relative to the camera position in the world instead of the origin of the world
  • this makes rendering precision independent from the position in the w…
873 views
jendrikillner
February 25, 2018
Graphics Programming weekly - Issue 28 — February 25, 2018

Youtube - Wolfenstein 3D’s map renderer

  • in-depth breakdown of how the Wolfenstein 3D renderer works
  • explanation of the ray-casting logic
  • derivation of the mathematics found in the code

Fast way to render lots of spheres [wayback-archive]

  • spheres drawn in pixel shader using ray-sphere intersectio…
848 views
jendrikillner
February 18, 2018
Graphics Programming weekly - Issue 27 — February 18, 2018

Descriptor Pool Challenges in Vulkan [wayback-archive]

  • looking at the descriptor pool problem with multiple worker threads
  • variable workload makes it difficult to correctly size the pools
  • discussions of workarounds
  • proposal of a flag for lock-free descriptor allocation
    • looking at the AMD driver …
896 views
jendrikillner
February 11, 2018
Graphics Programming weekly - Issue 26 — February 11, 2018

The Peak-Performance Analysis Method for Optimizing Any GPU Workload [wayback-archive]

  • how to use GPU counters to detect interactions between different hardware blocks
  • discussion of case studies
  • walkthrough of analysis, code examples to show optimizations and discussion of results

Pre-Multiplied …

815 views
jendrikillner
February 04, 2018
Graphics Programming weekly - Issue 25 — February 4, 2018

Optimized Swapchain in Vulkan [wayback-archive]

  • discussion of different approaches, overview of strengths and weaknesses
  • recommends splitting command buffers into two groups
    • pre-acquire (everything that doesn’t write into the swapchain)
    • post-acquire (everything that writes into the swapchain)
  • a…
864 views
jendrikillner
January 28, 2018
Graphics Programming weekly - Issue 24 — January 28, 2018

Tightening Up the Graphics: Tools and Techniques for Debugging and Optimization

  • aimed at beginners in graphics programming
  • overview of common problems and causes
  • renderdoc explanation
    • feature and interface overview
    • how to use it to detect problems
  • GPU perf studio and how to profile your applica…
855 views
jendrikillner
January 21, 2018
Graphics Programming weekly - Issue 23 — January 21, 2018

Experiments in GPU-based occlusion culling part 2: MultidrawIndirect and mesh lodding [wayback-archive]

  • using DrawIndexedInstancedIndirect (on AMD and Nvidia with API extensions)
    • all vertices in large buffers with manual vertex fetch in the vertex shader
  • how to integrate level of detail for mes…
931 views
jendrikillner
January 14, 2018
Graphics Programming weekly - Issue 22 — January 14, 2018

The Rendering of Middle Earth: Shadow of Mordor [wayback-archive]

  • gbuffer breakdown
  • blood rendering as gbuffer modifier
  • tessellation
    • uses a point cloud as input and a tessellation shader calculates the polygons
  • SSAO has two distinct channels that get applied to specular and diffuse separately
  • t…
841 views
jendrikillner
December 17, 2017
Graphics Programming weekly - Issue 21 — December 17, 2017

Unreal Engine 4 Rendering Part 1: Introduction [wayback-archive]

  • focus on the deferred shading pipeline
  • settings required for good development experience
  • how data is passed from updated thread -> engine thread -> gpu
  • how shader system is structured
  • binding between HLSLS and C++
  • how the corr…
840 views
jendrikillner
December 10, 2017
Graphics Programming weekly - Issue 20 — December 10, 2017

White Paper: Foveated Rendering [wayback-archive]

  • overview of typical VR rendering pipeline
  • lens distortion causes pixels towards the edges to be distorted more
  • Foveated takes advantage of this and uses a variable quality across the screen
  • how to implement it using the opengl multiview extension
883 views
jendrikillner
December 03, 2017
Graphics Programming weekly - Issue 19 — December 3, 2017

PIX 1711.28 – GPU memory usage, TDR debugging, DXIL shader debugging, and child process GPU capture [wayback-archive]

  • can track d3d12 heap usage during timing captures
  • experimental TDR (Timeout Detection and Recovery) debugging support
  • shader debugging for DXIL (new intermediate shader language)
841 views
jendrikillner
November 26, 2017
Graphics Programming weekly - Issue 18 — November 26, 2017

Decima engine: visibility in horizon zero dawn [wayback-archive]

  • seperate system for statics and dynamics
  • world broken into tiles
  • sort key is used to define clusters
    • lod ranges, filter masks
    • morton numbers for spatial partioning
  • tile/cluster culling on the CPU
    • launch one GPU culling job for ea…
857 views
jendrikillner
November 19, 2017
Graphics Programming weekly - Issue 17 — November 19, 2017

Last Week on DirectX Shader Compiler (2017-11-14) [wayback-archive]

  • support for explicitly sized types 16 to 64 bits
  • spir-v improvements

Embree v2.17.1

  • Improved performance of occlusion ray packets by up to 50%

Experiments in GPU-based occlusion culling [wayback-archive]

  • An GPU occlusion system…
844 views
Advertisement

Popular Blogs

shawnhar
Generalist
101 Entries
10 Followers
15 Entries
11 Followers
johnhattan
Programmer
1,277 Entries
48 Followers
ApochPiQ
Generalist
628 Entries
44 Followers
dgreen02
Generalist
338 Entries
56 Followers
Advertisement