# Tag Info

29

To start, I highly suggest reading Naty Hoffman's Siggraph presentation covering the physics of rendering. That said, I will try to answer your specific questions, borrowing images from his presentation. Looking at a single light particle hitting a point on the surface of a material, it can do 2 things: reflect, or refract. Reflected light will bounce away ...

23

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 turns out that there are a lot of lies we graphics people believe. First, when light hits a surface, the Fresnel equations apply. The proportions of reflected/...

14

The next step up from a pinhole camera model is a thin lens model, where we model the lens as being an infinitely thin disc. This is still an idealization that pretty far from modeling a real camera, but it will give you basic depth of field effects. The image above, from panohelp.com, shows the basic idea. For each point on the image, there are multiple ...

12

Warning: I am not a physicist. As Dan Hulme already explained, light can't travel through metals, so dealing with IOR is a lot more... complex. I will answer why that happens and how to calculate the reflection coefficient. Explanation: Metals are filled with free electrons. Those electrons react to external fields and reposition until electrostatic ...

10

Here's a chromaticity diagram that includes a projection of the sRGB color space: a triangle whose vertices are red (1,0,0), green (0,1,0), and blue (0,0,1). Encoding the reflectance of a surface as the color at F0 and getting a value that is outside of the (somewhat arbitrary chosen) sRGB gamut is totally reasonable. It just means that gold is "more red" ...

10

RGB color is a bit more complicated a subject than readily seems apparent. The reflectance wavelength diagram shows the reason quite well actually. RGB color model has several central problems: What the colors represent: They represent 3 spikes in a continuous spectrum. The R, G and B aren't energetically equivalent let alone evenly spaced. What their ...

8

The concept of a point source is an approximation. Physically, light sources are extended objects and emit light from every point on their surface; but when you're far enough away (i.e. the distance to the source is large compared to its size) it's useful to approximate it as a point source. You can get the $1/r^2$ law out of it as follows. Imagine a ...

7

Few things, but usually this is what it takes to make the difference: 1- the material reflection at his head, he is bald, yet the diffuse texture shows color difference where the hair is, this means he has a shaved head, not a natural bald, this should translate in reflection, take a look at his head, top right (top left for the image), the reflection is ...

6

Look at the refractive index of several metals. They are all complex numbers and the math does work out when you put this into the fresnel equation: you get the expected high reflectivity at all angles. There are also subtle color shifts because the index depends on wavelength. This is actually used in rendering but it is not common. The function is ...

5

PhysX is a C++ API and can thus not directly be integrated with the JavaScript-based WebGL. Depending on your needs, you have the following options: Use a JavaScript-based physics engine, mostly suitable for 2D use cases. Use a Game Engine that can export for the web (e.g. Unity 3D) and build your application in there, using full 3D physics capability. ...

5

It is the inverse square law of light for a pure point light. $E = \frac{I}{r^2}$ Where E is illuminance and I is pointance or power/flux per unit solid angle.

5

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 image, you will see that they are all lit from the same direction - on their top left side at a consistent 45 degrees. The sphere also appears to be lit from ...

4

I'll give an intuitive idea of the reason in this answer. Once this intuitive idea is grasped, it can be easier to absorb the mathematical descriptions. Other people find it easier the other way around, so look at all the answers and see which approach works for you personally. A spherical shell of photons Imagine a point light source. Picture an instant ...

4

I think you identified the problem yourself in your question : it still definitely looks like a 3d model It's obviously hard to tell and subjective, but while many things are off in this picture, the expression and the proportions of the character model are what I find most unrealistic. It is to the appreciation of the art director, but most of the time, ...

4

Hard to say because we can not see the code. Subsurface scattering might be part of that equation. I would just point out that human brains are extremely specialized in facial recognition. It has been postulated that the brain has a inbuilt defence mechanism to detect alien impostors/anomalous people. You are right in middle of what is known as uncanny ...

4

Firstly, I highly suggest reading Eric Heitz's paper "Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs", which covers the full derivation of microfacet-based BRDFs. The $\frac{1}{4(N \cdot V)(N \cdot L)}$ term is a side effect of the derivation of the BRDF for specular microfacets. Specifically, it comes from the Jacobian of the ...

4

