47 votes
Accepted

Physically based shading - ambient/indirect lighting

Real-time graphics deploys a variety of approximations to deal with the computational expense of simulating indirect lighting, trading off between runtime performance and lighting fidelity. This is an ...
Nathan Reed's user avatar
  • 24.8k
23 votes

How physically-based is the diffuse and specular distinction?

I was actually wondering about exactly this a few days ago. Not finding any resources within the graphics community, I actually walked over to the Physics department at my university and asked. It ...
geometrian's user avatar
  • 1,950
17 votes

What are Spherical Harmonics & Light Probes?

Spherical harmonics If you know what a Fourier transform is, you already almost know what spherical harmonics are: they're just a Fourier transform but on a spherical instead of a linear basis. That ...
Dan Hulme's user avatar
  • 6,700
14 votes
Accepted

What are Spherical Harmonics & Light Probes?

Basics of Spherical Harmonics Spherical Harmonics is a way to represent a 2D function on a surface of a sphere. Instead of spatial domain (like cubemap), SH is defined in frequency domain with some ...
JarkkoL's user avatar
  • 3,616
13 votes

Correct Specular Term of the Cook-Torrance / Torrance-Sparrow Model

I would trust Pharr and Humphreys on this. Equation 2 also agrees with the SIGGRAPH Physically Based Rendering course notes, as well as with equation 20 in the Walter et al paper that introduced the ...
Nathan Reed's user avatar
  • 24.8k
13 votes
Accepted

For shader math, why should linear RGB keep the gamut of sRGB?

Talking about Linear RGB must be avoided because it does not tell you anything about the RGB colourspace intrinsics, i.e., Primaries, Whitepoint and Colour Component Transfer Functions. A few years ...
Kel Solaar's user avatar
10 votes

What are the current open problems in Computer Graphics?

There is a vast amount of open problems in real-time graphics: shadows, aliasing, reflections, global illumination, transparencies (blending order and lighting) etc. SIGGRAPH annually hosts a course ...
Krzysztof Narkowicz's user avatar
9 votes
Accepted

Physically Based Area Lights

When I implemented real-time area lighting, there were two documents I kept referring to: "Moving Frostbite to PBR" by Sebastien Lagarde and "Real Shading in Unreal Engine 4" by ...
JarkkoL's user avatar
  • 3,616
9 votes
Accepted

16bit half-float linear HDR images as (diffuse/albedo) textures?

