Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Mipmaps En Directx

Iniciado por vincent, 14 de Diciembre de 2004, 03:15:41 PM

« anterior - próximo »

vincent

 Buenas,

estoy intentando que directx me autogenere los mipmaps de una textura él solito. He comprobado que lo puede hacer con el siguiente trozo de código g_pD3D->CheckDeviceFormat( D3DADAPTER_DEFAULT,
                                          D3DDEVTYPE_HAL,
                                          D3DFMT_X8R8G8B8,
                                          D3DUSAGE_AUTOGENMIPMAP,
                                          D3DRTYPE_TEXTURE,
                                          D3DFMT_A8R8G8B8 ) );


y me ha dicho que le parece tope de bien que quiera que los genere él.

El problema viene a la hora de crear la textura que me da error. Utilizo lo siguiente:

hr = D3DXCreateTextureFromFileEx(g_pd3dDevice, // Device
             file_name,        // nom de la textura
             D3DX_DEFAULT,       // width
             D3DX_DEFAULT,       // height
             D3DX_DEFAULT,       // mip levels -> create a complete chain
              D3DUSAGE_AUTOGENMIPMAP,     // usage
             D3DFMT_FROM_FILE,      // format
             D3DPOOL_DEFAULT,      // pool
             D3DX_DEFAULT,       // filter
             D3DX_DEFAULT,       // mip filter
             0,          // color key
             NULL,         // src info
             NULL,         // palette
             &tex ));



y me da error.

El debugger de Directx me dice:

Direct3D9: (ERROR) :Cannot update from a multi-level non-autogenerated mipmap to an autogenerated one.

Alguien me podria decir cómo lo tengo que hacer?

Gracias!
Desarrollo en .Net y metodologías http://devnettips.blogspot.com

Haddd

 Te los genera automáticamente al cargar. No tienes que hacer la comprobación de que te generar el mipmap automáticamente porque ya te lo hace el cargador. Tu único error es el usage, que no sirve en este caso es flag. Ponle 0 y listo!!  






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.