See Kolb, et al., A Realistic Camera Model for Computer Graphics, SIGGRAPH 95. However, do bear in mind that camera models which mimic real-world cameras aren't necessarily what you want for the rendering phase. In a visual effects/post-production scenario, the more blur/vignetting/distortion that the camera model introduces, the worse it is for the ...

4

For rendering of gases, I think the usual approach is to simply render each particle as a tiny disc. Gases don't really coalesce into surfaces like liquids do, so this should produce acceptable results. You could perhaps apply a light blur over the gas layer afterwards to soften it and hide the fact that it is made of discrete elements. Liquids, on the ...

4

The shape you’re trying to draw is called a catenary: it’s the shape that a cable/cord of constant density takes when supported at each end. You’ll have to do some research to find a parametric equation for its shape—this page has a start, though it doesn’t let you substitute in the endpoints so you’ll need some additional work there. Once you have an ...

4

Radiance (in terms of flux) has the following definition: $L_o = \frac{\mathrm{d}\Phi}{\mathrm{d}\omega^\perp\mathrm{d}A} = \frac{\mathrm{d}\Phi}{\cos{\theta} \mathrm{d}\omega \mathrm{d}A}$. Thus in order to get the total emitted power we need to integrate over the area of the light and we need to integrate over the projected solid angle of the hemisphere (...

3

For the lightning, I recommend using a midpoint displacement algorithm. You start with a line segment between any 2 points A and B (this works in either 2D or 3D). Calculate the midpoint of the segment AB. Now move that point a random amount in the direction perpendicular to the line segment AB and call it point C. Replace the original segment AB with 2 line ...

3

I can only cite what I have learned in my lecture on Global Illumination techniques which was unfortunately some time ago: Radiant Power : The amount of energy emitted by a light source in unit time. denoted by $\Phi$ and is measured in Watt which equals to Joules per second. (This does not specify any area!) Irradiance: The irradiance denotes the incident ...

3

"the information that $f(l_k,v)$ carries is low-frequency enough": As IneQuation explains, low-frequency was used to refer to the detail of the brdf function. I did actually mean that $f_r$ was low frequency though (which is the case with diffuse lighting), not $L_i$. "with respect to $L_i$": what this means it that, since there aren't any large peaks in $... 3 Here you have a full repository with a lot of papers about light transport. There's also a folder named 'theory' where you can get both intro and advanced refs regard light physics. And much more. I'm personally curating this and keeping up to date with latest advancements. https://drive.google.com/drive/folders/16A6Yj2esRTk0FP-ALr6XfxkGQvTb_1dD?usp=... 3 Referring to the answer that lightxbulb already gave, you can find a very in-depth explanation of the physics of light and their simulation in the thesis of Eric Veach named "Robust Monte Carlo methods for light transport simulation". I read it for a class that I took in Computer Graphics and really liked it. You can find it yourself by searching the web ... 3 as promised, here my answer to your question. As I can't follow your code completely (I spend most of my time implementing my code :D ) I can only explain to you what the last step is. So why do we do interpolation here at all? Well the article already describes well that this piece helps creating a smoother geometry. This works, because we take into ... 2 I see several things that are off in addition to what others have said. He doesn't appear to be breathing. He's in a very cold place (it appears to be snowing), yet there's no breath in front of his nose or mouth. It's snowing, but none of the snow is in front of him. It's all behind him, or on his clothes, but not falling around him. I feel like our brains ... 2 Thanks for your answers. That was helpfull. This is how I understand the 1/r² term for point source (tell me if I'm wrong). Let's take the BRDF definition : $$L_o = \int f(\omega, \omega_o) \, dE$$ Now, we have to answer this question : How is the Irradiance E distributed ? For one point source, we have : $$dE = \delta(\omega_i-\omega)E \, d\omega$$ ... 2 Say the point light is at$P_L$, the shading is happening at$P_S$It's true that the radiance is constant along a shadow ray$P_L \rightarrow P_S$, but that's not the key property for solving the rendering equation at$P_S$. The rendering equation, somewhat simplified, is:$L_o(\omega_o) = L_e(\omega_o) + \int_{\Omega} \, f_r(\omega_i, \omega_o)\, L_i(\...

2

Compare it with someone else's software. Run some standardized test and find out if you get roughly the same answer as others. If you get the same answer, than the probability of having your code right is quite high. Some tests: Flow past cylinder. In 2d take rectangular domain, cylinder in the middle, inflow on the left, outflow on the fight and calculate ...

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