Commit Graph

150 Commits

Author SHA1 Message Date
Paolo Cignoni b22077f200 added picking of visible faces 2009-04-01 14:51:49 +00:00
Paolo Cignoni 7c9aa1c99f Crude, yet functional, custom attribute implementation 2009-01-23 09:22:38 +00:00
Paolo Cignoni 8627c95678 Added Attribute support 2009-01-12 13:57:48 +00:00
Federico Ponchio 6d2363d10a There was a bug in TransformGL for perspective matrix.
The function worked as intended only if near == focal.
2008-11-21 17:22:58 +00:00
Paolo Cignoni 818eb2b61d remove an ifdef for compiling with older apple compiler. no more needed under leopard (thanks to Iacopo Peri) 2008-11-18 09:37:23 +00:00
Federico Ponchio 01c0bc106f Added function to get near and far plane for a box (exact). 2008-11-07 15:15:06 +00:00
Paolo Cignoni dfc97ba1f2 fix Matrix44 infinite product, make glGetv not allocate temporary 2008-10-30 10:47:08 +00:00
Paolo Cignoni 3d43483497 one more fix gcc 4.0.1 issue in wrap/gl/math 2008-10-29 13:04:11 +00:00
Paolo Cignoni 0d9795d163 fix gcc 4.0.1 issue in wrap/gl 2008-10-29 12:56:32 +00:00
Paolo Cignoni e587581275 add transposeInPlace and duplicate V(int) 2008-10-29 11:17:11 +00:00
Paolo Cignoni 07f2e976ea * change all remaining Transpose to transpose,
* update the gl/math wrappers to make them more Eigen friendly
  (and remove the useless, and not used, and somehow dangerous
   *Direct and *E functions)
* add automatic reinterpret_casting from Eigen::Matrix to vcg
  specialized types
2008-10-29 00:05:44 +00:00
Paolo Cignoni 7befff7bec make point2 derived Eigen's Matrix, and a set of minimal fixes to make meshlab compile
with both old and new version. The fixes include:
- dot product: vec0 * vec1 => vec0.dot(vec1) (I added .dot() to the old Point classes too)
- Transpose: Transpose is an Eigen type, so we cannot keep it if Eigen is used. Therefore
  I added a .tranpose() to old matrix classes, and modified most of the Transpose() to transpose()
  both in vcg and meshlab. In fact, transpose() are free with Eigen, it simply returns a transpose
  expression without copies. On the other be carefull:  m = m.transpose() won't work as expected,
  here me must evaluate to a temporary: m = m.transpose().eval(); However, this operation in very
  rarely needed: you transpose at the same sime you set m, or you use m.transpose() directly.
- the last issue is Normalize which both modifies *this and return a ref to it. This behavior
  don't make sense anymore when using expression template, e.g., in (a+b).Normalize(), the type
  of a+b if not a Point (or whatever Vector types), it an expression of the addition of 2 points,
  so we cannot modify the value of *this, since there is no value. Therefore I've already changed
  all those .Normalize() of expressions to the Eigen's version .normalized().
- Finally I've changed the Zero to SetZero in the old Point classes too.
2008-10-28 00:59:46 +00:00
Paolo Cignoni ab200fc950 Port to eigen2: state of the mess:
* curently nothing change if you don't define VCG_USE_EIGEN
* make Matrix*, Point3 and Point4 derive Eigen::Matrix (still ugly)
* now catching all the dot products to replace them by .dot()
  note that most of meshlab already compile
2008-10-27 19:35:17 +00:00
Paolo Cignoni 4db69febbe big replacement .Zero => .SetZero, and start of Eigen's compatibilities (currently disabled by default) 2008-10-27 14:48:14 +00:00
Federico Ponchio fe59b6ad4d Extrinsics.tra is now private, using Tra() 2008-10-24 16:37:24 +00:00
Paolo Cignoni 8f77d3cbaa removed non-portable inclusion of GL.h (on mac gl.h is in stupid places) 2008-10-15 10:11:39 +00:00
Paolo Cignoni a3dbc3168b fix a typo in Program::Uniform() 2008-10-15 09:28:15 +00:00
Paolo Cignoni 64ce68dac0 * make EmptyRadius::HasRadius returns false
* make gl/Shader and gl/Program* a bit easier to use:
 - automatic object creation
 - add Uniform() overloads for vcg::Point*f types
