Hola,
Genero una textura procedural i la guardo en un buffer. Como puedo meterle una cabecera de tipo BMP para poder usar la funcion D3DXCreateTextureFromFileInMemory.
Gracias.
Que tal esto:
1. Crear el buffer en memoria con el tamaño de la textura + el header BMP
2. Crear la textura procedural (justo despues de la cabecera)
3. Rellenar la cabecera...
4. Cargar la textura con la API d3dx
Saludos.
¿Por qué no utilizas D3DXCreateTexture para crear una textura, la bloqueas y la rellenas con la información del buffer que contiene la textura procedural?.
Saludos.
No hace falta crear la cabecera del BMP. Solo tienes que crear tu textura procedural en memoria con una profundidad de 32 bpp y luego copiarla a la textura DX. Algo así:
char *buffer; //Aqui tienes tu textura
D3DLOCKED_RECT lock;
IDirect3DTexture9* m_pTexture;
hRes=pd3dDevice->CreateTexture(tx,ty,1,0,D3DFMT_X8R8G8B8,D3DPOOL_MANAGED,&m_pTexture,NULL);
if(hRes==S_OK)
{
hRes=m_pTexture->LockRect(0,&lock,NULL,0);
if(hRes==S_OK)
{
memcpy(lock.pBits,buffer,tx*ty*4);
m_pTexture->UnlockRect(0);
}
}
un saludo
Gracias, tema resuelto :D.