flat assembler
Message board for the users of flat assembler.
Index
> Windows > Directx9 Win64 D3DX-Functions |
Author |
|
Anunak 27 Dec 2011, 09:16
Hello Guys!
I'm actually new to this messageboard. I'm using fasm for a few days to do some programming for Win64. I've used MASM32 before. FASM works pretty fine, but I've some problems with DirectX. As far as I know floating points and _fastcall use the xmm0-xmm3 registers. When disassembling my program it seems to be right, but i can't see anything. It should only show a rectangle with a texture. I've done in C++ and it works. In ASM it doesn't. I think there's a problem with x64/Directx and the Matrix-Functions. But I don't understand, where the fault is. Have a look a the source code! Any help would be greatly appreciated. P.S.: When I don't use matrix functions I can see the rectangle. I'm using Matt Childress' include files for x64
|
|||||||||||||||||||||
27 Dec 2011, 09:16 |
|
Anunak 01 Jan 2012, 09:23
Here's the correct code. It wasn't a problem of the invoke statement. You should set only float, if it is a float, for the first 4 parameters (fastcall convention), for all other parameters, which are pushed on the stack, you should use dword:
invoke D3DXMatrixPerspectiveFovLH,addr matProj,float [PI2],float [Aspect], float [zn], dword [zf] The above statement didn't work correctly because of "wrong" parameters in the Clear statement. cominvk pD3DD9,Clear,0,0,D3DCLEAR_TARGET or D3DCLEAR_ZBUFFER,00205090h,dword (float doesn't work) 1.0, dword 0 Have a nice day. |
|||
01 Jan 2012, 09:23 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.