RSSAmplifier

Blog

Self Shadow

Recent content on Self Shadow

blog.selfshadow.comRSS feed ↗34 posts

Latest posts

SIGGRAPH 2026 Links

Session Recordings Real-Time Live! Courses A Whirlwind Introduction to Computer Graphics Advances in Real-time Rendering in Games (to appear) AI for Creative Visual Content Generation Editing and Understanding (CVEU 2026) (to appear) An Introduction to Neural Shading Fluid Simulation with the Lattice Boltzmann Method GPU Ray Tracing using NVIDIA OptiX and OWL How to write a Vulkan application in…

SIGGRAPH 2025 Links

Open Source / Data ASWF Open Source Days Session Recordings Real-Time Live! Courses A Whirlwind Introduction to Computer Graphics An Introduction to Neural Shading Advances in Real-Time Rendering in Games GPU Work Graphs Innovating With Generative AI: A Hands-On ComfyUI Workshop Level-of-Detail for Geometry Processing and Simulation Path Guiding in Production and Recent Advancements - Path Guiding…

SIGGRAPH 2024 Links

Open Access SIGGRAPH 2024 Conference Content Open Source / Data ASWF Open Source Days Caldera: Advances in Real-Time Rendering Session Recordings Keynote: Manu Prakash, The Microscopic Real-Time Live! Birds of a Feather Advancements in WebGL and WebGPU: Latest Updates and Innovations Exploring ANARI: Making the Future of 3D Rendering Available to Everyone glTF: Transforming 3D Asset Delivery for…

SIGGRAPH 2023 Links

Open Access SIGGRAPH 2023 Conference Content Open Source ASWF Open Source Days Birds of a Feather ANARI: The Industry’s First Portable Rendering Engine API glTF: Transforming 3D Asset Delivery for Real-Time Graphics OpenXR: Enabling Cross-Platform VR/AR Experiences The State of 3D Asset Interoperability using USD and glTF Vulkan, Forging Ahead Courses A Gentle Introduction to ReSTIR: Path…

SIGGRAPH 2022 Links

Open Access SIGGRAPH 2022 Conference Content Open Source ASWF Open Source Days Aurora MoonRay Art Papers Field of Leaves: An Interactive Installation Sprouting Leaves Out of Public Money KineCAM: An Instant Camera for Animated Photographs Three Stage Drawing Transfer Woven Behavior and Ornamentation: … Self-Shaping Woven Textiles Birds of a Feather Advanced PBR Material Parameters in glTF…

SIGGRAPH 2021 Links

Open Access SIGGRAPH 2021 Conference Content Session Recordings Real-Time Live! Birds of a Feather 3D Commerce: The art and business of using 3D models in retail… An exploration of pervasive 3D in geospatial with glTF Building the Open Metaverse Ensure Correct Vulkan Synchronization by Using Synchronization Validation Global VFX Pipelines (Google slides) Hands on with glTF: Making 3D…

SIGGRAPH 2020 Links

Open Access SIGGRAPH 2020 Conference Content Session Recordings Course: Advances in Monte-Carlo Rendering: The Legacy of Jaroslav Křivánek Course: Physically Based Shading in Theory and Practice Keynote Real-Time Live! Talk: Point Light Attenuation Without Singularity Technical Paper: A Class of C2 Interpolating Splines Technical Paper: Continuous Multiple Importance Sampling Technical Paper:…

SIGGRAPH 2019 Links

Open Access SIGGRAPH 2019 Conference Content Session Recordings Course: An Introduction to Physics-Based Animation Course: My Favorite Samples Demoscene Worldwide (BOF) Frontiers: How Computer Graphics Expertise Will Further … Machine Learning Frontiers: Imagining a Black Hole with the Event Horizon Telescope Frontiers: Metric Telepresence Frontiers: Speculative Futures Frontiers: Visual…

A Multi-Faceted Exploration (Part 4)

