Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: senior wapo en 10 de Febrero de 2006, 04:32:58 PM

Título: Libreria Para Dibujar Gizmos
Publicado por: senior wapo en 10 de Febrero de 2006, 04:32:58 PM
 Alguien tiene el URL de una libreria para dibujar Gizmos en OpenGL? Las flechitas de XYZ, bounding boxes, etc...  Recuerdo una que hizo un español pero ya no me acuerdo del URL,es algo vieja.

Más que nada por ahorrarme una líneas de código si la licencia no es viral.
Título: Libreria Para Dibujar Gizmos
Publicado por: seryu en 10 de Febrero de 2006, 07:27:17 PM
 (http://www.boolsite.net/images/previews/Cinema/_prev/Gremlins-Gizmo.jpg)

:D  :D

perdoname,  no lo he podido evitar  :P  
Título: Libreria Para Dibujar Gizmos
Publicado por: CoLSoN2 en 10 de Febrero de 2006, 07:31:19 PM
Cita de: senior wapoAlguien tiene el URL de una libreria para dibujar Gizmos en OpenGL? Las flechitas de XYZ, bounding boxes, etc...  Recuerdo una que hizo un español pero ya no me acuerdo del URL,es algo vieja.

Más que nada por ahorrarme una líneas de código si la licencia no es viral.
La verdad es que a parte de los típicos ejes XYZ no se me ocurren muchos gizmos más que no sean muy básicos (hechos a base de primitivas). Realmente necesitas una librería para dibujar un bounding box? ..
Título: Libreria Para Dibujar Gizmos
Publicado por: zupervaca en 10 de Febrero de 2006, 07:43:40 PM
 Para d3d indicando un maximo y un minimo:
   dib::System::Math::Vector3 vData[24];
   vData[0] = pBox->m_vMin;
               vData[1].x = pBox->m_vMin.x; vData[1].y = pBox->m_vMin.y; vData[1].z = pBox->m_vMax.z;
   vData[2] = pBox->m_vMin;
               vData[3].x = pBox->m_vMax.x; vData[3].y = pBox->m_vMin.y; vData[3].z = pBox->m_vMin.z;
               vData[4].x = pBox->m_vMax.x; vData[4].y = pBox->m_vMin.y; vData[4].z = pBox->m_vMin.z;
               vData[5].x = pBox->m_vMax.x; vData[5].y = pBox->m_vMin.y; vData[5].z = pBox->m_vMax.z;
               vData[6].x = pBox->m_vMin.x; vData[6].y = pBox->m_vMin.y; vData[6].z = pBox->m_vMax.z;
               vData[7].x = pBox->m_vMax.x; vData[7].y = pBox->m_vMin.y; vData[7].z = pBox->m_vMax.z;
               vData[8] = pBox->m_vMin;
               vData[9].x = pBox->m_vMin.x; vData[9].y = pBox->m_vMax.y; vData[9].z = pBox->m_vMin.z;
               vData[10].x = pBox->m_vMin.x; vData[10].y = pBox->m_vMax.y; vData[10].z = pBox->m_vMin.z;
               vData[11].x = pBox->m_vMin.x; vData[11].y = pBox->m_vMax.y; vData[11].z = pBox->m_vMax.z;
               vData[12].x = pBox->m_vMin.x; vData[12].y = pBox->m_vMax.y; vData[12].z = pBox->m_vMin.z;
               vData[13].x = pBox->m_vMax.x; vData[13].y = pBox->m_vMax.y; vData[13].z = pBox->m_vMin.z;
               vData[14].x = pBox->m_vMax.x; vData[14].y = pBox->m_vMin.y; vData[14].z = pBox->m_vMin.z;
               vData[15].x = pBox->m_vMax.x; vData[15].y = pBox->m_vMax.y; vData[15].z = pBox->m_vMin.z;
               vData[16].x = pBox->m_vMax.x; vData[16].y = pBox->m_vMin.y; vData[16].z = pBox->m_vMax.z;
               vData[17] = pBox->m_vMax;
               vData[18].x = pBox->m_vMax.x; vData[18].y = pBox->m_vMax.y; vData[18].z = pBox->m_vMin.z;
               vData[19] = pBox->m_vMax;
               vData[20].x = pBox->m_vMin.x; vData[20].y = pBox->m_vMax.y; vData[20].z = pBox->m_vMax.z;
               vData[21] = pBox->m_vMax;
               vData[22].x = pBox->m_vMin.x; vData[22].y = pBox->m_vMin.y; vData[22].z = pBox->m_vMax.z;
               vData[23].x = pBox->m_vMin.x; vData[23].y = pBox->m_vMax.y; vData[23].z = pBox->m_vMax.z;
   // Renderizarla
               m_pDevice->SetStreamSource( 0, NULL, 0, 0 );
   m_pDevice->SetFVF( D3DFVF_XYZ );
               m_pDevice->DrawPrimitiveUP( D3DPT_LINELIST, 12, &vData[0], sizeof(float)*3 );


Para ogl indicando un maximo y un minimo:
   glBegin( GL_LINE_STRIP );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMin.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMin.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMin.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMin.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMin.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMin.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMin.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMin.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMin.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMax.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMax.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMax.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMax.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMax.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMin.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMax.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMin.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMax.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMax.y, pBox->m_vMin.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMax.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMax.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMax.x, pBox->m_vMax.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMin.y, pBox->m_vMax.z );
    glVertex3f( pBox->m_vMin.x, pBox->m_vMax.y, pBox->m_vMax.z );
   glEnd();

Pero quienes mas saben sobre el tema son los de haddd que tienen todo tipo de gizmos en su motor.
Título: Libreria Para Dibujar Gizmos
Publicado por: ethernet en 10 de Febrero de 2006, 07:46:42 PM
 Los gizmos que molan son los que habitualmente vienen en los visores de VRML :)
Título: Libreria Para Dibujar Gizmos
Publicado por: Pogacha en 11 de Febrero de 2006, 12:10:20 AM
 Realmente hace falta una libreria?
Que tan complicados pueden ser?
Título: Libreria Para Dibujar Gizmos
Publicado por: KACHORRO en 22 de Febrero de 2006, 12:29:07 PM
 Yo tampoco puedo evitarlo... ¿qué es un gizmo?
Título: Libreria Para Dibujar Gizmos
Publicado por: Pogacha en 22 de Febrero de 2006, 04:16:53 PM
 Un gizmo es un personaje de una pelicula, el cual puso la foto seryu.
A parte de esto ... se le llama gizmo a una referencia espacial o directiva ( el concepto es bastante amplio ).
En nuestro caso  (mundo de desarrollo 3d) son por ejemplo las referencias graficas para ubicación espacial y de dimensón, o sea todos los graficos de referencias como flechas, reglas, la tipica cruz x-y-z, los bounding boxes, los pivotes para animación y todas esas cosas.
Si alguíen tiene una definicion mas catedratica o certera se agradece también.
Saludos.
Título: Libreria Para Dibujar Gizmos
Publicado por: zupervaca en 22 de Febrero de 2006, 04:44:08 PM
 La definicion que siempre he usado para gizmo es que es una representacion basica de la transformacion y/o propiedades de un objeto mas complejo, y despues se puede representar como dice pogacha de muchas formas, no obstante estoy seguro que alguien tiene una definicion mas correcta.