Suchergebnisse
Suchergebnisse 1-12 von insgesamt 12.
Bin heute mal sämtliche Dateien durchgegangen und habe alle Variablen richtig initialisiert. Jetzt funktioniert es. Vielen Dank!
Okay, vielen Dank. Probiere ich mal aus und erstatte dann Bericht.
Was ich vergessen habe zu schreiben: Eine Fehlermeldung in der Log-Datei gibt es nicht.
Ich habe ein kleines Spiel geschrieben, welches in der Debug-Version gut funktioniert. Wenn ich es jetzt in der Release-Version laufen lasse, sind einige Objekte nicht sichtber. Da sind sie, was ich anhand ihrer Auswirkungen sehen kann. Woran kann das liegen?
Das Problem, dass die Textur sich nicht bewegt, tritt nur bei der Translation, nicht bei der Rotation auf. Wenn ich eine Rotationsmatrix einsetze funktionierts: mTexTransform = tbMatrixRotation(tbVector3(0.0f, m_fTime, 0.0f)); mTexTransform = tbMatrixToTex2DMatrix(mTexTransform); pEffect->SetMatrix("mTransform", (D3DXMATRIX*)(&mTexTransform)); Wenn ich das Gleiche mit einer Translationsmatrix probiere tut sich nix. mTexTransform = tbMatrixTranslation(tbVector3(0.0f, m_fTime, 0.0f)); mTexTransfor...
Ich denke es ist bei allen Funktionen so, ob sie nun nur das Modell, BoundingBox-Punkte oder Mittelpunkt einer BoundingSphere erwarten, dass in der Matrix des tbObject die gesamten Informationen (Translation, Rotation und Skalierung) drin sind. Daher sollten die Funktionen auch mit skalierten Objekten klar kommen. Es kann natürlich auch sein, dass ich einfach den Punkt übersehe, wo die Skalierung rausfällt.
Okay, habe jetzt zumindest die Lösung, warum der Effekt nicht kompilierte. War ganz einfach: Statt TextuerTransform[0] = mTransform; muss man TextureTransform[0] = <mTransform>; schreiben. Jetzt kompiliert der Effekt, aber bewegen tut sich trotzdem noch nix :-)
Hi, ich habe eine Frage zur Kollisionsabfrage mit den tb-Funktionen. Ich weiß, dass einige Funktionen die Skalierung in Transformationsmatrix der Objekte (m_mMatrix) nicht berücksichtigen. Aber wieso funktioniert z.B. tbLineHitsBox nicht mit skalierten Objekten? Nach meinem Verständnis benutzt die Berechnungen die unveränderte m_mMatrix, in der die Skalierung enthalten ist. Trotzdem wird bei skalierten Objekten keine Kollision erkannt.
Vielen Dank für den Tip. Da das Problem ja direkt bei D3DXCreateEffect liegt, werde ich erstmal ohne die Engine drumrum probieren, den Fehler abzufangen und den Effekt zum Laufen zu bringen.
Im Log gibt es folgende Fehlermeldungen: FEHLER: Der Aufruf von D3DXCreateEffect verursachte den DirectX-Fehler E_FAIL! Beschreibung: An undetermined error occurred (tbeffect.cpp, Zeile 63, Funktion tbEffect::Init) FEHLER: Fehler beim Erstellen des Effekts! (tbmodel.cpp, Zeile 207, Funktion tbModel::Init) FEHLER: Fehler beim Erstellen des Modells! (tbmodel.cpp, Zeile 319, Funktion tbModel::Init) FEHLER: Fehler beim Laden des Modells für's Schwarze Loch! (blackhole.cpp, Zeile 45, Funktion CBlackH...
Das habe ich in der DirectX-Doku auch gefunden. Ich habe es mit TextureTransform[0] = mTransform; probiert, aber dann bekomme ich einen Fehler bei der Effekterstellung, wenn ich das tbModel lade. Daher habe ich angenommen, dass ich noch irgendetwas übersehen habe.
Hi, ich möchte gerne in einer Effektdatei Texturkoordinaten transformieren. Wenn man das ganze im Code macht, sieht das ja ungefähr so aus: C-/C++-Quelltext 1 2 SetTextureStageState(0, D3DTSS_TEXTURETRANSFORFLAGS, D3DTFF_COUNT2); SetTransform(D3DTS_TEXTURE0, (D3DMATRIX*)(&mTransform)); In einen Effek übersetzt sähe das ja irgendwie so aus, Quellcode 1 2 3 4 5 6 7 8 9 10 11 12 float4x4 mTransform; TECHNIQUE T1 { PASS P1 { Texture[0] = <Texture1>; TextureTransformFlags = Count2; ... } } wobei ... ...