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 ...


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 ...


2

PCSS is looking less attractive as a real time shadowing technique since it has limited performance, largely due to the size of the shadow map and the number of samplers that must be taken in order to get acceptable results. I would recommend implementing it anyway largely because the same techniques are used in other shadow generation algorithms and it is ...


1

Ok. So Finally, I have solved the problem. This problem I been working on for a couple of weeks. Had to go through several books in math, gamedev etc. Went through all my code, to see if I had something I did missunderstand. Finally I found the problem! I was trying to store normals in the texture, with values between [-1, 1], I did not think about the ...


1

You're not correctly inverting the mapping you used to store the depth value. When storing it you use: vDepth = -(vPos.z - NearPlane) / ( FarPlane - NearPlane); Then you reconstruct it as: const float depth = normalDepth.w * (FarPlane - NearPlane); but this misses both the offset by NearPlane, and the negative sign to flip the Z axis (since it points out ...


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

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