Most Popular
1500 questions
6
votes
1 answer
BSDF sampling versus light sampling
I wish to understand the specific application of Multiple Importance Sampling (MIS) to weighting BSDF sampling and light sampling together.
Refer to the following diagram from these Stanford course notes:
I understand the source of noise in the…
SomeHumanBeing
- 61
- 2
6
votes
1 answer
Ray tracing implicit surfaces using Sturm's theorem
I am trying to render implicit surfaces given by a polynomial equation $F(x,y,z) = 0$ using Sturm's theorem.
Plugging the parametric ray equation $r(t) = o + td$, where $o\in\mathbb{R}^3$ is the ray origin and $d\in\mathbb{R}^3\backslash\{0\}$ is…
user9485
6
votes
2 answers
Difference in pixels between different monitors' sizes
If I have an image of x/y resolution and display it on a monitor, does this mean that between a 15-inch monitor and a 42-inch, the same amount of pixels (x/y) will be displayed, only that each pixel will be of different size?
In relation to my…
FLUSHER
- 161
- 3
6
votes
2 answers
PBR missing rim darkening on non metallic rough surfaces
If you have a dielectric (non metallic) sphere with a large roughness value (say, 0.95), and put it in a lighting environment that has a constant onmidirectional lighting value (such as 0.5) Cook-Torrance ggx PBR renderers seem to be missing a…
Alan Wolfe
- 7,801
- 3
- 30
- 76
6
votes
1 answer
Same draw call causing extremely different GPU usage under different triangle orders
So I have a bit of a predicament I am trying to solve. I have 10,000 triangle strips I am trying to draw. Each one has a z-order for the entire strip and within each strip the most recent triangles need to have a higher z order than the older one.…
J.Doe
- 1,445
- 12
- 23
6
votes
1 answer
How do I calculate average hue, since the numbers loop around?
If I calculate the average (mean) hue of a set of colours naively, I will get silly answers sometimes.
For example, in HSB/HSL, the average of hue=10 (slightly orange red) and hue=350 (slightly blue red) would arithmetically be hue=(10+350)/2=180…
spraff
- 289
- 3
- 6
6
votes
1 answer
Why are tessellation shaders disliked?
I often hear that tessellation shaders aren't great for performance reasons. Something along the lines that if you try to use a tessellation shader, you'll find that the data you get out isn't sufficient and you'll have to re-do calculations…
Alan Wolfe
- 7,801
- 3
- 30
- 76
6
votes
2 answers
Bokeh from depth map
How do I generate bokeh that simulates shallow depth of field given a perfect depth map?
Here's what I tried:
Generated a sample scene using blender and corresponding depth map
Using Python, generated what sigma (standard deviation) to use at…
Saravanabalagi Ramachandran
- 204
- 2
- 7
6
votes
1 answer
Radiative Transfer Equation for Photorealistic Rendering
I've recently become interested in photorealistic rendering, and I've been looking at the different rendering philosophies. I read this Disney Research bachelor's thesis, which states both the radiative transfer equation…
BJParks
- 63
- 4
6
votes
1 answer
Double precision in shader
for better accuracy, instead of GLfloat, I bound double data and tried to use the data in shader as follow: (I just tested to draw single triangle.)
cpp.
// xyzw three vertices
double points[] = { 0.0, 0.0, 0.0, 1.0 , 1.0, 0.0, 0.0, 1.0, 0.0, 1.0,…
shashack
- 523
- 4
- 13
6
votes
2 answers
When does it make sense to use drawRangeElements
I am trying to understand when it makes sense to use the glDrawRangeElements function.
The OpenGL wiki says:
for optimization purposes, it is useful for implementations to know the range of indexed rendering data
So, as I interpret it, if I had…
Startec
- 781
- 6
- 19
6
votes
1 answer
Microfacet shading for diffuse materials
I recently replaced the Lambertian BRDF in my path-tracer with Oren-Nayar, under the assumption that I could adjust it to use the GGX distribution model with appropriate masking/shadowing.
PBR suggests this is't viable, though - Oren-Nayar is…
Paul Ferris
- 447
- 2
- 11
6
votes
1 answer
How do you design the code of a graphics engine to target multiple frameworks
I am starting to think about how I can make my app (currently written in Metal) available on older device that dont have Metal as well as Android. This is a predicament because while I could write two separate rendering classes that use the…
J.Doe
- 1,445
- 12
- 23
6
votes
0 answers
Avoiding Mach band effect when using multiple lights
I wrote a simple Phong shader with two directional lights for a project, and noticed an unpleasant artifact in the lighting. Where both lights are illuminating the same region, dark bands appear at the light terminators where N.L reaches zero. At…
russ
- 2,392
- 9
- 18
6
votes
1 answer
Where does the cosine factor comes from in the GGX PDF?
The GGX NDF, as it appears on the paper where it is presented is:
$$D(m)=\frac{\alpha_g^2\space\chi^+(m\cdot n)}{\pi\cos^4(\theta_m)(\alpha_g^2+\tan^2(\theta_m))^2}$$
It is equivalent, in the range $[0,\frac{\pi}{2}]$, to the following formulation…
Sebastián Mestre
- 588
- 3
- 16