|
|
程序会非法操作 然后就跳出了
...
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就出现一个异常 然后跳出了
但是完全不知道怎么修改 请大家指教~~ |
|