Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Texturas Procedurales En D3d

Iniciado por Loover, 26 de Diciembre de 2003, 01:28:01 AM

« anterior - próximo »

Loover

 No creí que algo tan sencillo me trajera tantos quebraderos de cabeza.

Tengo un array de 256*256*4 bytes en memoria, en formato BGRA defienen una imagen de 256x256.
¿Cómo lo paso a una textura en Direct3d?

He probado con D3DXCreateTextureFromFileInMemory pero sospecho que esa función te pide todo el archivo cargado en memoria con cabecera y todo (lo cuál me parece una estupidez de función pero bueno).
He leído sobre superficies, pero tampoco me ha quedado claro y no lo he resuelto.
Y no existe una D3DXCreateTextureFromMemory, lo cuál me parece una putada.

¿Cómo se hace? Agradecería mucho mucho código con ejemplos, o el nombre exacto de las funciones.
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

Loover

 Vale era usando LockRect sobre el objeto textura.


D3DLOCKED_RECT mRect;
       
mNewTexture->LockRect (0, &mRect, NULL, 0);

byte *p = (byte *) mRect.pBits;

...
...
IndieLib Libreria 2.5d utilizando aceleración por hardware para la programación de juegos 2d.
Indie Rover The monkeys are reading!

BeRSeRKeR

 La función D3DXCreateTextureFromFileInMemory es perfecta para cuando, por ejemplo, cargas un archivo de textura desde un zip. Simplemente le pasas el buffer con los datos descomprimidos que te devuelve tu librería de compresión/descompresión favorita y a correr. Una maravilla, vamos ;)

Saludos.
¡Si te buscan en nombre de la ley, huye en nombre de la libertad!!






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.