Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ser o no ser?

Iniciado por Lord Trancos, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

Gunder

                                Hola _Grey,

el unico problema de tener un vertexbuffer con todos los vertices de la estancia es, que al ir a pintar un solo poligono, si le indicas el rango completo a D3D este, trasformara todo el vertexbuffer del tirón sin tener en cuenta que solo vas a pintar un triangulo.

Pofavor, si alguien puede desmentir esta terrible afirmación, estaria eternamente agradecido.

Ale,
Gunder                                
riticar, critica hasta el mas tonto.

_Grey

                                Jostras! pos no me lo sabia eso , estas seguro?? En documnetacion de la web de nvidia te sueltan que uses un mismo vertexbuffer para almacenar los vertices de barios objetos para no tener que ir cambiando mas buffers de los necesarios, pero me dejas en fuera de juego, realmente no se si sera asi....Entonces habria que tener un vertexbuffer para cada nodo del octree, que no parece lo mas agradable, pero que segurisimo corre mas que ir pintando poligono a poligono, de todas formas despues de la primero que te he comantado , no creo que sea asi....

En fin... si alguien nos puede sacar de dudas??

Saludos.                                

_Grey

                                Por cierto se me olvida decir ... que el metodo que he comentado no es para dibujar poli a poli, sino todos los polis de golpe del nodo "visible"....                                

DrDelete

                                Estoy casi seguro de que transforma todo el Vertex Buffer... :ojo:                                

mallrat

                                No hombre no, no transforma el vertex buffer completo, hay que leerse la documentación mas a menudo...
DrawIndexedPrimitive():
The minIndex and NumVertices parameters specify the range of vertex indices used for each DrawIndexedPrimitive call. These are used to optimize vertex processing of indexed primitives by processing a sequential range of vertices prior to indexing into these vertices. It is invalid for any indices used during this call to reference any vertices outside of this range.
                               

Gunder

                                Correcto mallrat,

pero como seleccionar los 7 primeros vertices dejar 20 sin trasformar, usar los 14 siguientes, etc, etc, etc.

A eso me referia.
                               
riticar, critica hasta el mas tonto.

mallrat

                                Supongamos que los 10 primeros triangulos usan los vertices 0 a 6, los 15 siguientes usan del 7 al 30 y los 12 siguientes del 31 al 48

pd3dDevice->SetVertexShader( FVF );
pd3dDevice->SetStreamSource( 0, pVertBuf, TAM_FVF );
pd3dDevice->SetIndices( pIndexBuf, 0 );

pd3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 0, 7, 0, 10 );

pd3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 7, 24, 10*3, 15 );

pd3dDevice->DrawIndexedPrimitive( D3DPT_TRIANGLELIST, 31, 18, 25*3, 12 );

lo he puesto mas o menos a ojo, yo aviso...
                               

Gunder

                                Veo q ya no tengo ni puta idea de programar asique, ya no sigo con el tema.

Eso si, ya si eso mando los triangulos de uno en uno y paso de vertex buffers y de index buffers.



[ Este Mensaje fue editado por: Gunder el 2002-04-02 22:34 ]                                
riticar, critica hasta el mas tonto.

Kabila

                                Gunder que te has quedado atrasado :ojo:

a mi me pasa lo mismo. Eso de tener que dirigir y no meterte con el ordenador se va perdiendo :riendo:                                

Gunder

                                Kabila...

¿pero si estoy to el puto dia programando?


                               
riticar, critica hasta el mas tonto.

Kabila

                                Pero programando 3D? con directx y tal o haciendo otra cosa. Yo ahora estoy con juegos online y el directx no lo toco para nada. no es que lo otro no tenga curro pues estoy haciendolos multijugador y el servidor lleva mucho curro. Pero no toco directx entonces no me voy a poner a discutir cosas tan tecnicas. Para eso ya tengo a los ingenieros de engine :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.