Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Menu

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menu

Mensajes - MA]Mestre

#16
Cita de: "tamat"Es que me cuesta aceptar que no exista una solución OGL para esto, me parece algo muy elemental, se pueden indexar mil cosas pero ahora resulta que los indices tienen que ser simultaneos para todos, no me parece nada optimo.

Existe esa solución en DX ?

El 'vértice' de un poligono lleva con sigo 'todo un pack', no puedes indexar sus elementos individualmente. Además lo encuentro lógico.

Siguiendo tu ejemplo, tenemos 100 vértices y solo 2 normales. Resulta que en algún stage de pipeline, ( o un simple Shader ), modifica alguna de las 100 normales mapeadas en 2.  Óptimo ?
#17
Cita de: "tamat"He probado usando Vertex Arrays pero he descubierto que los vertex arrays obligan a que haya el mismo numero de vertices que de normales

Una normal siempre se se define por vértice, no por polígono. Bien lo hagas tu, te lo haga el driver, o el espiritu santo.
#18
Cita de: "cyberon"Por cierto, los personajes en su mayoría son simétricos y hay piezas que se pueden conseguir por instancia y reflejando, ¿eso reduciría bastante los cálculos de la GPU?

No, los aumentarias.
#19
La pregunta es muy genérica pero, esa cantidad de polígonos no deberían ser problema, aún mutiplicándola por dos personajes que se parten la cara.

Otro tema sería la cantidad de "efectos" q aplicas en la escena, que te pueden tirar tus FPS abajo.

Un saludo.
#20
Programación gráfica / POINT SPRITE - textCoord
02 de Noviembre de 2006, 10:52:50 PM
Tal vez con Shaders ?  :wink:
#21
Programación gráfica / DX7 - RGB/BGR Lock o que?
23 de Octubre de 2006, 07:53:18 PM
Cita de: "Pogacha"Sobre OpenGL, es la version que viene por defecto en VC6.0, ahora que lo mensionas no estoy seguro de que sea la 1.0, lo que si no esta el PROXY_TEXTURE_2D que segun creo fue agregada en 1.1.

La version de OpenGL que es la que te instalas con los drivers de tu vga, o por defecto la del S.O. En cualquier caso nada tiene q ver el VC 6.0.
#22
Programación gráfica / Mínimo 25 FPS
11 de Octubre de 2006, 10:19:45 AM
Envio el Backbuffer de una aplicación 3D a una tarjeta de video profesional. Esta hace un overlay entre una señal de video ( life cámara) y la que genero desde la aplicación D3DX.

Tenia miedo del rendimiento, por un lado, acerte. Por AGP es inviable. Por otro lado fallé, tengo muchos problemas de entrelazado de la imagen progresiva q envío.

Tb he mirar de voltear de la forma más óptima el surface dest ( del código de antes ), pues la imagen me sale invertida. Pero primero buscaré si la tarjeta de video pro lo puede hacer por mí, sería lo deseable.

Un saludo, y gracias a todos por las aportaciones anteriores.
#23
Programación gráfica / Mínimo 25 FPS
10 de Octubre de 2006, 07:49:31 AM
-Funciona fantástico combinado con el PCI-expres. 230 en una 7800GT.

-Funciona de pena con un AGP.  30 en una ATI ( No recuero el modelo que tengo en el curro, era gama media )

Un saludo.


if (!dest)
hr=g_pd3dDevice->CreateOffscreenPlainSurface (712,542,D3DFMT_X8R8G8B8,D3DPOOL_SYSTEMMEM,&dest,NULL);
   
   hr=g_pd3dDevice->GetBackBuffer (0,0,D3DBACKBUFFER_TYPE_MONO,&surf);
     
   hr=g_pd3dDevice->GetRenderTargetData(surf,dest);
   
   hr=dest->LockRect (&pLock,NULL,D3DLOCK_DISCARD);
   
   CopyMemory (buff[n],pLock.pBits,712*542*4);
   
   n=1-n;
   
   hr=dest->UnlockRect();
#24
Programación gráfica / Mínimo 25 FPS
05 de Octubre de 2006, 09:11:26 AM
Cita de: "Prompt"Yo optaria por renderizar al menos 1 frame por delante. Con un framebuffer el "problema" esta resuelto, lo malo será cuando te quedes sin memoria o la escritura a disco sea lentisima :/

No me quedare sin memoria, pues la ire reescribiendo. Como mucho haé un doblebuffer con ella.

Como nadie dice q es una idea descabellada, es decir que será factible obtener 25Frames + memcopy sin que decaiga el rendimiento, lo voy a probar. Ya os diré algo.

Gracias.
#25
Programación gráfica / Mínimo 25 FPS
04 de Octubre de 2006, 04:16:58 PM
Cita de: "marcode"Yo tampoco he entendido exactamente la pregunta, solo decirte que para copiar a memoria las imágenes deberías usar IDirect3DDevice9::GetRenderTargetData


HRESULT GetRenderTargetData(
 IDirect3DSurface9* pRenderTarget,
 IDirect3DSurface9* pDestSurface
);


Suena más rápido que un memcopy  :wink:.
#26
Programación gráfica / Mínimo 25 FPS
04 de Octubre de 2006, 04:09:55 PM
Cita de: "synchrnzr"No sé si le pasa a más gente, pero yo no entiendo la pregunta :roll:

sync

Sintezando.

Puedo de una Aplicacion 3D con Dx9 (que funciona a 200FPS-400FPS)  obtener del FrameBuffer/Backbuffer 25 imagenes por segundo y copiarlas a una Zona de Memoria ?

Problematica.

Creo que leer del Frame/BackBuffer debe ser lentisimo, y tb mucho tener que copiar lo leido a una zona de memoria. Pensais que aguantará el rendimiento o bien q caerá en picado ? cual es la forma mas rapida de sacar el FrameBuffer ? cualquiera idea para mejorar el rendimiento sera agradecida ;-)

aprox.

new (x)

RenderLoop( )
   ...
   GetFrameBuffer()
   Lock()
   MemCopy( )
   Unlock ( )
   ...
EndRenderLoop ( )

Saco de la equación el tema del HDD. Puedo prescindir de el.
#27
Programación gráfica / Mínimo 25 FPS
03 de Octubre de 2006, 10:22:33 AM
Hola,

Me gustaría desde una aplicación D3D, que se mueve entre los 200-400FPS, poder obtener 25 FPS samples por segundo, sin que el rendimiendo general baje de los 60FPS.

Los Samples que tomo cada segundo deberian ir a HDD, o en su defecto para un mejor rendimiento a una zona de memoria, con un memcopy o similiar ( He leido q existen memcopy en asm q aprovechando extensiones de CPU aumentan hasta un 15% el rendimiento de copias grandes de memoria )

Me gustaria escuchar vuestras sugerencias  ( quizás sea una idea descabellada, decirlo ) Estoy acostumbrado a trabajar en OpenGL, en cambio no he tocado practicamente nada de DirectX, esta información es de cara a los tecnicimos q podais usar en las respuestas.

Un saludo.
#28
General Programadores / Barra de tareas.
30 de Septiembre de 2006, 10:55:41 AM
Gracias, me bastará.
#29
General Programadores / Barra de tareas.
29 de Septiembre de 2006, 03:29:24 PM
Hola,

Me gustaria saber si algun de vosotros conoce alguna API Win32 que pueda extraer el ancho/alto i posición ( der-izq-arrib-abajo ) de la barra de tareas. En .Net tb me serviria.

Un saludo.
#30
General Programadores / soporte para diferentes idiomas
08 de Julio de 2006, 07:56:22 PM
Desde .NET se puede cambiar "el idioma" recorriendote con un bucle todos los controles y accediendo al recurso pertinente para cambiarle el .text

Esa es la forma q empleo, pero buscaba otra más elegante, supongo q .NET debe prever esta situación y debe tener un CambiameElIdiomaPorElMorro (NuevoIdima)





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.