首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络游戏 >

D3D 用例证的代码贴图片为什么覆盖一层红色

2013-10-27 
D3D 用例子的代码贴图片为什么覆盖一层红色这是进入D3D后的代码if( FAILED( D3DXCreateTextureFromFileEx(

D3D 用例子的代码贴图片为什么覆盖一层红色

这是进入D3D后的

D3D 用例证的代码贴图片为什么覆盖一层红色
代码



if( FAILED( D3DXCreateTextureFromFileEx( 
g_pd3dDev,                 // D3D设备对象
"b_110.bmp",                 // 指明加载图像位置的字符串
1280,                         // 图像宽度
720,                          // 图像高度
1,                            // 图片的图层,一般用D3DX_DEFAULT,与图像质量有关
0,                            //设定这个纹理的使用方法
D3DFMT_UNKNOWN,               // 每个颜色成分使用的位数
D3DPOOL_MANAGED,              // 纹理对象驻留的内存类别
D3DX_DEFAULT,                 // 处理图像质量,并控制D3D填充图像数据的方法
D3DX_DEFAULT,                 // 像素过滤方式
NULL,                         // 透明色,设定这个颜色,在显示时,这图像中的这个颜色将忽略
NULL,                         // 记录载入图片信息
NULL,                         // 记录调色板信息
&g_pTex) ) )           // 用来储存载入图片的纹理对象实例

 {
             MessageBox(NULL, "Could not find 110.bmp", "eror", MB_OK);
             return E_FAIL;
 }







struct CUSTOMVERTEX 
{

     FLOAT x, y, z;
     unsigned long  color;
     FLOAT u, v;         
};

#define D3DFVF_CUSTOMVERTEX  (D3DFVF_XYZ|D3DFVF_DIFFUSE |D3DFVF_TEX1)




 CUSTOMVERTEX v[] =  
{

        {-0.3f, -0.4f, 0, D3DCOLOR_ARGB(255,255,255,255), 0, 1},
        {0.3f,  -0.4f, 0, D3DCOLOR_ARGB(255,255,255,255), 1, 1},
        {0.3f,   0.4f, 0, D3DCOLOR_ARGB(255,255,255,255), 1, 0},

        {0.3f,   0.4f, 0, D3DCOLOR_ARGB(255,255,255,255), 1, 0},
        {-0.3f,  0.4f, 0, D3DCOLOR_ARGB(255,255,255,255), 0, 0},
        {-0.3f, -0.4f, 0, D3DCOLOR_ARGB(255,255,255,255), 0, 1}



};











[解决办法]

看不到其它的代码,只能猜测一下:

可能是灯光材质的问题


也就是你设置的灯光颜色只包含红色,或者你的材质、漫反射等相关颜色只设置为红色,这样其它颜色无法起作用。 

你可以关闭光源试试看效果,就知道是否这个原因了。





热点排行