In film production, we almost never use 8-bit textures for color/albedo, because of banding, etc. (JPEG is especially problematic since by spec, it's sRGB rather than linear values.) We either use '...
Larry Gritz's user avatar
8 votes
Accepted

Does PBR incur a performance penalty by design?

As mentioned in this answer, Physically-Based Rendering isn't a set number of things. It's a concept. It's akin to saying something is 'Environmentally Friendly'. There are many different techniques ...
RichieSams's user avatar
  • 3,732
8 votes
Accepted

Compensation for energy loss in single-scattering microfacet BSDF models

To my knowledge, there is no easy and analytic way of recovering the energy lost in single-scattering models. The previous techniques precompute the energy loss and reinject it in the BRDF as a ...
Eric Heitz's user avatar
8 votes

16bit half-float linear HDR images as (diffuse/albedo) textures?

Yes, it's possible in some extreme cases for HDR lighting and tonemapping to expose banding issues in color textures. In those cases, having a higher bit depth for the textures could be useful. ...
Nathan Reed's user avatar
  • 24.8k
8 votes
Accepted

Area Lights in Path Tracing

I'm going to provide the simple/naive/brute force answer to this question, which does work, and gives accurate results. There are better answers however, which make the rendering converge faster with ...
Alan Wolfe's user avatar
  • 7,751
7 votes
Accepted

Alternatives to Ambient Occlusion

Ambient occlusion cannot be physically based no matter what algorithm you use to calculate it. It's a simplification of global illumination that assumes all occluders only block light and are ...
Quinchilion's user avatar
7 votes
Accepted

Roughness Value of (Close to) Zero in Physically Based Rendering

Yes, I think it's expected that setting roughness = 0, combined with using point lights for illumination, leads to no visible specular highlight. The size of the highlight is infinitesimally small, so ...
Nathan Reed's user avatar
  • 24.8k
6 votes
Accepted

What are some new Real-Time Graphics Rendering Techniques to get closer to real life?

PBR isn't just a feature you "add to a rendering engine" but an entire philosophy how to approach solving rendering problems. This seems to be a common prevailing misconception when people talk about ...
JarkkoL's user avatar
  • 3,616
6 votes

Physically based shading - ambient/indirect lighting

This is the main 'hard' problem remaining in real-time CG, and there is a lot of research ongoing into solving it. The biggest hurdle is that in raster graphics, each component of the scene is ...
russ's user avatar
  • 2,372
6 votes

What are Spherical Harmonics & Light Probes?

Spherical harmonics Let's say you have some data in an array but you want to represent that data with a fewer number of bytes. One way to do that could be to express the data as a function instead ...
Alan Wolfe's user avatar
  • 7,751
6 votes
Accepted

The reciprocity of BRDF

You probably know that the BRDF is to calculate the reflected light, from a light source to a camera (In examples a light source and a camera is used, but it does not need to be just that). The ...
bram0101's user avatar
  • 1,595
6 votes

Why is eye-based ray tracing preferred over light-based ray tracing?

As you point out there is problems about which pixel on the camera to connect to. You probably wouldn't notice where you took the sample on an area light because generally the light is pretty uniform ...
Peter's user avatar
  • 519
5 votes
Accepted

Better Shadow Mapping Techniques

For light sources with larger solid angle and where the shadow caster is relatively closer to the light than the receiver, you get notable soft shadowing effect. So if you render larger light sources ...
JarkkoL's user avatar
  • 3,616
5 votes

16bit half-float linear HDR images as (diffuse/albedo) textures?

I'd like to invite readers to read this article about Quake 2 engine rasterization technology explained in details, if they have the time. If TLDR, please pay attention to this image: What we see is ...
v.oddou's user avatar
  • 623
5 votes

What are the current open problems in Computer Graphics?

Computer Graphics can be divided in multiple subdomains of which I will only talk about physically-based rendering (the one I am the most familiar with and probably the one you are referring to based ...
Matthias's user avatar
  • 1,044
5 votes

Resulting Probabilty Density in Path Tracer for paths using Next Event Estimation

I don't have any experience with Gradient Domain Path Tracing, but here are my thoughts: There seems to be a different problem If you look carefully at the little spikes of distortion in the final ...
trichoplax is on Codidact now's user avatar
5 votes

Books to learn Ray Tracing

For an introduction, you can give a look at: Ray Tracing from the Ground Up (Amazon link here). It starts really from the basics, and provides simple implementations for the concepts that are ...
wip's user avatar
  • 1,851
5 votes
Accepted

Depth of Field in Path Tracing: What do I do with the secondary ray?

The missing step If you already understand how to generate a secondary ray, then you have already grasped the difficult part. All you need to do now is find the colour that this secondary ray results ...
trichoplax is on Codidact now's user avatar
5 votes
Accepted

Trying to understand environmental cubemaps

Your confusion comes from fact that in some basic tutorials like one you point cubemap which is used for applying lighting is global and static - it does not come from actual geometry but from infite ...
mdkdy's user avatar
  • 2,119
5 votes

For shader math, why should linear RGB keep the gamut of sRGB?

In practice, when we say "linear RGB," we mean "sRGB without the gamma correction." It would be more correct to say that there is the "sRGB colorspace" and the "linearized sRGB colorspace", with the ...
Nicol Bolas's user avatar
  • 9,697
5 votes
Accepted

How to set equivalent PDFs for cosine-weighted and uniform-sampled hemispheres?

So, for Uniform sampling the PDF is $1/2π$, For Cos-weighted its $cos(θ)/π$. The Lambertian BRDF has a $\pi$ term as well in the denominator for energy conservation. When not optimizing things you ...
gallickgunner's user avatar
4 votes
Accepted

Error with tube lighting

Found the solution, it turns out the lightVec is not the vector of light from the tube but rather the direction the tube will point. Therefore i will need to pass it a light rotation value to be used ...
Josh Nuttall's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible