Jump to content

  • Log In with Google      Sign In   
  • Create Account


ManagedJack

Member Since 13 Mar 2006
Offline Last Active Mar 29 2012 05:59 AM
-----

Topics I've Started

Help needed for Animation with AnimationCallback: AccessViolationException

26 March 2012 - 03:49 AM

Hi,

could someone provide me a small DirectX9 SlimDX sample application that uses an AnimationCallback delegate in animationController.AdvanceTime(...)?

I converted my project (too big to post, sorry) from MDX to SlimDX (DirectX9), but I get an AccessViolationException when calling
this.animationController.AdvanceTime(elapsedTime, myAnimCallbackHandler);
The debug runtimes don't tell me anything either and I'm quite lost now.

I'm putting a small structure (myCbData) in the CallbackKey.Data when I create the animation set. In MDX, I had to get an IntPtr to this data by using

GCHandle handle = GCHandle.Alloc(myCbData, GCHandleType.Pinned);
theCallbackKey.Data = handle.AddrOfPinnedObject();

The CallbackKey.Data in SlimDX is still an IntPtr, so I guess my code is still usable (?).

On the other hand, the AnimationCallback delegate in SlimDX now returns the callback data as a System.Object instead of an IntPtr, which seems quite odd. Are the object handles pinned internally? But how to get the IntPtr to my structure then?
Are the animation callbacks fully functional in SlimDX, or is there still some work to do?

Thanks for your time,

Lars

[MDX]Flicker problem (I think)

25 June 2007 - 01:07 AM

Hi, I'm sometimes facing strange flicker in windowed mode when I start my MDX 1.1 application which is based on the DirectX SDK's sample framework. All the scene is concerned, even the GUI. Is not really reproducible and often the flicker ends after resetting the device, e.g. by resizing the window slightly. Nevertheless, sometimes I have to restart the application. Where should I start looking for the reason? I read some threads about tearing, but as you can see on the left of this picture whole faces are just missing (the picture on the right is the desired one). As I understand, tearing does not show this behaviour. The sample framework is using the ApplicationIdle event to render the scene and it's running on a GF 7600GT. I did some adaptations to enable it to run within a Windows Control, could this lead to the flickering... Could you give me some advice? Thanks, Jack

Billboard sprite hit testing: help wanted...

29 November 2006 - 02:33 AM

Hi, I'm using a billboard sprite in my MDX application to represent small markers in 3D-space. The application is based on the sample framework of the DirectX SDK. I'd like to implement hit-testing for mouse clicks on these sprites (actually, it is only one at different positions), but I don't really know if I am on the right track. At first some code that I use for the sprite:
// excerpt from DrawSprite function
// set the sprite's worldView matrix, needed for billboarding
markerSprite.SetWorldViewLH(Matrix.Translation(this.basePoint), viewMatrix);

markerSprite.Begin(SpriteFlags.Billboard | SpriteFlags.AlphaBlend);

markerSprite.Draw(texture,
              textureRect, // rectangle used from texture in pixels
              new Vector3(textureRect.Width / 2, textureRect.Height, 0), // center of sprite defined on whole texture in pixels used when billboarding
              new Vector3(0, 0, 0), // offset position of sprite in world defined on whole texture in pixels, 
              Color.White.ToArgb());
markerSprite.End();
At first I concentrated on implementing hit-testing by projecting the relevant part of the sprite texture to screen coordinates. But this does not fit into my other hit-testing code where I unproject a ray into object space. So how do I do the hit-testing in object space? Is it a good idea to create a plane and use plane.IntersectLine(...)? How do I get the depth information to compare it with other objects that are also hit by the ray? Any help is welcome, Jack P.S. I use managed DirectX, but I think it's not relevant for the problem.

[MDX] Strange errors when switching to debug version

08 November 2006 - 11:48 PM

Hi, I'm facing a strange problem when switching from the retail to the debug version with the DirectX Control Panel: suddenly, all functions that load resources from a file (TextureLoader.FromFile, Mesh.FromFile) can't find the resources anymore. It works, if a specify the absolute path. Normally, I store the relative path to the media folder in an app.config file and this worked well for both the Debug and Retail versions so far. But now this only works with the retail version. There is no special debug output about this error, and I'm using the December 04 SDK (I HAVE to on Win 2000). Has anyone ever faced a similar problem? If there's something screwed up with the DirectX dll versions, how could I check and fix this? Thanks, best regards Jack
EDIT: Perhaps someone is familiar with the file list shown by DxDiag.exe. The files which are marked with "problem" are dated as from today??:
------------------
DirectX Components
------------------
   ddraw.dll: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 292864 bytes
 ddrawex.dll: 5.00.2134.0001 English Final Retail 10/4/2000 14:00:00 24336 bytes
   dxapi.sys: 5.00.2180.0001 English Final Retail 10/4/2000 14:00:00 10064 bytes
    d3d8.dll: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 1201152 bytes
   d3d8d.dll: 5.04.0000.2904 English Final Debug 12/1/2004 15:00:00 1390792 bytes
 d3d8thk.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 7168 bytes
  d3dx9d.dll: 9.04.0091.0000 English Final Debug 12/1/2004 15:02:30 3793608 bytes (problem)
 d3dref8.dll: 5.04.0000.2904 English Final Debug 12/1/2004 14:59:30 248008 bytes
    d3d9.dll: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 1703936 bytes
   d3d9d.dll: 9.04.0091.0000 English Final Debug 12/1/2004 15:02:30 3416776 bytes (problem)
 d3dref9.dll: 5.04.0000.2904 English Final Debug 12/1/2004 14:59:44 350920 bytes
   d3dim.dll: 5.00.2180.0001 English Final Retail 12/11/2002 23:14:32 446224 bytes
d3dim700.dll: 5.03.0001.0902 English Final Retail 5/30/2003 08:00:02 797184 bytes
  d3dref.dll: 5.00.2180.0001 English Final Retail 10/4/2000 14:00:00 93456 bytes
 d3dramp.dll: 5.00.2180.0001 English Final Retail 12/11/2002 23:14:32 591120 bytes
   d3drm.dll: 5.00.2134.0001 English Final Retail 12/11/2002 23:14:32 364816 bytes
  d3dxof.dll: 5.00.2135.0001 English Final Retail 12/11/2002 23:14:32 49424 bytes
d3dpmesh.dll: 5.00.2134.0001 English Final Retail 12/11/2002 23:14:32 37648 bytes
   dplay.dll: 5.00.2134.0001 German Final Retail 10/4/2000 14:00:00 33040 bytes
  dplayx.dll: 5.03.0001.0904 English Final Retail 7/9/2004 03:27:28 230400 bytes
dpmodemx.dll: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 77824 bytes
 dpwsock.dll: 5.00.2134.0001 English Final Retail 10/4/2000 14:00:00 42768 bytes
dpwsockx.dll: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 79360 bytes
dplaysvr.exe: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 28160 bytes
  dpnsvr.exe: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 16896 bytes
   dpnet.dll: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 723968 bytes
dpnlobby.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 3072 bytes
 dpnaddr.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 3072 bytes
 dpvoice.dll: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 381952 bytes
dpvsetup.exe: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 80896 bytes
  dpvvox.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 112128 bytes
  dpvacm.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 19968 bytes
dpnhpast.dll: 5.03.0000.0901 English Final Retail 3/24/2003 08:00:02 32768 bytes
dpnhupnp.dll: 5.03.0000.0901 English Final Retail 3/24/2003 08:00:02 68096 bytes
dpserial.dll: 5.00.2134.0001 German Final Retail 10/4/2000 14:00:00 54032 bytes
  dinput.dll: 5.01.2600.0881 German Final Retail 10/30/2001 07:10:00 645120 bytes
 dinput8.dll: 5.01.2600.0881 German Final Retail 10/30/2001 07:10:00 664576 bytes
dinput8d.dll: 5.01.2600.0881 English Final Debug 12/1/2004 14:59:32 356552 bytes
   dimap.dll: 5.01.2600.0881 English Final Retail 10/30/2001 07:10:00 44032 bytes
diactfrm.dll: 5.01.2600.0881 German Final Retail 10/30/2001 07:10:00 459264 bytes
     joy.cpl: 5.01.2600.0881 German Final Retail 10/30/2001 07:10:00 326144 bytes
   gcdef.dll: 5.01.2600.0881 German Final Retail 10/30/2001 07:10:00 206336 bytes
     pid.dll: 5.01.2600.0881 English Final Retail 10/30/2001 07:10:00 31744 bytes
  dsound.dll: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 381952 bytes
dsound3d.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 1294336 bytes
  dswave.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 18432 bytes
 dswaved.dll: 5.03.0000.0900 English Final Debug 12/1/2004 14:58:30 30920 bytes
   dsdmo.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 186880 bytes
dsdmoprp.dll: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 491520 bytes
  dmusic.dll: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 122880 bytes
 dmusicd.dll: 5.04.0000.2904 English Final Debug 12/1/2004 14:59:26 134344 bytes
  dmband.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 27136 bytes
 dmbandd.dll: 5.03.0000.0900 English Final Debug 12/1/2004 14:58:30 41160 bytes
