hi cyrille, with mesh_square, are there other arguments to the draw message than "default" "line" and "point"? and what is the "default" draw method? how are the vertices connected/what is the order of the vertices? thanks, marius.
marius schebella a écrit :
hi cyrille, with mesh_square, are there other arguments to the draw message than "default" "line" and "point"?
you can send to mesh_square all draw style that you can send to any other gem primitive. but only this one work as expected.
and what is the "default" draw method?
if(m_drawType==GL_DEFAULT_GEM)m_drawType=GL_TRIANGLE_STRIP;
how are the vertices connected/what is the order of the vertices?
the best explanation i can provide is from the source code! :
for (int i=0; i<(gridX-1) ; i++)
{
glBegin(m_drawType);
for (int j = 0; j < gridY ; j++)
{
glTexCoord2fv( texCoords[i][j] );
glVertex3f( m_size * (i*sizeX - 1), m_size * (j*sizeY -1) , 0);
glTexCoord2fv( texCoords[i+1][j] );
glVertex3f( m_size * ((i+1)*sizeX - 1), m_size * (j*sizeY -1), 0);
}
glEnd();
}
cyrille
thanks, marius.
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
cyrille henry wrote:
marius schebella a écrit :
hi cyrille, with mesh_square, are there other arguments to the draw message than "default" "line" and "point"?
you can send to mesh_square all draw style that you can send to any other gem primitive. but only this one work as expected.
and what is the "default" draw method?
if(m_drawType==GL_DEFAULT_GEM)m_drawType=GL_TRIANGLE_STRIP;
if I send the message draw triangle_strip then it looks different than the default. if I send draw + integernumber, I get error: Bad arguments for message 'draw' to object 'mesh_square'
how are the vertices connected/what is the order of the vertices?
the best explanation i can provide is from the source code! :
for (int i=0; i<(gridX-1) ; i++) { glBegin(m_drawType); for (int j = 0; j < gridY ; j++) { glTexCoord2fv( texCoords[i][j] ); glVertex3f( m_size * (i*sizeX - 1), m_size * (j*sizeY -1)
, 0);
glTexCoord2fv( texCoords[i+1][j] ); glVertex3f( m_size * ((i+1)*sizeX - 1), m_size *
(j*sizeY -1), 0); } glEnd(); }
I should read more code, this is not so difficult as I thought... marius.
marius schebella a écrit :
cyrille henry wrote:
marius schebella a écrit :
hi cyrille, with mesh_square, are there other arguments to the draw message than "default" "line" and "point"?
you can send to mesh_square all draw style that you can send to any other gem primitive. but only this one work as expected.
and what is the "default" draw method?
if(m_drawType==GL_DEFAULT_GEM)m_drawType=GL_TRIANGLE_STRIP;
if I send the message draw triangle_strip then it looks different than the default. if I send draw + integernumber, I get error: Bad arguments for message 'draw' to object 'mesh_square'
what's the problem with draw DEFAULT?
in gemshape.cpp you'll find :
switch (c){
case 'D': // default
m_drawType = GL_DEFAULT_GEM;
break;
case 'L': // line
m_drawType = GL_LINE_LOOP;
break;
case 'F': // fill
m_drawType = GL_POLYGON;
break;
case 'Q': // quads
m_drawType = GL_QUADS;
break;
case 'P': // point
m_drawType = GL_POINTS;
break;
case 'T': // triangles
m_drawType = GL_TRIANGLES;
break;
case 'S': // strip
m_drawType = GL_TRIANGLE_STRIP;
break;
in this code, c is the 1st letter after "draw ".
so draw Triangle_strip is the same as draw Triangle, or draw Turtle
try "draw STRIP", or "draw Something" to draw triangle_strip....
(STRIP in more logic, but anything starting with S will work).
how are the vertices connected/what is the order of the vertices?
the best explanation i can provide is from the source code! :
for (int i=0; i<(gridX-1) ; i++) { glBegin(m_drawType); for (int j = 0; j < gridY ; j++) { glTexCoord2fv( texCoords[i][j] ); glVertex3f( m_size * (i*sizeX - 1), m_size * (j*sizeY
-1) , 0);
glTexCoord2fv( texCoords[i+1][j] ); glVertex3f( m_size * ((i+1)*sizeX - 1), m_size *
(j*sizeY -1), 0); } glEnd(); }
I should read more code, this is not so difficult as I thought...
yes, really. it's the best documentation ever! gem code is usually very clear.
cyrille
marius.
cyrille henry wrote:
marius schebella a écrit :
cyrille henry wrote:
marius schebella a écrit :
hi cyrille, with mesh_square, are there other arguments to the draw message than "default" "line" and "point"?
you can send to mesh_square all draw style that you can send to any other gem primitive. but only this one work as expected.
and what is the "default" draw method?
if(m_drawType==GL_DEFAULT_GEM)m_drawType=GL_TRIANGLE_STRIP;
if I send the message draw triangle_strip then it looks different than the default. if I send draw + integernumber, I get error: Bad arguments for message 'draw' to object 'mesh_square'
what's the problem with draw DEFAULT?
no problem with default, only missing the rest of the drawmethods (GL_LINES, GL_LINE_STRIP, GL_QUAD_STRIP, GL_TRIANGLE_FAN). ok for now. marius.
in gemshape.cpp you'll find : switch (c){ case 'D': // default m_drawType = GL_DEFAULT_GEM; break; case 'L': // line m_drawType = GL_LINE_LOOP; break; case 'F': // fill m_drawType = GL_POLYGON; break; case 'Q': // quads m_drawType = GL_QUADS; break; case 'P': // point m_drawType = GL_POINTS; break; case 'T': // triangles m_drawType = GL_TRIANGLES; break; case 'S': // strip m_drawType = GL_TRIANGLE_STRIP; break; in this code, c is the 1st letter after "draw ". so draw Triangle_strip is the same as draw Triangle, or draw Turtle try "draw STRIP", or "draw Something" to draw triangle_strip.... (STRIP in more logic, but anything starting with S will work).