<p>Consider a triangular face of three vertices A(0,2,-1), B(1,0,1) and the origin O, and the normal vectors at the vertices are nA=(0,1,0), nB=(1,0,0) and nO=(0,0,1), respectively. The incident light is white and directional in direction of L=(1,2,2) and the intensity is 1, the background ambient light intensity is 0.1, and the diffuse reflection coefficients for (red, green, blue) are (0.6,0.7,0.8). No specular light contribution needs to be considered.</p>

<p>Find the (red, green, blue) intensity values at the centre of the face using Gouraud shading.</p>

<p>I do not know how to answer this question and have looked at my lecture slides, youtube videos, computer graphics textbook by Foley and Van Damm and obviously used google. Any help would be much appreciated. </p>

<p>Edit: I want to find the intensity values using Gouraud shading, not flat shading. From my understanding, the intensity at a point is interpolated along polygon edges and scan lines? But with the information I am given in the question, I don't have a clue how to answer this question. This video helped a bit: <a href="https://www.youtube.com/watch?v=_SuyLrU2Xr0&amp;t=142s" rel="nofollow noreferrer">https://www.youtube.com/watch?v=_SuyLrU2Xr0&amp;t=142s</a> but it doesn't set me up for answering this question.</p>

CC BY-SA 3.0
2017-03-28T20:50:01.207Z
Could you explain what you do know about Gouraud shading so we can see what level of explanation you require?
trichoplax is on Codidact now
CC BY-SA 3.0
2017-03-28T21:21:01.400Z
Aaand yet another homework...
ivokabel
CC BY-SA 3.0
2017-03-29T09:03:32.827Z
@trichoplax I edited the question. I have a basic understanding of Gouraud shading. I think the intensity values change as you go through the polygon. I don't really know how to answer the question or where to start though as the symbols used in videos and research I have done do not match the information given in the question.
S.A
CC BY-SA 3.0
2017-03-29T11:05:59.930Z
As an aside, you also need to say whether the colour interpolation is linear in screen space (as would have been the case when the technique was first used) or linear in world (i.e. perspective correct in screen space) as would be the case with modern rendering hardware. (Not entirely sure, but Dreamcast might have been one of the first to do the latter)
Simon F
CC BY-SA 3.0
2017-03-29T12:05:38.497Z
@Simon F not really sure. This is a past exam question. I literally copied and pasted all the information from that question. This was all the information given.
S.A
CC BY-SA 3.0
2017-03-29T13:46:57.390Z
In that case, assuming the light intensity is "1.0", then given constant, diffuse coefficients and a constant direction *to* the light, normalise your light direction, take the dot product with each of your (unit) normals, clamp each to be positive if necessary, average those scalar vals (because you're at the centre of the triangle) add on the ambient, and you can then multiply this by the diffuse surface colour.
Simon F
CC BY-SA 3.0
2017-04-05T08:27:22.913Z
I would have thought you would take the average of the 3 vertex normals to get the triangle centre normal. Then normalise your light direction (1,2,2). So (in psuedo/glsl) saturate(dot( (Na+Nb+Nc)/3, normalize(L) ) ) * diffuseColor;  ?
PaulHK
<rendering>
Find RGB intensity values at center of face using Gouraud shading
S.A
# Find RGB intensity values at center of face using Gouraud shading

(Asked by: username_0 on 2017-03-28)

Consider a triangular face of three vertices A(0,2,-1), B(1,0,1) and the origin O, and the normal vectors at the vertices are nA=(0,1,0), nB=(1,0,0) and nO=(0,0,1), respectively. The incident light is white and directional in direction of L=(1,2,2) and the intensity is 1, the background ambient light intensity is 0.1, and the diffuse reflection coefficients for (red, green, blue) are (0.6,0.7,0.8). No specular light contribution needs to be considered.

Find the (red, green, blue) intensity values at the centre of the face using Gouraud shading.

I do not know how to answer this question and have looked at my lecture slides, youtube videos, computer graphics textbook by Foley and Van Damm and obviously used google. Any help would be much appreciated.

Edit: I want to find the intensity values using Gouraud shading, not flat shading. From my understanding, the intensity at a point is interpolated along polygon edges and scan lines? But with the information I am given in the question, I don't have a clue how to answer this question. This video helped a bit: <https://www.youtube.com/watch?v=_SuyLrU2Xr0&t=142s> but it doesn't set me up for answering this question.

**Tags:** rendering

> **Comments:**
> **username_1**: Could you explain what you do know about Gouraud shading so we can see what level of explanation you require?  
> **username_2**: Aaand yet another homework...  
> **username_0**: @username_1 I edited the question. I have a basic understanding of Gouraud shading. I think the intensity values change as you go through the polygon. I don't really know how to answer the question or where to start though as the symbols used in videos and research I have done do not match the information given in the question.  
> **username_3**: As an aside, you also need to say whether the colour interpolation is linear in screen space (as would have been the case when the technique was first used) or linear in world (i.e. perspective correct in screen space) as would be the case with modern rendering hardware. (Not entirely sure, but Dreamcast might have been one of the first to do the latter)  
> **username_0**: @username_3 not really sure. This is a past exam question. I literally copied and pasted all the information from that question. This was all the information given.  
> **username_3**: In that case, assuming the light intensity is "1.0", then given constant, diffuse coefficients and a constant direction *to* the light, normalise your light direction, take the dot product with each of your (unit) normals, clamp each to be positive if necessary, average those scalar vals (because you're at the centre of the triangle) add on the ambient, and you can then multiply this by the diffuse surface colour.  
> **username_4**: I would have thought you would take the average of the 3 vertex normals to get the triangle centre normal. Then normalise your light direction (1,2,2). So (in psuedo/glsl) saturate(dot( (Na+Nb+Nc)/3, normalize(L) ) ) * diffuseColor;  ?  

---

## 0 answers

