Foros - Stratos

Programadores => Programación gráfica => Mensaje iniciado por: DraKKaR en 25 de Octubre de 2002, 09:39:41 PM

Título: Necesito codigo en Direct3D
Publicado por: DraKKaR en 25 de Octubre de 2002, 09:39:41 PM
                                Hola, me gustaria ke alguien me pasara o me dijera de kw web podria conseguir algun codigo sobre la utiolizacion de octrees, o algun otro algoritmo de visibilidad que utilice Direct3D.

Gracias.                                
Título: Necesito codigo en Direct3D
Publicado por: Lord Trancos en 25 de Octubre de 2002, 10:12:01 PM
                                En mi web hay un ejemplo y un articullo para Delphi + DX. Pero no te recomiendo el metodo q uso para dibujar octrees ya q esta pensado para tarjetas 3D viejas como la mia.                                
Título: Necesito codigo en Direct3D
Publicado por: Haddd en 25 de Octubre de 2002, 10:50:43 PM
                                Yo utilizo octrees. Este es el código. El VertexBuffer no lo cambio nunca, sólo cambio en IndexBuffer. Pero atención, que el octree que yo hago es por malla, no por "mundo".

   // Las caras a false
   memset(m_CarasUtilizadas,0,(m_NIndicesOriginal/3)*sizeof(bool));

   m_Octree.MarcarCarasVisibles(m_CarasUtilizadas,m_VerticesOriginal,j->m_Matriz);

   WORD *pi=(WORD *)m_BuffersShaders.IB->Bloquear();

   e=0;
   for(c=0;c<(m_NIndicesOriginal/3);c++)
      if(m_CarasUtilizadas[c]) {
         d=c*3;
         pi[0]=(WORD)m_IndicesOriginal[d];
         pi[1]=(WORD)m_IndicesOriginal[d+1];
         pi[2]=(WORD)m_IndicesOriginal[d+2];
         e+=3;
         pi+=3;
      }

   m_NIndices=e;

   m_BuffersShaders.IB->Desbloquear();                                
Título: w0p
Publicado por: CoLSoN2 en 25 de Octubre de 2002, 11:20:40 PM
                                no entiendo tu codigo XD casi mejor azlo en pseudo plz                                
Título: Necesito codigo en Direct3D
Publicado por: Haddd en 26 de Octubre de 2002, 09:20:16 AM
                                Marcar Caras Visibles

Rellenar los indices con las caras que se ven                                
Título: Necesito codigo en Direct3D
Publicado por: DraKKaR en 26 de Octubre de 2002, 12:17:00 PM
                                Muchas gracias. Lord Trancvos voy a echarle una ojeada a tu codigo.

Haddd, gracias por responder, pero en realidad lo que necesito en el trozo de codigo que usas para renderizar las caras del octree, ya que el buffer de indices ya lo tengo bien montado.                                
Título: Necesito codigo en Direct3D
Publicado por: Lord Trancos en 26 de Octubre de 2002, 02:02:08 PM
                                Entonces mi codigo no te servira pq yo no uso IndexBuffers :)                                
Título: hm
Publicado por: CoLSoN2 en 26 de Octubre de 2002, 02:36:46 PM
                                para renderizar un terreno mediante octrees, lo suyo seria tener 1 vertex buffer para todo el terreno, y en cada nodo final 1 lista de indices, para añadirlos al inndex bufer que se crea a cada frame, nop ?                                
Título: Necesito codigo en Direct3D
Publicado por: DraKKaR en 26 de Octubre de 2002, 04:01:01 PM
                                Sip, todo eso ya lo tenog hecho y funioncando bien en opengl. Lo que pasa es ke no me alcaro a hacerlo en direct3d, por eso kiero ver algun codugo de al menos cuando se va a renderizar.