Logo

¡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.
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.