2008-10-15 08:02:14 +00:00
Paolo Cignoni 117c2a06de New Parameter function to setup glsl programs that use geometry shaders 2008-10-09 08:58:57 +00:00
Paolo Cignoni 7722469c4f Public keyword missing 2008-10-08 14:30:56 +00:00
Paolo Cignoni 2da37bd5f7 Geometri shader, initial support 2008-10-08 14:00:32 +00:00
Paolo Cignoni b6d7e548b2 Commented out filename after final endif 2008-10-08 14:00:01 +00:00
ganovelli ca01052454 Chamged MatrixGL to comply renaming in wrap/gl/shot.h 2008-10-07 10:58:18 +00:00
ganovelli b4fa6b9c97 -missing template type added in CameraDistance
-bug in DrawPoints removed
2008-07-24 12:37:18 +00:00
Paolo Cignoni 700b8cd26e Removed annoying unsigned vs signed warnings.
Thanks to Alain Boyer for the kind bug submission!
2008-06-29 22:44:44 +00:00
Paolo Cignoni 17369b521b Matrix transformations corrected in glCylinder and glArrow. 2008-06-23 14:33:51 +00:00
Paolo Cignoni 67ce430991 Added point drawing using vertex arrays and distance attenuation for large points 2008-06-10 00:57:46 +00:00
Paolo Cignoni 7fe04d928d added newline at end of file 2008-03-02 15:50:20 +00:00
Paolo Cignoni 9607ee6107 made all static 2008-03-02 14:16:39 +00:00
Paolo Cignoni 0fdd22023e removed unused vars 2008-02-15 08:19:51 +00:00
Paolo Cignoni 0e283de929 added sanity checks when deleting buffers 2008-01-28 08:49:58 +00:00
Paolo Cignoni c80e50570b Renamed some unmeaningful variable names (b -> array_buffers ; h -> curr_hints) 2007-12-05 11:08:16 +00:00
Paolo Cignoni 63ee2004b6 - Fixed DrawFill method, which required the hint 'HNUseVArray' enabled in order to render the mesh with VBO. This was also causing extra overhead in the Update method since HNUseVArray has to be enabled and therefore extra calculation were done to copy vertices in VArrays even if the user was using only VBOs. 2007-12-04 17:59:41 +00:00
Marco Di Benedetto 2ea14ac83b Added cast to prevent pointer truncation warning/error messages. 2007-12-01 18:09:14 +00:00
Marco Di Benedetto 87b88070c1 Added a GLenum cast to suppress warning message. 2007-10-16 13:31:23 +00:00
Marco Di Benedetto fe22c31f2d *** empty log message *** 2007-09-12 16:20:24 +00:00
Marco Di Benedetto 5261480fc7 Corrected indexing for non textured faces. 2007-09-12 14:48:50 +00:00
Paolo Cignoni afdaa7e3db Added ifdef needed for mac gcc compilation 2007-08-28 05:43:56 +00:00
Paolo Cignoni 8b27c96df2 moved here callback def and added some needed opengl related casts 2007-08-25 08:43:33 +00:00
Paolo Cignoni c14e1511db added a missing typename 2007-08-17 07:00:00 +00:00
ganovelli 135951fd27 added gltetra, added normal gltriangle 2007-07-31 12:21:50 +00:00
Marco Di Benedetto 29febfdf25 First Commit. 2007-07-26 16:22:47 +00:00
ganovelli f2e35aaf0d precompiler directives 2007-07-05 16:35:29 +00:00
ganovelli 96adfb6f7c typenames 2007-07-05 16:35:14 +00:00
Paolo Cignoni f354a9f445 Small gcc compiling issues 2007-05-31 09:39:56 +00:00
Paolo Cignoni 3cf34fb91a Added std:: prefix to advance call 2007-05-28 07:35:21 +00:00
Paolo Cignoni 97d7baf66c Corrected gcc compiling issues 2007-05-21 13:22:40 +00:00
Marco Di Benedetto 1c2f0e7db7 First Commit. 2007-05-14 22:23:36 +00:00
ganovelli 1b72079489 change from Tetra.h to tetra.h 2007-05-08 18:56:51 +00:00
ganovelli e77e2dcf26 glTriangle added 2007-05-08 18:55:38 +00:00