Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Frustum culling

Iniciado por Whoiam, 14 de Diciembre de 2002, 06:34:26 PM

« anterior - próximo »

Whoiam

                                Corregirme si me equivoco. Frustrum culling es determinar la parte que quiero que se renderize de mi escena. Creo que es una especie de cubo.

¿ Como se consigue ?                                

Lord Trancos

                                Echale un vistazo a esto:

  http://www.markmorley.com/opengl/frustumculling.html                                
i>SaludoteZ de Lord Trancos!
http://www.dxlab.tk - http://dxlab.host.sk - programación de DirectX con Delphi.

ethernet

En ese tutorial no explica ni de lejos como saca los planos del frustrum el se limita a sacarlos. Aprovecho para ver si alguien sabe una web donde d una eplicacion matematica .

saludos

CoLSoN2

                                hay que ver como te complicas ethernet xD

se saca de la matriz resultante de multiplicar la matriz de vista por la de proyección.



dev->GetTransform(D3DTS_PROJECTION,&matproj);



dev->GetTransform(D3DTS_VIEW,&matview);

D3DXMatrixMultiply(&Matrix,&matview,&matproj);



 // calculamos los planos

m_Planes[0].a = Matrix._14 + Matrix._13; // plano cercano

m_Planes[0].b = Matrix._24 + Matrix._23;

m_Planes[0].c = Matrix._34 + Matrix._33;

m_Planes[0].d = Matrix._44 + Matrix._43;

D3DXPlaneNormalize(&m_Planes[0], &m_Planes[0]);



m_Planes[1].a = Matrix._14 - Matrix._13; // plano lejano

m_Planes[1].b = Matrix._24 - Matrix._23;

m_Planes[1].c = Matrix._34 - Matrix._33;

m_Planes[1].d = Matrix._44 - Matrix._43;

D3DXPlaneNormalize(&m_Planes[1], &m_Planes[1]);



m_Planes[2].a = Matrix._14 + Matrix._11; // plano izquierda

m_Planes[2].b = Matrix._24 + Matrix._21;

m_Planes[2].c = Matrix._34 + Matrix._31;

m_Planes[2].d = Matrix._44 + Matrix._41;

D3DXPlaneNormalize(&m_Planes[2], &m_Planes[2]);



m_Planes[3].a = Matrix._14 - Matrix._11; // plano derecha

m_Planes[3].b = Matrix._24 - Matrix._21;

m_Planes[3].c = Matrix._34 - Matrix._31;

m_Planes[3].d = Matrix._44 - Matrix._41;

D3DXPlaneNormalize(&m_Planes[3], &m_Planes[3]);



m_Planes[4].a = Matrix._14 - Matrix._12; // plano de arriba

m_Planes[4].b = Matrix._24 - Matrix._22;

m_Planes[4].c = Matrix._34 - Matrix._32;

m_Planes[4].d = Matrix._44 - Matrix._42;

D3DXPlaneNormalize(&m_Planes[4], &m_Planes[4]);



m_Planes[5].a = Matrix._14 + Matrix._12; // plano de abajo

m_Planes[5].b = Matrix._24 + Matrix._22;

m_Planes[5].c = Matrix._34 + Matrix._32;

m_Planes[5].d = Matrix._44 + Matrix._42;

D3DXPlaneNormalize(&m_Planes[5], &m_Planes[5]);

                               
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

ethernet

ah, claro y como sabes tu las componentes de la matriz q tiene q sumar y restar para sacar la ecuacion del plano? a eso me referia.  

saludos

CoLSoN2

                                muy simple, lo leí en un libro xDDDDD                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

ethernet


Mars Attacks

                                Libros rulez.                                

CoLSoN2

                                Programming Role Playing Games in DirectX 8, de Premier Press                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

Whoiam

                                enrrollate y scanea ese par de hojas donde lo explica  :oops:  :oops:  :oops:  :oops:  :oops:  :oops:  :X9:  :X9:                                

CoLSoN2

                                aix.. si yo tuviera scanner. ..

he estado leyendolo bien y sólo explica que es el frustum, para que sirve y como se obtiene, pero nada de porqué se obtiene de esa forma, que es lo que ethernet quiere saber, no?                                
Manuel F. Lara
Descargar juegos indie  - blog sobre juegos indie y casual
El Desarrollo Personal.com  - blog sobre productividad, motivación y espíritu emprendedor

ethernet

eso quiero saber entre otras cosas XXDD

BeRSeRKeR

                                A ver si éste satisface tus necesidades, ethernet   :ojo:                                
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!

Repoker

                                Yo os recomiendo GAME PROGRAMMING GEMS (hay 1,2 y 3). No me acuerdo de la ed. ni nada , pero me mola ese libro.                                

Whoiam

                                Que alguien se lo curro y lo escanee,  :X9:  :X9:  :X9:  :X9:
...hombre nose seran 3 o 4 hojas de explicación... tampoco creo que sean 20.

Enga.
:ojo:  :ojo:  :ojo:                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.