granzuglia
80babdb68e
- removed the GLMeshAttributesFeeder classes from the old trimesh.h file
2015-06-04 00:19:46 +00:00
granzuglia
b5a8f57137
- added gl_mesh_attributes_feeder.h file
2015-06-04 00:18:35 +00:00
granzuglia
62208a4fd2
- fixed "not allocated vertex buffer array" bug
2015-06-03 14:08:22 +00:00
granzuglia
c8004cf4ad
- removed clang compiler errors
2015-06-03 13:45:41 +00:00
granzuglia
a2efddf456
- added new opengl attributes feeder
2015-06-03 13:06:35 +00:00
Nico Pietroni
7a6aa07201
minor changes
2015-04-12 06:08:20 +00:00
granzuglia
1f721c1507
- added small conversion function from DramMode to NormalMode
2014-11-28 13:07:14 +00:00
Paolo Cignoni
fb2ad3f323
Changed a few GL_TYPE -> GL_TYPE_NM to remove ambiguity
2014-11-12 00:22:24 +00:00
Nico Pietroni
0a597d4682
did several changes in the function calls
2014-11-05 19:26:54 +00:00
granzuglia
5c809dc701
- renamed GL_TYPE with GL_TYPE_NM in order to avoid names conflict
2014-08-28 08:59:24 +00:00
granzuglia
8cebfaf679
pick.h:
...
- added support for double scalar type (the changes have been validated by Paolo)
- there is still a bug on the PickClosestFace function.
2014-08-09 10:00:09 +00:00
granzuglia
558fcd784a
trimesh.h:
...
- added ScalarType typedef to GL_TYPE structure
2014-08-09 09:54:43 +00:00
Paolo Cignoni
ffb02815a8
Added a static class GL_TYPE with a memenber SCALAR that returns the correct GLenum (GL_FLOAT or GL_DOUBLE) according to the template type. Needed to make this class works also with double...
2014-08-09 00:06:15 +00:00
Paolo Cignoni
9b6833e521
added templated glLoadMatrix that automatically choose the right OpenGL call according the matrix type
2014-08-06 22:37:55 +00:00
Paolo Cignoni
5e910a0058
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-07-01 10:08:30 +00:00
Paolo Cignoni
1491037631
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-27 15:09:08 +00:00
Paolo Cignoni
4fc33e2e95
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-19 11:42:23 +00:00
Paolo Cignoni
b605d04d26
Improved float/double consistency removing some wrong Point3f and substitued with MeshType::CoordType
2014-06-19 11:41:55 +00:00
Paolo Cignoni
9f6d5f1d84
Completed the rewriting all the picking stuff. Now the default is NOT using OpenGL. And it is actually faster on all the machines I have tested...
2014-04-08 09:37:44 +00:00
Paolo Cignoni
306c334877
Added PickFaceSW for selecting faces in a rectangular region.
2014-04-07 14:49:07 +00:00
Paolo Cignoni
adfa6dde12
Added PickVertSW to offer an alternative for selection for hw that does not support opengl selection
2014-04-07 12:32:21 +00:00
Nico Pietroni
6071372992
some minor changes
2014-04-07 06:29:56 +00:00
Nico Pietroni
4b15067dd1
minor modifications
2014-02-16 16:37:39 +00:00
Paolo Cignoni
94540d3ca6
float -> GLdouble for better compliance...
2013-12-12 21:09:22 +00:00
Paolo Cignoni
d44d6e6f41
changed int -> size_t to remove warnings
2013-12-12 20:52:07 +00:00
Paolo Cignoni
ecf5bfeeb2
Added a if(!TMId.empty()) before attempting to bind a texture id from an empty vector...
2013-12-06 10:16:59 +00:00
Nico Pietroni
d4eb599a66
resolved 1 warning on cast
2013-11-24 15:08:27 +00:00
granzuglia
6ec773c50a
- added missing upper bound control on vector access by index
2013-10-17 17:22:16 +00:00
granzuglia
6b7ca162ce
- fixed compile time errors with qt 5.0
2013-05-24 16:31:16 +00:00
Paolo Cignoni
b473bebdd3
added another style of rendering to the opengl addon.
...
Imprpved customizability of arrows
2012-12-21 15:34:32 +00:00
Paolo Cignoni
e04a37bf60
removed harmless warnings
2012-12-02 14:57:08 +00:00
Paolo Cignoni
7540b29cf5
Added a few missing const specifiers
2012-11-28 11:23:51 +00:00
Nico Pietroni
70b2cd1d25
removed several functions and moved to the gl wrapper of mixed integer
2012-11-18 18:07:39 +00:00
Nico Pietroni
52648c58ad
used per vertex and per face optional attributes
2012-10-15 01:13:30 +00:00
Nico Pietroni
45633b841e
added initial define to avoid multiple inclusions
2012-10-08 11:53:07 +00:00
Paolo Cignoni
194d9eb4d7
Removed two old useless wrong stupid functions that have been left into wrap/trimesh.h for unforgivable lazyness...
2012-10-08 05:30:34 +00:00
Paolo Cignoni
98fd61970e
added missing par
2012-10-07 17:20:54 +00:00
Paolo Cignoni
1aa2c374e1
corrected useless test for an ancient opengl extension (glPointParameterfv). no more needed and creating problems to new compilers...
2012-10-05 16:45:25 +00:00
Nico Pietroni
e6cc513cae
minor changes in singularity drawing
2012-09-22 13:40:56 +00:00
Nico Pietroni
62b1a26ecf
changes drawing of cross field to show the 2 main directions
2012-09-05 23:27:10 +00:00
Nico Pietroni
a4ee21d5d7
added GLDrawSeams function
2012-09-03 15:58:38 +00:00
Nico Pietroni
c469b5b948
major modifications
2012-05-25 13:22:07 +00:00
Paolo Cignoni
80363d2ff0
added to these two gl-related files the system independent inclusion of GLU.
...
IT is necessary since the last version of QT does not include anymore glu when including QGL stuff
2012-05-23 08:50:03 +00:00
Nico Pietroni
2413b12724
switched to the new version of tangent directions component per face
2012-03-29 16:35:15 +00:00
Nico Pietroni
9d37776dd6
first release version
2012-03-16 13:50:45 +00:00
Paolo Cignoni
8a8f48ac85
Changed all the MeshType::HasSomething() into the now standard tri::HasSomething(MeshType &m)
2012-01-25 10:21:59 +00:00
Nico Pietroni
36b4d6eeab
added inclusion of point2.h
2012-01-23 13:13:24 +00:00
Paolo Cignoni
fbe0b23839
corrected bug in the allocation of the result of multiple connected triangulations (poligons with holes, and added parameter to revert the order of outlines)
2012-01-18 16:48:06 +00:00
Paolo Cignoni
34cb93552c
added glloadmatrix that takes in input a matrix44 (just like glmultmatrix)
2011-12-14 08:53:56 +00:00
Federico Ponchio
4400d8dd2d
added multithreading
2011-12-09 16:06:08 +00:00
Massimiliano Corsini
da98ec18f1
2011-10-12 07:52:07 +00:00
Paolo Cignoni
2fe129645b
Rolled back
2011-10-05 15:04:40 +00:00
Paolo Cignoni
ca28591e69
Made the boundary capper based on the glu tessellator interface more robust to deleted stuff
2011-05-31 08:40:02 +00:00
Paolo Cignoni
7ff3b08e5f
updated to use pos instead explicit topology
2011-05-24 09:42:10 +00:00
Paolo Cignoni
2239cbd747
added simple boundary capper. Takes a edge mesh and caps its boundaries.
2011-05-11 10:04:33 +00:00
Paolo Cignoni
f0a5d17759
Added a hint that you NEED opengl definition before including this file
2011-05-11 10:03:28 +00:00
Paolo Cignoni
384ea891dc
added drawing of edges in wireframe if meshes has no faces
2011-05-10 21:57:01 +00:00
matteodelle
49a15ebd82
mozione ponchio per rimozione codice inutile
2011-04-27 13:02:30 +00:00
Paolo Cignoni
214904b312
Ongoing corrections of include paths to comply the new folder arrangement
2011-04-03 22:50:59 +00:00
ganovelli
f7d8e31056
minor (missing include, left CMeshO)
2011-01-23 22:28:39 +00:00
Paolo Cignoni
71bdb18e07
Added more hints for better controlling point rendering (smoothnes and distance attenuation)
2011-01-18 11:11:19 +00:00
ganovelli
bd03229989
patch to force immediate mode (bug with vbo to be solved)
...
bug in call glTexCoordPointer fixed
2010-11-08 11:03:18 +00:00
Paolo Cignoni
343493ef11
Moved the ORTHO, PERSPECTIVE enums from the vcg namespace to the camera class namespace.
2010-10-31 13:19:09 +00:00
ganovelli
42c69abccf
first working commit for the apss (from Algebraic point set surfaces
...
Gaël Guennebaud and Markus Gross, SIG07)
2010-10-29 17:18:29 +00:00
Nico Pietroni
ce779c0082
added if(tm==TMPerWedge) glEnable(GL_TEXTURE_2D); on line 543
2010-07-15 13:29:31 +00:00
Nico Pietroni
26709cae6c
cahnged WIN32 define to _WIN32
2010-07-15 13:27:18 +00:00
granzuglia
8f2c1d543d
fixed small visualization bugs (dereferenced empty vertex attributes)
2010-05-24 14:53:54 +00:00
Paolo Cignoni
4cfffc32f2
corrected managment of per-mesh color for point clouds
2010-04-28 15:02:05 +00:00
Paolo Cignoni
aa04a96264
Never try to make a glwrap DrawFill over an empty mesh...
2010-04-27 09:50:55 +00:00
Paolo Cignoni
c095f8efe6
added pushattrib/popattrib in the point rendering code of gl trimesh wrapper
2010-04-20 01:01:13 +00:00
Paolo Cignoni
0f221f2d99
added suppor for per vertex tex coord rendering
2010-04-08 16:52:23 +00:00
Nico Pietroni
d32ed18e1d
corrected one bug in FromTrackball function
2010-04-07 21:43:24 +00:00
Nico Pietroni
1438c44f5f
- Allowed the usage of per vertex coordinate , uncommented tm==TMPerVert options
...
- corrected cast warning on line 721
2010-04-05 15:29:19 +00:00
Paolo Cignoni
c2456526fd
added vertex picking
2010-02-26 16:20:15 +00:00
Nico Pietroni
66ae917613
commented "int _t2=clock();" call in Crease function, it is unuseful and requires to include time.h
2009-07-17 17:44:40 +00:00
Paolo Cignoni
67ce5b52ce
Added glColor and glClearColor for both Color4f (missing) and Color4d (just added)
2009-07-10 13:24:29 +00:00
Paolo Cignoni
2d3d9bd13f
corrected wrong test on the use of faux edges when drawing in wireframe
2009-05-21 22:59:16 +00:00
granzuglia
5811240f92
added GPL incipit
2009-05-18 14:10:59 +00:00
granzuglia
9ef1804d3a
added GPL incipit
2009-05-18 14:08:04 +00:00
Nico Pietroni
147817f6ea
line 795 changed DrawWire<NMPerVert,CMNone>(); -> DrawWire<nm,CMNone>();
2009-04-22 15:22:48 +00:00
Paolo Cignoni
af6a963f41
corrected returned number of PickFaceVisible function
2009-04-22 10:28:52 +00:00
granzuglia
17d5caeed1
fixed compiler's errors
2009-04-21 05:58:08 +00:00
mtarini
97b5d83721
Now all wireframes mode hide "faux" edges
...
(those inside a polygon face),
IFF you do SetHint(HNIsPolygonal).
2009-04-20 22:57:42 +00:00
mtarini
935b2e102b
added a test on existence of glPointParameterfv before its use in point-based mesh rendering to avoid crashes.
2009-04-20 16:30:35 +00:00
Paolo Cignoni
3bf343c31b
gcc compilation issue
2009-04-02 07:56:38 +00:00
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