ändern.
Folgender Code:
Code: Alles auswählen
Structure RTP3D ;Struktur für 3D-Vektoren oder Punkte im 3D-Raum
x.d
y.d
z.d
EndStructure
Macro RT_SMul(a, s)
a\x * s : a\y * s : a\z * s
EndMacro
Define Ray.RTP3D, Light.RTP3D
Ray\x = 1
Ray\y = 1
Ray\z = 1
Light\x = -1
Light\y = -1
Light\z = -1
RT_SMul(Ray, Light)
Eigentlich hab ich nur aus Versehen das falsche Makro verwendet, aberAssembler Fehler
PureBasic.asm [67]:
FIMUL dword v_Light
error: invalid operand.
danach dachte ich, dass dann eher ein Fehler von PB und nicht von FASM
kommen müsste.
Wenn man statt dem Light ein @Light schreibt, sollte es ja eigentlich auch
funktionieren, auch wenn das ziemlich unsinnig wäre und man nichts mit
dem Ergebnis anfangen könnte. Und wenn man in der RTP3D-Struktur
überall Longs statt Doubles einsetzt, funktioniert auch alles. Mit Doubles
allerdings nicht.
Als Bug kann man es wohl nicht richtig bezeichnet, weil es durch einen
Fehler von mir entstanden ist, aber vielleicht ist es eine Sache, die Fred
trotzdem ändern will.