Got it. Thanks for the ref. Bw On 10/11/2014 05:34 PM, Cory Quammen wrote: > Bertwim, > > In fact, with Gouraud shading enabled (the default in ParaView when > point normals are available), normals are defined only per point - no > face normal is needed. If you change the Interpolation to Flat under > the "Lighting" section in the Properties panel, only the face normal > will be computed and used for lighting, but objects with smooth > surfaces, such as spheres, won't be rendered very nicely - edges > between adjacent faces will be sharp. > > For a general overview of Gouraud shading and some background on what > is needed for getting sharp edges, please see > > http://msdn.microsoft.com/en-us/library/windows/desktop/bb324491(v=vs.85).aspx > > It is geared towards Direct3D, but the same concepts apply to OpenGL > and in turn VTK and ParaView. > > Cory > > > On Sat, Oct 11, 2014 at 11:13 AM, B.W.H. van Beest <[email protected]> wrote: >> Cory, >> >> So indeed there has to be a normal *per point and per face*, and not >> *per face*? >> And, likewise, points are not shared between adjacent faces. >> I had overlooked that detail in the documentation, tacitly assuming that >> "of course" >> the normals are *per face*. >> >> Regards, >> Bertwim >> >> On 10/11/2014 04:48 PM, Cory Quammen wrote: >>> Bertwim, >>> >>> You are right that there is a redundancy in points. That stems from >>> the need for defining different normals at the corner points for each >>> face. In theory, you could define more than one normal for the same >>> point and associate it with a face, but that complicates the data >>> structure. It is much simpler to duplicate points and associate >>> exactly one normal per point. >>> >>> In most polygonal data, you won't see duplicated points at most >>> places. But for anything that should be displayed with a sharp edge, >>> duplicate points will be present. >>> >>> - Cory >>> >>> On Sat, Oct 11, 2014 at 10:23 AM, B.W.H. van Beest <[email protected]> wrote: >>>> Hi, >>>> >>>> When I look into the source code of vtkCubeSource.cpp, >>>> I noticed that, although a (rectangular) 3D box can be described by >>>> 8 3D points and 6 2D faces (hence also 6 3D normal vectors), >>>> in the actual code of vtkCubeBoxSource:RequestData() there are 24 3D >>>> points generated, >>>> with for every point a normal (???), and indeed 6 faces (polys). >>>> Why is there this redundancy? >>>> >>>> I bumped on this when I applied the "HiddenLineRemoval" representation to >>>> my own handcrafted box (with 8 points, 6 faces and 6 normals). It yielded >>>> an incorrect view whereas the box with the redundant numbers of data >>>> gave the correct one. But I don't get the logic. >>>> >>>> Regards, >>>> Bertwim >>>> _______________________________________________ >>>> Powered by www.kitware.com >>>> >>>> Visit other Kitware open-source projects at >>>> http://www.kitware.com/opensource/opensource.html >>>> >>>> Please keep messages on-topic and check the ParaView Wiki at: >>>> http://paraview.org/Wiki/ParaView >>>> >>>> Follow this link to subscribe/unsubscribe: >>>> http://public.kitware.com/mailman/listinfo/paraview >
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview
