[vtk-developers] OpenGL2 Updates

Will Schroeder will.schroeder at kitware.com
Wed Dec 3 10:38:21 EST 2014


And a Happy Holiday to you too! What a great present, just awesome.... I've
made sure that our PM and supporters at the NIH see this report, they will
be pleased.
W

On Wed, Dec 3, 2014 at 10:15 AM, Ken Martin <ken.martin at kitware.com> wrote:

> Hello folks,
>
>
>
> I just wanted to provide some updates on what has been happening on the
> polygonal side of the OpenGL2 backend. First a quick clarification on
> naming. OpenGL2 is just a placeholder and hopefully at some point (years
> away?) we will remove the old OpenGL directory and rename this to just
> OpenGL. The 2 does not mean it is specific to OpenGL 2.0 as the backend is
> being designed to work with 2.1, 3.2, ES 2.0, ES 3.0, etc in the long run.
> Timings reported are for first frame and then subsequent frames. The
> following updates are a bit terse but I wanted to get something out. If you
> have questions on some of them just let me know and I’ll try to go into
> more details.
>
>
>
> Thanks
>
> Ken
>
>
>
> 1)      Fixed a number of depth peeling  issues.  It is passing on the
> systems we are currently testing OpenGL2 on.
>
>
>
> 2)      Spent a lot of time working on cleaning up the dashboard. We are
> now down to around 10 failures out of 1800 tests on most systems. On my
> development system it is down to 4 failures two of which I think need new
> valid images for valid reasons, one is a lighting issue I know about and
> just need to decide how to handle, and the last is just odd.
>
>
>
> 3)      Implemented faster molecular rendering, the new code uses
> imposters and is about 5000 times faster than the old OpenGL1 code.
>
>
>
> *PDB ball stick 3CC2 atom (99K atoms plus 198K bonds)*
>
>
>
> NVidia Windows Laptop
>
> OpenGL                31.5     29.0
>
> OpenGL2G           2.65     1.25     (using just new Glyph3D mapper 23x
> faster)
>
> OpenGL2              1.33     0.0057  (default use of  imposters 5088x
> total)
>
>
> Intel Windows Laptop
>
> OpenGL                26.1     24.5
>
> OpenGL2              0.422   0.0129
>
>
>
> 4)      Reworked a lot of the lighting code in OpenGL2. Switched to the
> Blinn-Phong lighting model as that matches the old pipeline and is a tad
> faster.
>
>
>
> 5)      Surfaces with Edges were quite slow in OpenGL2, reworked that to
> be much faster.
>
>
>
> 6)      Worked with Tim Thirion to add OpenGL ES 3.0 support for VTK.  We
> will need to at some point try turning on the volume rendering code and see
> if that works on iOS. The OpenGLES testing is very limited modules.
>
>
>
> 7)      Added support (and a test) for point picking in VTK and fixed up
> a lingering issue with cell picking.
>
>
>
> 8)      Turned on MPI and parallel for my build and resolved some issues
> related to those.
>
>
>
> 9)      Thanks to Sandia/Bob O/Juda  vtkCompositePolyDataMapper2 has been
> converted to the OpenGL2 backend and the performance looks really good. As
> this class had no tests in VTK I added a test for it.
>
> *TestCompositePolyDataMapper2*
>
> 1x64x256 (8192 cylinders/datasets 64x128 as 50% are off)
>
>
>
> Res 18 cylinders (~ 80 triangles/cyl)
>
> OpenGL    0.369   0.043
>
> OpenGL2  0.158   0.033
>
>
>
> Reactor     (a bunch o’ something no culler)
>
> OpenGL    3.18     0.554
>
> OpenGL2  0.08     0.020
>
>
>
> 10)   The RenderPasses were converted over to OpenGL2, including
> Gaussian, Sobel, and DepthPeeling.  This enabled us to clean up the depth
> peeling code in Renderer to just delegate it to the renderpass; a much
> cleaner solution. We still have ShadowMap/Baker passes to convert. We also
> created a new RenderStepsPass class to make using RenderPasses easier as
> the old approach involved quite a bit of gluing together the steps.
> Converted the GuassianBlur test to use this new class.
>
>
>
> 11)   RenderingParallel and MPI has been converted to work with OpenGL2.
> It compiles and passes a number of tests but I believe there are probably
> issues lurking in there to deal with that ParaView will hit.
>
>
>
> 12)   Added in support for up to 6 clipping planes in the 3D mapper which
> fixed a couple failing tests.
>
>
>
> 13)   VTK is building with iOS and has a working multitouch example. Also
> setup iOS dashboards for ES 2.0 and ES 3.0 to verify that iOS is at least
> building.
>
>
>
> 14)   Marcus worked through a number of build issues to get Paraview
> built with the new backend.  Lots of various issues with missing classes or
> module changes etc but it is getting there. He also worked on mesa issues
> with the new back end.
>
>
>
> 15)   added backface property support, edge flag support, fixed a few
> resource leaks
>
>
>
> 16)   addressing VTK’s glyphing performance. Bob O had a nice test case
> he made for Nuclear Energy that used multiple glyph sources and lots of
> glyphs (135K to 1.5 million glyphs).  We were able to update the glyph
> mapper to be about 20 times faster than the old OpenGL. What was rendering
> at 1 frame a second is now very interactive. Tested on
> Windows/Mac/Intel/NVidia/ATI. This is done using OpenGL instanced rendering.
>
>
>
> 17)   Android has both a Native and Java example working. We need to get
> a dashboard setup in the future to at least make sure it continues to
> compile.  Once we have that we will probably try to extend it to at least
> have a burn test run etc.
>
>
>
>
>
> Ken Martin PhD
>
> Chairman & CFO
>
> Kitware Inc.
>
> 28 Corporate Drive
>
> Clifton Park NY 12065
>
> ken.martin at kitware.com
>
> 518 881-4901 (w)
>
> 518 371-4573 (f)
>
>
>
> This communication, including all attachments, contains confidential and
> legally privileged information, and it is intended only for the use of the
> addressee.  Access to this email by anyone else is unauthorized. If you are
> not the intended recipient, any disclosure, copying, distribution or any
> action taken in reliance on it is prohibited and may be unlawful. If you
> received this communication in error please notify us immediately and
> destroy the original message.  Thank you.
>
>
>
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Follow this link to subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtk-developers
>
>
>


-- 
William J. Schroeder, PhD
Kitware, Inc.
28 Corporate Drive
Clifton Park, NY 12065
will.schroeder at kitware.com
http://www.kitware.com
(518) 881-4902
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtk-developers/attachments/20141203/1020d2a8/attachment.html>


More information about the vtk-developers mailing list