dmcompos.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 58368 bytes
dmcompod.dll: 5.03.0000.0900 English Final Debug 12/1/2004 14:59:22 73928 bytes
   dmime.dll: 5.03.0001.0904 English Final Retail 7/9/2004 03:27:28 181248 bytes
  dmimed.dll: 5.04.0000.2904 English Final Debug 12/1/2004 14:59:28 240328 bytes
dmloader.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 33280 bytes
dmloaded.dll: 5.03.0000.0900 English Final Debug 12/1/2004 14:58:32 52424 bytes
 dmstyle.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 98816 bytes
dmstyled.dll: 5.03.0000.0900 English Final Debug 12/1/2004 14:59:08 117448 bytes
 dmsynth.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 100864 bytes
dmsynthd.dll: 5.03.0000.0900 English Final Debug 12/1/2004 14:59:06 112840 bytes
dmscript.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 76800 bytes
dmscripd.dll: 5.03.0000.0900 English Final Debug 12/1/2004 14:59:08 115912 bytes
  system.dll: 1.01.4322.0573 English Final Retail 8/15/2006 13:59:35 1216512 bytes
Microsoft.DirectX.Direct3D.dll: 5.04.0000.3900 English Final Retail 11/9/2006 09:57:19 453120 bytes
Microsoft.DirectX.Direct3DX.dll: 9.04.0091.0000 English Final Debug 11/9/2006 09:58:06 4680192 bytes (problem)
Microsoft.DirectX.DirectDraw.dll: 5.04.0000.2904 English Final Debug 11/9/2006 09:58:06 166912 bytes (problem)
Microsoft.DirectX.DirectInput.dll: 5.04.0000.2904 English Final Debug 11/9/2006 09:58:06 179712 bytes (problem)
Microsoft.DirectX.DirectPlay.dll: 5.04.0000.2904 English Final Debug 11/9/2006 09:58:06 413184 bytes (problem)
Microsoft.DirectX.DirectSound.dll: 5.04.0000.2904 English Final Debug 11/9/2006 09:58:06 213504 bytes (problem)
Microsoft.DirectX.AudioVideoPlayback.dll: 5.04.0000.2904 English Final Debug 11/9/2006 09:58:06 68096 bytes (problem)
Microsoft.DirectX.Diagnostics.dll: 5.04.0000.2904 English Final Debug 11/9/2006 09:58:06 12800 bytes (problem)
Microsoft.DirectX.dll: 5.04.0000.2904 English Final Debug 11/9/2006 09:58:06 244224 bytes (problem)
   dx7vb.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 602624 bytes
   dx8vb.dll: 5.03.0001.0902 English Final Retail 5/30/2003 08:00:02 1189888 bytes
 dxdiagn.dll: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 1769472 bytes
 directx.cpl: 9.04.0091.0000 English Final Retail 12/1/2004 14:46:44 135168 bytes
   mfc40.dll: 4.01.0000.6140 English Final Retail 10/4/2000 14:00:00 924432 bytes
   mfc42.dll: 6.00.9586.0000 English Beta Retail 6/19/2003 12:05:04 1015859 bytes
 wsock32.dll: 5.00.2195.6603 German Final Retail 6/19/2003 12:05:04 23824 bytes
amstream.dll: 6.05.0001.0900 English Final Retail 12/11/2002 23:14:32 64512 bytes
 devenum.dll: 6.05.0001.0902 German Final Retail 5/30/2003 08:00:02 132608 bytes
  dxmasf.dll: 6.04.0009.1125 German Final Retail 6/19/2003 12:05:04 499741 bytes
mciqtz32.dll: 6.05.0001.0900 English Final Retail 12/11/2002 23:14:32 34304 bytes
 mpg2splt.ax: 6.05.0001.0900 English Final Retail 12/11/2002 23:14:32 136192 bytes
   msdmo.dll: 6.05.0001.0900 English Final Retail 12/11/2002 23:14:32 13312 bytes
  encapi.dll: 5.03.0000.0900 English Final Retail 12/11/2002 23:14:32 18944 bytes
    qasf.dll: 9.00.0000.2980 German Final Retail 12/12/2002 15:04:30 241664 bytes
    qcap.dll: 6.05.0001.0900 German Final Retail 12/11/2002 23:14:32 257024 bytes
     qdv.dll: 6.05.0001.0904 German Final Retail 7/9/2004 03:27:28 316928 bytes
    qdvd.dll: 6.05.0001.0904 German Final Retail 7/9/2004 03:27:28 470528 bytes
   qedit.dll: 6.05.0001.0900 German Final Retail 12/11/2002 23:14:32 1798144 bytes
qedwipes.dll: 6.05.0001.0900 English Final Retail 12/11/2002 23:14:32 733184 bytes
  quartz.dll: 6.05.0001.0907 German Final Retail 8/30/2005 08:26:24 1233408 bytes
 strmdll.dll: 4.01.0000.3928 German Final Retail 6/19/2003 12:05:04 246544 bytes
 iac25_32.ax: 2.00.0005.0053 English Final Retail 10/4/2000 14:00:00 199680 bytes
  ir41_32.ax: 4.51.0016.0003 English Final Retail 10/4/2000 14:00:00 848384 bytes
 ir41_qc.dll: 4.30.0062.0002 English Final Retail 10/4/2000 14:00:00 120320 bytes
ir41_qcx.dll: 4.30.0064.0001 English Final Retail 11/14/2002 11:58:32 338432 bytes
 ir50_32.dll: 5.2820.0015.0058 English Final Retail 10/2/2002 13:23:12 746496 bytes
 ir50_qc.dll: 5.11.0063.0056 English Final Retail 6/22/2000 15:31:00 198144 bytes
ir50_qcx.dll: 5.11.0064.0056 English Final Retail 6/22/2000 15:31:46 181760 bytes
   ivfsrc.ax: 5.10.0002.0051 English Final Retail 10/4/2000 14:00:00 154624 bytes
mswebdvd.dll: 6.05.0001.0900 German Final Retail 12/11/2002 23:14:32 324096 bytes
      ks.sys: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 130304 bytes
  ksproxy.ax: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 117248 bytes
  ksuser.dll: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 4096 bytes
  stream.sys: 5.03.0001.0904 German Final Retail 7/9/2004 03:27:28 48512 bytes
mspclock.sys: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 5248 bytes
   mspqm.sys: 5.00.2134.0001 German Final Retail 9/25/1999 02:36:32 4816 bytes
 mskssrv.sys: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 7424 bytes
  swenum.sys: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 4096 bytes
   mstee.sys: 5.03.0000.0900 German Final Retail 12/11/2002 23:14:32 5504 bytes
 bdaplgin.ax: 5.03.0000.0900 German Final Retail 7/9/2004 01:58:04 16896 bytes
  bdasup.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:04 11392 bytes
  msdvbnp.ax: 6.05.0001.0900 English Final Retail 7/9/2004 01:58:18 52224 bytes
psisdecd.dll: 6.05.0001.0900 English Final Retail 7/9/2004 01:58:34 354816 bytes
 psisrndr.ax: 6.05.0001.0900 English Final Retail 7/9/2004 01:58:36 30208 bytes
   ipsink.ax: 5.03.0000.0900 German Final Retail 7/9/2004 01:58:06 14848 bytes
mpeg2data.ax: 6.05.0001.0900 English Final Retail 7/9/2004 01:58:12 57856 bytes
  ndisip.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:30 10112 bytes
     mpe.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:10 15104 bytes
streamip.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:40 14976 bytes
msvidctl.dll: 6.05.0001.0900 English Final Retail 7/9/2004 01:58:08 480256 bytes
    slip.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:38 10880 bytes
nabtsfec.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:28 83968 bytes
ccdecode.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:06 16384 bytes
  vbisurf.ax: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:40 27648 bytes
   msyuv.dll: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:26 16896 bytes
 kstvtune.ax: 5.03.0001.0904 German Final Retail 7/19/2004 15:19:30 285696 bytes
   ksxbar.ax: 5.03.0001.0902 English Final Retail 7/9/2004 01:58:10 39424 bytes
 kswdmcap.ax: 5.03.0000.0900 German Final Retail 7/9/2004 01:59:26 226304 bytes
wstcodec.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:44 18688 bytes
wstdecod.dll: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:48 47104 bytes
    msdv.sys: 5.03.0000.0900 English Final Retail 7/9/2004 01:58:14 56832 bytes


#EDIT: I fixed it. It was a path problem. But I still don't know how it could work with the retail version. Anyway, thanks. [Edited by - ManagedJack on November 27, 2006 6:44:29 AM]

[MDX] How to update Mesh.VertexFormat?

08 September 2006 - 01:59 AM

Hi, this is not a critical problem I have, but I'm curious if there's a clean solution: I loaded a mesh with vertices holding position and normal data and texture coords. Just like in a previous thread (http://www.gamedev.net/community/forums/topic.asp?topic_id=379727), I computed tangent space for the mesh, therefore changing the vertex declaration to position, normal, texCoords, tangent, binormal (PNTTB). When I then call "Geometry.ComputeBoundingBox(..)" for the mesh, myMesh.VertexFormat which I use as parameter returns "None". Of course I can get the stride size of the new vertex format, but is there a possibility to update the mesh's VertexFormat property? I tried UpdateSemantics(myMesh.Declaration), but that didn't help. BR, Jack

PARTNERS