//
载入纹理,从一张纹理图形中生成多级纹理
if ( FAILED( D3DXCreateTextureFromFileEx( m_pDevice, // D3D设备指针
lpszTexture, // 图形文件路径与文件名
0 , 0 , // 指定纹理宽,高.设为0表示图形大小
0 , // 指定渐进纹理序列级数,0表示尽可能多的生成纹理过滤级数
0 , // 纹理使用方式
D3DFMT_X8R8G8B8, // 指定纹理图形格式
D3DPOOL_MANAGED, // 纹理存放的内存类型
D3DX_DEFAULT, // 纹理过滤方式
D3DX_DEFAULT, // 自动生成的纹理过滤方式
0xFF000000 , // 设置透明色,0表示禁用透明色
NULL, // 图形文件信息存放地址
0 , // 调色板存放地址
& m_pTexture /**/ /*D3D纹理指针存放地址*/ ) ) )
return E_FAIL;
// 设置多级纹理过滤方式为线性过滤
m_pDevice -> SetSamplerState( 0 , D3DSAMP_MIPFILTER, D3DTEXF_LINEAR );
if ( FAILED( D3DXCreateTextureFromFileEx( m_pDevice, // D3D设备指针
lpszTexture, // 图形文件路径与文件名
0 , 0 , // 指定纹理宽,高.设为0表示图形大小
0 , // 指定渐进纹理序列级数,0表示尽可能多的生成纹理过滤级数
0 , // 纹理使用方式
D3DFMT_X8R8G8B8, // 指定纹理图形格式
D3DPOOL_MANAGED, // 纹理存放的内存类型
D3DX_DEFAULT, // 纹理过滤方式
D3DX_DEFAULT, // 自动生成的纹理过滤方式
0xFF000000 , // 设置透明色,0表示禁用透明色
NULL, // 图形文件信息存放地址
0 , // 调色板存放地址
& m_pTexture /**/ /*D3D纹理指针存放地址*/ ) ) )
return E_FAIL;
// 设置多级纹理过滤方式为线性过滤
m_pDevice -> SetSamplerState( 0 , D3DSAMP_MIPFILTER, D3DTEXF_LINEAR );
系统会根据距离自动选择纹理图片。可以解决大图片显示在小空间时的闪烁问题。