$$ \newcommand{\fss }{\color{gray}{f_\mathrm{ss}}} \newcommand{\fssp}{\color{gray}{f_\mathrm{ss}'}} \newcommand{\fssoi }{\color{gray}{f_\mathrm{ss}(\mu_o, \mu_i)}} \newcommand{\fms }{\color{purple}{f_\mathrm{ms}}} \newcommand{\E }{\color{olive}{E}} \newcommand{\Emo}{\color{olive}{E(\mu_o)}} \newcommand{\Emi}{\color{olive}{E(\mu_i)}} \newcommand{\Em }{\color{olive}{E(\mu)}}…

SIGGRAPH 2018 Links

Open Access SIGGRAPH 2018 Conference Content Recordings Cesium: 3D Globes on the Web Color Mavens Advise on Digital Media Creation and Tools Deep Learning: A Crash Course Demoscene Worldwide Fluids 2: Vortex Boogaloo Introduction to DirectX Raytracing Keynote Address Khronos Group BOF Sessions Ohooo Shiny! Real-Time Live! SideFX: Houdini HIVE The Present and Future of Real-Time Graphics for Film,…

A Multi-Faceted Exploration (Part 3)

A New Dimension In the last post, I’d shown how a small tweak to Imageworks’ multiple-scattering Fresnel term, $\color{brown}{F_\mathrm{ms}}$, brought their approximation closer to the reference solution of Heitz et al. However, there was still a niggling difference at high roughness, most noticeable under uniform lighting: Figure 1: Furnace test, with roughness $\in [\frac{1}{8},…

A Multi-Faceted Exploration (Part 2)

A Random Walk to the Ground Truth In the last post, we saw that significant energy was being lost due to the common single-scattering limitation of microfacet-based shading models: An intuitive way to think about this is that these BRDFs are only modelling direct lighting (= single scattering) of the microsurface heightfield. Indirect lighting (= multiple scattering) is not simulated, and that is…

A Multi-Faceted Exploration (Part 1)

Introduction As part of the Physically Based Shading Course at SIGGRAPH last year, Christopher Kulla and Alejandro Conty presented the latest iteration of Sony Pictures Imageworks’ core production shading models. One area of focus for them was to improve the energy conservation of their materials; in particular they wanted to compensate for the inherent lack of multiple scattering in common…

SIGGRAPH 2017 Links

Open Access SIGGRAPH 2017 Conference Content (for a limited time) Recordings Live Streaming Sessions Courses An Interactive Introduction to WebGL and three.js An Introduction to Laplacian Spectral Kernels and Distances: Theory, Computation, and Applications Advances in Real-Time Rendering (most content online) Applications of Visual Perception to Virtual Reality Rendering Computational Narrative…

SIGGRAPH 2016 Links

Open Access SIGGRAPH 2016 Conference Content (for a limited time) Recordings Courses: Physically Based Shading in Theory and Practice Talks: Brain & Brawn Live Streaming Sessions (free registration required)

SIGGRAPH 2015 Links

Once again, I’m collecting links to SIGGRAPH content: courses, talks, posters, etc. I’ll continue to update the post as new stuff appears; if you’re aware of anything that’s not listed here, please let me know in the comments.

SIGGRAPH 2014 Links

As before, I’m collecting links to SIGGRAPH content: courses, talks, posters, etc. I’ll continue to update the post as new stuff appears; if you’ve seen anything that’s not here, please let me know in the comments. Update: In a welcome change this year, conference content is freely available from the ACM Digital Library (albeit via Author-Izer , so there’s a tedious…

Physically based Shading at SIGGRAPH 2014

2pm, Wednesday 13th August. Located in the west building, rooms 211-214. We’re back once again with the Physically Based Shading (in Theory and Practice) course at SIGGRAPH! You can find the details on the new course page, but I’ll copy the schedule here, for your convenience: 14:00 Physics and Math of Shading (Naty Hoffman) 14:20 Understanding the Masking-Shadowing Function (Eric…

SIGGRAPH 2013 Links

Once again, I’m collecting links to SIGGRAPH content: courses, talks, posters, etc. I’ll continue to update the post as new stuff appears.

Counting Quads

This is a DX11 followup to an earlier article on quad ‘overshading’. If you’ve already read that, then feel free to skip to the meat of this post . Recount As you likely know, modern GPUs shade triangles in blocks of 2x2 pixels, or quads . Consequently, redundant processing can happen along the edges where there’s partial coverage, since only some of the pixels will end up…

SIGGRAPH 2012 Links

As with last year , I’m gathering links to SIGGRAPH content, to complement Ke-Sen Huang’s invaluable Technical Papers list . Please let me know if you have anything to add to the list.

Blending in Detail

+ = By Colin Barré-Brisebois and Stephen Hill. The x, why, z It’s a seemly simple problem: given two normal maps, how do you combine them? In particular, how do you add detail to a base normal map in a consistent way? We’ll be examining several popular methods as well as covering a new approach, Reoriented Normal Mapping, that does things a little differently. This isn’t an…

Blending in Detail

+ = I’ve added a new article, Blending in Detail, written together with Colin Barré-Brisebois, on the topic of blending normal maps. We go through various techniques that are out there, as well as a neat alternative (“Reoriented Normal Mapping”) from Colin that I helped to optimise. This is by no means a complete analysis – particularly as we focus on detail mapping – so we might…

Travelling Without Moving

Lately I’d been getting increasingly frustrated with the limitations of WordPress(.com), so I longed for a change. With the Easter weekend, I finally had a little extra time and energy to make the switch to Octopress, plus a dedicated web host. Hopefully that’ll encourage me to start posting again, or at least remove one major grumble. I’m also looking forward to such liberties as the ability to…

Righting Wrap (Part 2)

Wrapping Paper I first tinkered with SH wrap shading (as described in part 1 ) for Splinter Cell: Conviction , since we were using a couple of models [1][2] for some character-specific materials. Unfortunately, due to the way that indirect character lighting was performed, it would have required additional memory that we couldn’t really justify at that point in development. Consequently,…

Righting Wrap (Part 1)

A while back, Steve McAuley and I were discussing physically based rendering miscellanea over a quiet pint – hardly a stretch of the imagination, since we’re English 3D programmers after all! Anyway, it turned out that we both had plans to write up a few thoughts in relation to wrap shading , and, following some gentle arm-twisting, Steve has posted his. I suggest that you go and read that…

Perpendicular Possibilities

Figure 1: Major axes for original (left), swizzle (mid) and perpendicular (right) vectors. Introduction Two months ago, there was a question (and subsequent discussion) on Twitter as to how to go about generating a perpendicular unit vector, preferably without branching. It seemed about time that I finally post something more complete on the subject, since there are various ways to go about doing…

Hidden Costs

I recently added two of my existing publications, one about high performance dynamic visibility and the other on how to display pixel quad overshading in real-time on Xbox 360. The first of these was originally published in GPU Pro 2. Unfortunately, I missed some errors that crept into the typeset version, so I was pleased to finally correct those and I took the opportunity to rework a few…

Overdraw in Overdrive

This is a tweaked version of a journal entry for the Microsoft Game Developer Network, that’s been cleansed of any non-public Xbox 360 specifics. If you’re a registered developer, I encourage you to check out the uncut edition available there, for full implementation details. Introduction PIX for Xbox 360 is an excellent application for deep analysis of a rendered frame. But, like a…

Practical, Dynamic Visibility for Games

Stephen Hill and Daniel Collin 1. Introduction With the complexity and interactivity of game worlds on the rise, the need for efficient dynamic visibility is becoming increasingly important. As luck would have it, this article covers two complementary approaches to visibility determination that have shipped in recent AAA titles across Xbox 360, PS3 and PC: Splinter Cell: Conviction and…

HPG/SIGGRAPH 2011

Both HPG and SIGGRAPH were a blast and I’m intending to write up a full report soon, but here are some links to conference content in the meantime. If you have any additional sources, please let me know in the comments section and I’ll update the post accordingly.

Specular Showdown in the Wild West

'You see, in this world there's two kinds of people, my friend: Those with loaded guns and those who dig. You dig.' — Blondie. Saddle Up! In this post, I’ll be reviewing some existing methods for attaining well-behaved specular lighting. I’ll also cover a simple twist on these that fits better with current game lighting approaches and console memory constraints. What do I mean by…

Blog Archive

Links