Subversion Repositories gelsvn

Rev

Go to most recent revision | Hide changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff Changes
399 6088 d 20 h jab /trunk/apps/MeshEdit/ VisObj which is responsible for drawing a single mesh in the MeshEdit application is now in its own file.
I have created a class hierarchy of renderers. This leads to a homogeneous way for drawing different appearances.
I have added some renderers: A reflection line renderer, an isophote renderer, a metallic renderer, and also
a gouraud renderer and a wireframe renderer. So far these are just for MeshEdit but could perhaps migrate to
GLGraphics.

The dual function in MeshEdit was made robust, but it will bite off a layer of polygons around any boundary.

Overall, the code is now much cleaner.
 
/trunk/apps/MeshEdit/Renderer.cpp
/trunk/apps/MeshEdit/Renderer.h
/trunk/apps/MeshEdit/VisObj.cpp
/trunk/apps/MeshEdit/VisObj.h
/trunk/apps/MeshEdit/wireframe.cpp
/trunk/apps/MeshEdit/wireframe.h
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
398 6090 d 4 h jab /trunk/apps/OBJViewer/ Wireframe drawing is now handled in GLGraphics  
/trunk/apps/OBJViewer/wireframe.cpp
/trunk/apps/OBJViewer/wireframe.h
/trunk/apps/OBJViewer/objview.cpp
397 6090 d 4 h jab /trunk/apps/MeshEdit/ I embedded the two shader programs used for drawing
harmonics and tweaked the code to provide generic
wireframe support.
 
/trunk/apps/MeshEdit/tri.frag
/trunk/apps/MeshEdit/tri.vert
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/MeshEdit/wireframe.cpp
396 6090 d 4 h jab /trunk/src/GLGraphics/ I have added the SinglePassWireFrameRenderer which is a
fast path for triangle meshes.
I have addedd the IDBufferWireframeRenderer which is
less fast but should handle anything.
draw has grown some functions for wireframe drawing,
but you will need to use IDBufferWireframeRenderer directly,
it keeps a lot of state and it is difficult to make a
convenience function.
 
/trunk/src/GLGraphics/IDBufferWireFrameRenderer.cpp
/trunk/src/GLGraphics/IDBufferWireFrameRenderer.h
/trunk/src/GLGraphics/SinglePassWireframeRenderer.cpp
/trunk/src/GLGraphics/SinglePassWireframeRenderer.h
/trunk/src/GLGraphics/draw.cpp
/trunk/src/GLGraphics/draw.h
394 6091 d 5 h jab /trunk/ Minor changes to the viewcontroller and the MeshEdit application  
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/MeshEdit/tri.frag
/trunk/doc/CGLA-usage.tex
/trunk/src/GLGraphics/GLViewController.cpp
/trunk/src/GLGraphics/GLViewController.h
/trunk/src/HMesh/x3d_save.cpp
392 6101 d 5 h jab /trunk/ Many mostly minor changes. The QuatTrackball and GLViewController had
some questionable code that I improved. Fixed a bug in the loader.
 
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/src/GLGraphics/GLViewController.cpp
/trunk/src/GLGraphics/GLViewController.h
/trunk/src/GLGraphics/QuatTrackBall.cpp
/trunk/src/GLGraphics/QuatTrackBall.h
/trunk/src/HMesh/load.cpp
/trunk/src/HMesh/x3d_load.cpp
391 6101 d 5 h jab /trunk/apps/MeshEdit/ A number of changes were made, and the MeshEdit application now supports
almost all of the functions that operate on the Manifold objects.
 
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
390 6101 d 5 h mkm /trunk/ Minor changes in the CMake files - in order to put binaries into the right folders.  
/trunk/CMakeLists.txt
/trunk/GELConfig.cmake.in
389 6105 d 19 h jab /trunk/ minor changes  
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/src/gel.doxygen
388 6105 d 19 h jab /trunk/apps/MeshEdit/ MeshEdit now really works. It contains a simple console interface which
allows you to try out almost any of the functions in HMesh which modify
a Manifold: Smoothing, edge refinement, face refinement, triangulation of
polygons, optimization of triangulations, Garland Heckbert simplification,
and more.

It is not perfect however, the harmonics analysis which started the whole thing
only works for small meshes, and wireframe drawing simply does not work for
non-triangles. Moreover to be really useful it should provide for plugins.
 
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
387 6107 d 4 h jab /trunk/apps/MeshEdit/ I added a lot of editing functions already in GEL  
/trunk/apps/MeshEdit/meshedit.cpp
386 6108 d 5 h jab /trunk/apps/MeshEdit/ Added MeshEdit. So far it can only do harmonic analysis but more should be
added
 
