[vtkusers] Modifications to vtkOpenGLPolyDataMapper.cxx vtkOpenGLProperty.cxx
KenLists
kenlists at nycap.rr.com
Tue Oct 29 10:13:46 EST 2002
Please make sure the tests all pass and reformat the code to adhere to
VTK style
Thanks
Ken
> -----Original Message-----
> From: vtkusers-admin at public.kitware.com [mailto:vtkusers-
> admin at public.kitware.com] On Behalf Of John Biddiscombe
> Sent: Tuesday, October 29, 2002 9:27 AM
> To: Goodwin Lawlor; VTK List
> Subject: Re: [vtkusers] Modifications to vtkOpenGLPolyDataMapper.cxx
> vtkOpenGLProperty.cxx
>
> Goodwin,
>
> > John Biddiscombe inquired about this back in Oct 1999...
>
> Wow! someone was listening. Nice work.
>
> I'll have a quick play with your modified files and check them in if I
> don't
> see any problems.
>
> JB
>
>
> > I've made some change to my vtk src that may be of interest:
> >
> > 1. Allows backface/frontface culling in wireframe and points
> representation.
> > 2. Allows a backface property to be set in wireframe and points
> > representation.
> > 3. Speeds up wireframe rendering by 20% with BackfaceCullingOff and
by
> 110%
> > with BackfaceCullingOn (SB's bench-sphere.tcl on Dell Inspiron 3800-
ATI
> > Rage Mobility graphics card). Probably speeds up points rendering
too
> > (haven't tested it though). Other representation are unaffected-
> triangle
> > strips are still the fastest primitive to render.
> > 4. EdgeVisibilty could now be enabled when rendering surfaces in vtk
> (would
> > take some more hacking). It seems EdgeVisibility is only used in the
> > GeomView exporter.
> >
> > In a nutshell, the changes are that vtkOpenGLPolyDataMapper.cxx
always
> draws
> > triangles and vtkOpenGLProperty.cxx switches the representation
using
> > glPolygonMode( )
> >
> > John Biddiscombe inquired about this back in Oct 1999... here's the
> thread:
> >
http://public.kitware.com/pipermail/vtkusers/1999-October/002446.html.
> Maybe
> > there should be a feature wish-list or bug-ín page on the website?
> >
> > Here are the diffs (compared to nightly 10/10) and the files are
> attached:
> >
> > Diff for vtkOpenGLPolyDataMapper.cxx:
> >
> > 2487a2488,2509
> > > switch (rep)
> > > {
> > > case VTK_POINTS:
> > > glFunction[0] = GL_POINTS;
> > > glFunction[1] = GL_POINTS;
> > > glFunction[2] = GL_POINTS;
> > > glFunction[3] = GL_POINTS;
> > > break;
> > > case VTK_WIREFRAME:
> > > glFunction[0] = GL_POINTS;
> > > glFunction[1] = GL_LINE_STRIP;
> > > glFunction[2] = GL_LINE_STRIP;
> > > glFunction[3] = GL_LINE_LOOP;
> > > break;
> > > case VTK_SURFACE:
> > > glFunction[0] = GL_POINTS;
> > > glFunction[1] = GL_LINE_STRIP;
> > > glFunction[2] = GL_TRIANGLE_STRIP;
> > > glFunction[3] = GL_POLYGON;
> > > break;
> > > default:
> > > vtkErrorMacro(<< "Bad representation sent\n");
> > 2491a2514,2515
> > > break;
> > > }
> > 2647c2671
> > < /*
> > ---
> > >
> > 2704c2728
> > < */
> > ---
> > >
> > 2804,2805c2828
> > < draw3(aPrim, aGlFunction, cellNum, p, n, c, t, ren, noAbort);
> > < /*
> > ---
> > > draw2(aPrim, aGlFunction, cellNum, p, n, c, t, ren, noAbort);
> > 2810c2833
> > < */
> > ---
> > >
> >
> > Diff for vtkOpenGLProperty.cxx:
> >
> > 65,70d64
> > < if (this->GetRepresentation() == VTK_WIREFRAME)
> > < glPolygonMode(GL_FRONT_AND_BACK, GL_LINE);
> > < else if (this->GetRepresentation() == VTK_SURFACE)
> > < glPolygonMode(GL_FRONT_AND_BACK, GL_FILL);
> > < else
> > < glPolygonMode(GL_FRONT_AND_BACK, GL_POINT);
> > 76,81d69
> > < if (this->GetRepresentation() == VTK_WIREFRAME)
> > < glPolygonMode(GL_FRONT, GL_LINE);
> > < else if (this->GetRepresentation() == VTK_SURFACE)
> > < glPolygonMode(GL_FRONT, GL_FILL);
> > < else
> > < glPolygonMode(GL_FRONT, GL_POINT);
> > 87,92d74
> > < if (this->GetRepresentation() == VTK_WIREFRAME)
> > < glPolygonMode(GL_BACK, GL_LINE);
> > < else if (this->GetRepresentation() == VTK_SURFACE)
> > < glPolygonMode(GL_BACK, GL_FILL);
> > < else
> > < glPolygonMode(GL_BACK, GL_POINT);
> >
> >
> >
> >
> >
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> <http://public.kitware.com/cgi-bin/vtkfaq>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
More information about the vtkusers
mailing list