https://bugs.winehq.org/show_bug.cgi?id=35133
--- Comment #11 from Anastasius Focht focht@gmx.net --- Hello Béla,
thanks for the backtrace.
--- snip --- wine: Unhandled page fault on write access to 0x00000000 at address 0x7e802156 (thread 0063), starting debugger... ... Register dump: CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b EIP:7e802156 ESP:02dbe360 EBP:02dbe3e8 EFLAGS:00010202( R- -- I - - - ) EAX:00000000 EBX:7e84e000 ECX:02dbe340 EDX:02dbe380 ESI:02dbe390 EDI:0221d860 ... Backtrace: =>0 0x7e802156 D3DXIntersectTri+0x176(p0=<couldn't compute location>, p1=<couldn't compute location>, p2=<couldn't compute location>, praypos=<couldn't compute location>, praydir=<couldn't compute location>, pu=<couldn't compute location>, pv=<couldn't compute location>, pdist=<couldn't compute location>) [/home/gyebro/sources/wine-1.7.26/dlls/d3dx9_36/mesh.c:2410] in d3dx9_36 (0x02dbe3e8) 1 0x00a0e7b3 in vanhelsing_x86 (+0x60e7b2) (0x02dbe430) ... 0x7e802156 D3DXIntersectTri+0x176 [/home/gyebro/sources/wine-1.7.26/dlls/d3dx9_36/mesh.c:2410] in d3dx9_36: fstps 0x0(%eax) 2410 *pu = vec.x; Modules: Module Address Debug info Name (141 modules) PE 340000- 3c3000 Deferred physx3cooking_x86 PE 400000- 233b000 Export vanhelsing_x86 PE 2340000- 24da000 Deferred physx3common_x86 PE 4fd0000- 50a1000 Deferred steam PE 7140000- 71ce000 Deferred xaudio2_7 PE 10000000-102e0000 Deferred physx3_x86 PE 30000000-302c1000 Deferred steam2 PE 38000000-38906000 Deferred steamclient PE 3b400000-3b41d000 Deferred steam_api PE 3f000000-3f0b0000 Deferred tier0_s PE 3f600000-3f652000 Deferred vstdlib_s PE 60000000-60021000 Deferred cserhelper ... Threads: process tid prio (all id:s are in hex) ... 00000061 (D) C:\Program Files\Steam\steamapps\common\The Incredible Adventures of Van Helsing\VanHelsing_x86.exe 00000066 15 00000065 15 0000003d 0 00000027 0 00000026 0 00000025 0 0000004b 0 0000004c 0 00000067 0 00000064 0 00000063 0 <== 00000062 0 --- snip ---
It seems the barycentric hit coordinate out parameters (U,V) are optional.
There are various DX game engine/example snippets floating around that pass NULL for these:
https://stackoverflow.com/questions/11161165/d3dxintersecttri-parts-of-my-me...
--- snip --- if(D3DXIntersectTri(&v1,&v2,&v3, &rayObjOrigin, &rayObjDirection, NULL, NULL, &distanceToCollision)) { hasHit = true; } --- snip ---
MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/bb172885%28v=vs.85%2...
Regards