游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2626|回复: 3

(directx 的问题)settexture总是出错

[复制链接]

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2008-5-25 18:32:00 | 显示全部楼层 |阅读模式
程序会非法操作 然后就跳出了


...
struct CUSTOMVERTEX
{
        float x, y, z; //顶点坐标

        float x1, y1, z1; //顶点坐标

        float u, v; //顶点坐标
       
};
#define D3DFVF_CUSTOMVERTEX (D3DFVF_XYZ | D3DFVF_NORMAL|D3DFVF_TEX1)
...
        LPDIRECT3D9 m_pD3D; //Direct3D对象的接口指针
        LPDIRECT3DDEVICE9 m_pDevice; //设备对象的接口指针
       
        LPDIRECT3DVERTEXBUFFER9 m_pVB;
        LPDIRECT3DTEXTURE9 m_pTexture;

....

void D3D:: init_texture()
{
        //三角形实体的数学模型
        CUSTOMVERTEX vertices[3] =
        {
        { -1.0f, -1.0f, 0.0f,
        0.0f,0.0f,1.0f,
        0.0f,0.0f,
        },
        { 0.0f, 1.0f, 0.0f,
        0.0f,0.0f,1.0f,
        0.0f,1.0f
        },
        { 1.0f, -1.0f, 0.0f,
        0.0f,0.0f,1.0f,
        1.0f,0.0f
        }
        };
        //创建顶点缓存区,并获取接口IDirect3DVertexBuffer9的指针
        m_pDevice->CreateVertexBuffer(
        sizeof(vertices), //缓存区尺寸
        0, D3DFVF_CUSTOMVERTEX,

        D3DPOOL_DEFAULT, &m_pVB, NULL );

        //把顶点数据填入顶点缓存区
        void* pVertices;
        m_pVB->Lock( 0, sizeof(vertices), (void**)&pVertices, 0 );
        memcpy( pVertices, vertices, sizeof(vertices) );
        m_pVB->Unlock();

        :3DXCreateTextureFromFile( m_pDevice, "1.bmp", &m_pTexture );
        m_pDevice->SetTexture( 0, m_pTexture );
}

debug了一下 发现是SetTexture的问题  
就是一运行到SetTexture就出现一个异常 然后跳出了

但是完全不知道怎么修改 请大家指教~~

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2008-5-25 19:44:00 | 显示全部楼层

Re:(directx 的问题)settexture总是出错

我跟踪了一下:3DXCreateTextureFromFile( m_pDevice, "1.bmp", &m_pTexture );
的返回值

发现是
HRESULT: 0x88760b59 (2289437529)
Name: D3DXERR_INVALIDDATA
Description: Invalid data
Severity code: Failed
Facility Code: FACILITY_D3D (2166)
Error Code: 0x0b59 (2905)

是不是D3DXCreateTextureFromFile的参数有什么问题?

1.bmp和生成的exe 放在同一个目录中

35

主题

1735

帖子

1739

积分

金牌会员

Rank: 6Rank: 6

积分
1739
QQ
发表于 2008-5-25 23:03:00 | 显示全部楼层

Re:(directx 的问题)settexture总是出错

可能是图片路径不对。

1

主题

3

帖子

0

积分

新手上路

Rank: 1

积分
0
 楼主| 发表于 2008-5-26 22:08:00 | 显示全部楼层

Re:(directx 的问题)settexture总是出错

哦哦


的确


应该省略盘符直接写路径啊...

谢谢楼上的兄弟了^^
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-22 09:25

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表