5

First, I cannot imagine how could a vertex have a normal,... Welcome to the exciting field of computer graphics. The first thing that might lead to your confusion is to think about a vertex too much as a point in space in a geometrical way. ---> A 3d point can't have normal since it does not have a face. But the way you should think about it is more like a ...


5

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 the sample points (e.g. pixel centers) almost surely miss it. The math breaks down as well, as the reflectance would become infinite on the zero-sized ...


4

The rendering equation aims to describe what the light distribution for a specific scene is, under several assumptions. The most important assumption is that we are working in a geometrical optics framework - so we do not consider the wave properties of light - meaning no diffraction for example, we also do not consider quantum effects, such as ...


3

If silhouette is not important, you could bend the shading normal near edges. Since it's a cube you can probably compute the normal procedurally in the shader based off of the uv. I.e. if uv is in range [0,0.1] or [0.9,1.0] start bending the normal towards horizontal. If silhouette is important, drawing a rounded cube model with vertex normals would make ...


3

By lighting in object space, sure, you could avoid transforming the normals into world space. However, you'd have to transform the light positions/vectors into the object's space. Also, if you want any view-dependent shading such as specular, you would have to transform the camera position into object space as well, to calculate view vectors. Now, all of ...


3

GL_SMOOTH interpolates the vertex attributes of the primitive (triangle), it looks like your normals are setup per face, rather than per vertex. If using normal per face (i.e. a single normal for the triangle), increasing the number of triangles will produce a less faceted look as there is more granularity when interpolating the normals over the surface of ...


1

If you are asking whether: $$ \int fr(...) cos\theta_1Le_1 > \int fr(...)cos\theta_1 fr(...)cos\theta_2 Le_2 $$ (simplified terms from the render equation you posted above), I don't think you could prove this. Le_2 could just be much greater than Le_1. For example you could have a set of mirrors which only hit a light source after two bounces. Then ...


1

Most of the answer is in the text you linked: Shapes almost always sample uniformly by area on their surface. Therefore, we will provide a default implementation of the Shape::Pdf() method corresponding to this sampling approach that returns the corresponding PDF: 1 over the surface area. So it is not always 1. This is just the most basic way to ...


1

If you just want to explicitly sample an area light, then here's the general procedure you should follow. Pick light $i$ out of $L$ lights with some probability $p_i$ (the other probabilities being $p_1,...,p_L$, a light may be picked through inverse transform sampling). Pick a point $\pmb{y}$ on the surface of the light with some probability $q_i(\pmb{y})$. ...


1

If you compute the lighting in object space, before you scale the object then you will get false lighting. Imagine a small cube being lit by a single point light representing a light bulb. Now, scale that cube up to the size of a building. The lighting will have been calculated already, and now the entire building is being lit by a single light bulb.


1

https://courses.cs.washington.edu/courses/cse458/99sp/projects/help/phong_params.html Material Diff. slider Diff. color Spec. slider Spec. color Shininess Metal low color of metal high color of metal high Plastic medium color of plastic medium ...


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