![]() |
Probleme mit den Tutorials zu den directx8.1 Units
:(
ich bekomme das einfach nicht hin ... ich habe mir jetzt von ![]() ![]() delphi sagt mir immer das TD3DMatrix und _D3DMatrix inkompatiebel sind und zwar hier D3DDEV8.SetTransform(D3DTS_VIEW, matView); und hier D3DDEV8.SetTransform(D3DTS_PROJECTION, matProj); bitte helft mir ! Moderiert: Titel geändert - Luckie |
Snoop007: Bitte vergib für Fragen ein aussagekräftiges Topic. Topics wie "Ich brauche Hilfe" oder der gleichen erschweren es wenn man die Forensuche benutzt bzw. Man muß immer erst die Frage lesen um zu wissen, um was es geht. Und wenn man dann feststellt, dass man nicht antworten kann, hat man wieder unnötig die Seite laden lassen. Es soll noch Dinosaurier geben, die noch per Modem im Internet rumkriechen. :wink:
Ich ändere das jetzt noch mal für dich. |
:oops: danke luckie, ich bin nur echt voll depremiert
ich merks mir :) |
Ich kenne mich zwar noch nicht dabei aus, aber hsat Du überhaupt DirectX8.1 auf Rechner wegen der Fehlermeldung ?
Laufen Programme die mit DirektX9,0 auch auf Rechner mit DirectX8.1 ? |
Programme die explizit für DX9 erstellt wurden laufen nicht auf einem DX8 System, andersherum klappt das meist ohne Probleme.
|
das tut ist für direct 8.1 ausgelegt ...
ich kanns mir einfach nicht erklären |
von welchem Typ sind bei dir denn matView und matProj?
In Direct3D gibt es eigentlich zwei Matrix-Typen. Der eine ist die reine Matrix (D3DMATRIX), der andere ist eine objektorientierte Variante, die Konstruktor, überladene Operatoren etc. besitzt (D3DXMATRIX). Letztere hat ein Member namens _D3DMATRIX, daher stellt sich die Frage, was für einen Typ du einsetzt. Bist du sicher, dass der zweite TYP _D3DMatrix lautet? |
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi-Quellcode:
D3DXMatrixLookAtLH(matView, position, lookat, up_vector); stimmt noch
matWorld : TD3DXMatrix;
matView : TD3DXMatrix; matProj : TD3DXMatrix; dann kommen aber fehler, wenn die variable verwendet wird. ich habe dieses prob bei allen tuts ! das Bild zeigt die Fehlermeldung das kann doch nicht so schwer sein :( *schnief* |
Ist etwas seltsam. Ich weiß allerdings nicht, inwieweit Delphi implizite Typkonvertierung inkompatibler Typen unterstützt, was ein wichtiges Merkmal der D3DXMATRIX ist, die sich nämlich automatisch in D3DMATRIX casten kann (in C++ zumindest). Ich lade mir mal eben die Header runter...
Aus DirectXGraphics.pas
Code:
Aus D3DX81mo.pas
function SetTransform(const State : TD3DTransformStateType; const pMatrix : TD3DMatrix) : HResult; stdcall;
Code:
Also, wenn ich das richtig interpretiere sind in den Headern von crazyentertainment.net TD3DMatrix und TD3DXMatrix dieselben Typen, und SetTransform nimmt eine TD3DMatrix als Parameter. _D3DMatrix taucht in beiden Dateien nirgends auf. Du schriebst, du würdest die Header von zwei verschiedenen Sites verwenden. Dazu passt die Fehlermeldung "Inkompatible Typen: Direct3D8.Direct3DDevice8 und DirectXGraphics.Direct3DDevice8". Vielleicht solltest du dich mal entscheiden.
type
PD3DXMatrix = ^TD3DXMatrix; TD3DXMatrix = TD3DMatrix; |
das problem ist, wenn ich nur die headers von neobrothers sprich amanze
![]() deswegen habe ich mich auf die suche nach den anderen dateien begeben |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz