AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Problem mit DirectX und Texturen...
Thema durchsuchen
Ansicht
Themen-Optionen

Problem mit DirectX und Texturen...

Ein Thema von igel457 · begonnen am 13. Jan 2007 · letzter Beitrag vom 14. Jan 2007
Antwort Antwort
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#1

Re: Bitte Testen: DirectX und Texturen...

  Alt 13. Jan 2007, 22:16
Hi

ich habe mal kurz dein Programm getestet und schnell durchgeguckt. Also wenn ich auf den button klicke, dann kriege ich keinen Texturfehler oder sowas, sondern ich sehe das selbe wie davor: naemlich Schwarz.
Aber erstmal deine 2 Dateien:
adlog.txt
[TAdDraw] [Info] AdDraw was created: 9:47:48 PM
[TAdDraw] [Info] Try to initialize Andorra Direct3D 9 Plugin.
[TAdDraw] [Info] Try to initialize the device.
[TAdDraw] [Info] Device supports 8 lights
[TAdDraw] [Info] 382MB Texture Memory on this device.
[TAdDraw] [Info] Initialization complete.
[TAdDraw] [Info] Changed point of view to a 2D Szene.
[TAdDraw] [Info] Finalization Complete.
[TAdDraw] [Info] Try to initialize Andorra Direct3D 9 Plugin.
[TAdDraw] [Info] Try to initialize the device.
[TAdDraw] [Info] Device supports 8 lights
[TAdDraw] [Info] 382MB Texture Memory on this device.
[TAdDraw] [Info] Initialization complete.
[TAdDraw] [Info] Changed point of view to a 2D Szene.
[TAdDraw] [Info] Finalization Complete.


In der test.raw steht lediglich eine 4Byte-grosse 0 drinnen.

So, nun etwas weiter im Detail: So wie ich das registriert habe, erstellst du zuerst eine Textur (A8R8G8B8, 1x1 Pixel) und einen VertexBuffer (4 Vertices zu je (XYZ, Normale, Diffuse Farbe und 1x Texturkoordinaten)). Die Textur fuellst du mit $00FF0000, und den Vertexbuffer mit 4 Vertices, die ein schwarzes Quadrat mit abnormalen Normalen ergeben. *g*
Beim Buttonklick resettest du wahrscheinlich etwas in deiner Engine, jedenfalls wird die Textur inklusive Device und allem drum und dran uebern Haufen geschmissen und neu erstellt. Davor (schaetze ich mal) holst du dir aber noch den Inhalt der Textur und speicherst ihn in die test.raw.
Ich behaupte, dass beim Speichern der Fehler liegt, da ich beim Debuggen vor ihrem letzten Lock die Textur immernoch als kunterbuntes rotes Pixel dargestellt bekomme.

Und schlussendlich: Keine Ahnung, obs absicht ist oder nicht, aber der Grund, warum ich vor und nach dem Button-klick schwarz sehe sind deine Projektions- und ViewMatrix. Die verzaubern das Quadrat in ein (fuer den Rasterizer zu) kleines Pixel an der linken, oberen Ecke des Viewports und fliegen damit aus der Pipeline.

greets
Mike

PS: Ich weiss nicht, ob du das warst oder wer auch immer DebugSetMute aufruft:
Die D3D-Doku besagt
DebugSetMute
Note This function is internal and not intended to be used by software developers.
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:31 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