/trunk/apps/MeshEdit
/trunk/apps/MeshEdit/harmonics.cpp
/trunk/apps/MeshEdit/harmonics.h
/trunk/apps/MeshEdit/meshedit.cpp
/trunk/apps/MeshEdit/tri.frag
/trunk/apps/MeshEdit/tri.vert
/trunk/apps/MeshEdit/wireframe.cpp
/trunk/apps/MeshEdit/wireframe.h
385 6113 d 3 h jab /trunk/ CMakefiles included.

Note that exceptions were removed from Geometry/Polygonize.cpp since it did not play nice with visual studio 2005. An improved solution is needed so that the program does not just abort.
 
/trunk/CMakeLists.txt
/trunk/GELConfig.cmake.in
/trunk/GELFindGlew.cmake
/trunk/GELFindGlut.cmake
/trunk/GELFindLapack.cmake
/trunk/GELUse.cmake
/trunk/apps/BloomenthalPolygonize/CMakeLists.txt
/trunk/apps/BoundaryCollapse/CMakeLists.txt
/trunk/apps/Decimator/CMakeLists.txt
/trunk/apps/MeshDistance/CMakeLists.txt
/trunk/apps/OBJViewer/CMakeLists.txt
/trunk/apps/Pathtracer/CMakeLists.txt
/trunk/apps/RangeScanViewer/CMakeLists.txt
/trunk/apps/Raytracer/CMakeLists.txt
/trunk/apps/VolumePolygonize/CMakeLists.txt
/trunk/src/CGLA/CMakeLists.txt
/trunk/src/GLGraphics/CMakeLists.txt
/trunk/src/Geometry/CMakeLists.txt
/trunk/src/HMesh/CMakeLists.txt
/trunk/src/LinAlg/CMakeLists.txt
/trunk/src/Util/CMakeLists.txt
/trunk/test/CGLA-covariance/CMakeLists.txt
/trunk/test/CGLA-mat/CMakeLists.txt
/trunk/test/CGLA-ogl/CMakeLists.txt
/trunk/test/CGLA-simple/CMakeLists.txt
/trunk/test/CGLA-vec/CMakeLists.txt
/trunk/test/Geometry-kdtree/CMakeLists.txt
/trunk/test/LinAlg-eigensolver/CMakeLists.txt
/trunk/test/LinAlg-leastsq/CMakeLists.txt
/trunk/test/Util-resman/CMakeLists.txt
/trunk/apps/BoundaryCollapse/boundary_collapse.cpp
/trunk/src/Geometry/Polygonizer.cpp
384 6113 d 3 h jab /trunk/GEL.xcodeproj/ minor change to the xcode framework - should perhaps not be under version control  
/trunk/GEL.xcodeproj/jab.pbxuser
383 6113 d 3 h jab /trunk/src/HMesh/ Added ply load as well as a generic loader that detects file type  
/trunk/src/HMesh/load.cpp
/trunk/src/HMesh/load.h
/trunk/src/HMesh/ply_load.cpp
/trunk/src/HMesh/ply_load.h
382 6119 d 8 h jab /trunk/ a number of fixes  
/trunk/GEL.xcodeproj/jab.pbxuser
/trunk/GEL.xcodeproj/project.pbxproj
/trunk/apps/BoundaryCollapse/boundary_collapse.cpp
/trunk/apps/Decimator/decimator.cpp
/trunk/apps/MeshDistance/meshdist.cpp
/trunk/apps/OBJViewer/objview.cpp
/trunk/src/CGLA/ArithMatFloat.h
/trunk/src/CGLA/ArithQuat.h
/trunk/src/Geometry/load_raw.cpp
/trunk/src/Geometry/ply_load.cpp
/trunk/src/Util/ArgExtracter.h
/trunk/src/Util/XmlParser.h
381 6129 d 3 h jrf /trunk/src/Util/ trimming element names to make more robust  
/trunk/src/Util/XmlParser.cpp
380 6129 d 5 h jrf /trunk/src/ switching the XML parser to a process-while-reading strategy  
/trunk/src/HMesh/x3d_load.cpp
/trunk/src/Util/XmlParser.cpp
/trunk/src/Util/XmlParser.h
379 6129 d 6 h jab /trunk/src/LinAlg/ I added a function "EigenSolutionsSym" to LapackFunc.cpp. This is simply a veiled version of
the Lapack function dsyev that works with the CMatrix and CVector classes.
 
/trunk/src/LinAlg/LapackFunc.cpp
/trunk/src/LinAlg/LapackFunc.h
378 6129 d 6 h jab /trunk/test/LinAlg-eigensolver/ Added a test for the Lapack based routine for finding eigensolutions to dense symmetric real matrices.  
/trunk/test/LinAlg-eigensolver
/trunk/test/LinAlg-eigensolver/Makefile
/trunk/test/LinAlg-eigensolver/eigensolvertest.cpp

Show All