Sign in to follow this  

DirectX8, CloneMeshFVF

This topic is 3413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

What i'm doing: 1. I'm loading an X File into my 3DMESH object 2. Via CloneMeshFVF i make a clone of it. 3. Via D3DVertexBuffer8GetData i get the data into my D3DVERTEX array 4. I manipulate the D3DVERTEX data (morphings...) and write it back via D3DVertexBuffer8SetData. So far so good. But when the X File that i load has more than about 9000 vertices, i get an automation error (VBasic) while calling the CloneMeshFVF function. There seems to be a limitation for the size of the data. Does anybody know a walkthrough? Or another (better) way to be able to manipulate the geometry of a big 3D object in D3D 8? Thanks Andy

Share this post


Link to post
Share on other sites
Quote:
Original post by Buckeye
Quote:
i get an automation error (VBasic) while calling the CloneMeshFVF function

What's the error?


I get the following error:

Runtime error '-2005530516 (8876086c)':
Automation Error

That's the only information i get.

Share this post


Link to post
Share on other sites
Quote:
Original post by andyk71
Quote:
Original post by Buckeye
Quote:
i get an automation error (VBasic) while calling the CloneMeshFVF function

What's the error?


I get the following error:

Runtime error '-2005530516 (8876086c)':
Automation Error

That's the only information i get.
That sounds like D3DERR_INVALIDCALL to me (Although I haven't checked). What do the Debug Runtimes tell you? You might need to use DebugView or something to see the debug output though; I don't know anything about VB.

Share this post


Link to post
Share on other sites
That's the code for INVALIDCALL (some parameter in your call is NULL or otherwise incorrect).

By the way, you can find out what the error is about by calling DXGetErrorDescription8(HRESULT hr) or DXGetErrorString8(HRESULT hr).

So, what's the code that causes the error? One or more of the parameters in some DirectX call is incorrect. You can copy and paste the code around the line that causes the error and we'll take a look at it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Buckeye
That's the code for INVALIDCALL (some parameter in your call is NULL or otherwise incorrect).

By the way, you can find out what the error is about by calling DXGetErrorDescription8(HRESULT hr) or DXGetErrorString8(HRESULT hr).

So, what's the code that causes the error? One or more of the parameters in some DirectX call is incorrect. You can copy and paste the code around the line that causes the error and we'll take a look at it.


First of all:
Thanks a lot for your help!

Here is the relating code

dim g_mesh as D3DXMESH
dim g_mesh_temp as D3DXMESH

Set g_mesh = D3DX.LoadMeshFromX("Head.x",D3DXMESH_MANAGED, g_D"DDevice, Nothing, MtrlBuffer, g_NumMaterials)
Set g_mesh_temp = g_mesh.CloneMeshFVF(D3DXMESH_MANAGED, D3DFVF_VERTEX, g_D3DDevice)

The error occurs when calling the last line with the CloneMeshFVF call. But this occurs only when the loaded Mesh has more than about 9000 vertices. So when i load a file withe about 8000 vertices, everything is fine. But when i oad a mesh with 9500 vertices, the error occurs.

I will also try the DXGetErrorString and post the result.
Thanks.


Share this post


Link to post
Share on other sites
Quote:
Original post by andyk71
The error description also just says: D3DERR_INVALIDCALL
D3D is already telling you the cause of the error (And implicitly, it's solution) in your debug output. Look at the link I posted above (To the DirectX Debug Runtimes).

Share this post


Link to post
Share on other sites
Quote:
Original post by Evil Steve
Quote:
Original post by andyk71
The error description also just says: D3DERR_INVALIDCALL
D3D is already telling you the cause of the error (And implicitly, it's solution) in your debug output. Look at the link I posted above (To the DirectX Debug Runtimes).


Could it be this control panel is only part of DX SDK 9? Because i use SDK 8 and can't find it

Share this post


Link to post
Share on other sites
Quote:
Original post by legalize
The DX8 SDK had the control panel applet as well. Did you look in the Control Panel?


That's the problem, where do i find the control panel? Can you tell me the name of the .exe?

Share this post


Link to post
Share on other sites
Quote:
Original post by andyk71
Quote:
Original post by legalize
The DX8 SDK had the control panel applet as well. Did you look in the Control Panel?


That's the problem, where do i find the control panel? Can you tell me the name of the .exe?
We mean the Windows control pannel (Start menu -> Settings -> Control Panel).

Share this post


Link to post
Share on other sites
Quote:
Original post by Evil Steve
Quote:
Original post by andyk71
Quote:
Original post by legalize
The DX8 SDK had the control panel applet as well. Did you look in the Control Panel?


That's the problem, where do i find the control panel? Can you tell me the name of the .exe?
We mean the Windows control pannel (Start menu -> Settings -> Control Panel).


Ah, ok!!!!
When i start it it says: The control panel is older than my DirectX Version and it will exit now.
Do you know how to get the latest control panel Verson?

Share this post


Link to post
Share on other sites

This topic is 3413 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this