关于使用D3DXCreateMeshFVF的怪问题!

chisoft 2004-07-19 05:28:11
LPD3DXMESH pMeshTemp = NULL;
int n=100;

if( FAILED( hr = D3DXCreateMeshFVF( n*n, n*n* 3,
0, D3DFVF_XYZ | D3DFVF_NORMAL, m_pd3dDevice, &pMeshTemp ) ) )
{
return;
}


以上语句当n小于120时都是对的,但n>120时就报错 hr=D3DERR_INVALIDCALL

为什么?请高手指教!谢谢!
...全文
193 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
chisoft 2004-07-26
  • 打赏
  • 举报
回复
up
chisoft 2004-07-20
  • 打赏
  • 举报
回复
cap是什么呀?


以下是我的代码:


// Create the D3D object.
if( NULL == ( g_pD3D = Direct3DCreate9( D3D_SDK_VERSION ) ) )
return E_FAIL;

// Get the current desktop display mode, so we can set up a back
// buffer of the same format
D3DDISPLAYMODE d3ddm;
if( FAILED( g_pD3D->GetAdapterDisplayMode( D3DADAPTER_DEFAULT, &d3ddm ) ) )
return E_FAIL;

// Set up the structure used to create the D3DDevice
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;
d3dpp.BackBufferFormat = d3ddm.Format;


// Create the D3DDevice
if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &g_pd3dDevice ) ) )
{
return E_FAIL;
}


LPD3DXMESH pMeshTemp = NULL;
int n=100;

if( FAILED( D3DXCreateMeshFVF( n*n, n*n* 3,
0, D3DFVF_XYZ | D3DFVF_NORMAL, g_pD3D, &pMeshTemp ) ) )
{
return E_FAIL;
}


没有涉及什么caps呀!

是不是要设置一些参数呀?
zhangyan_qd 2004-07-19
  • 打赏
  • 举报
回复
查查caps,看和vertex buffer有关的几个cap值是多少,有没有超过的。

8,303

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