JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=9ac16e157a9234925b1bcd963c24f21dMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

D3D9+Quads+orthoMatrix+ausschnitthaft rendern

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.12.2006, 16:21    Titel: D3D9+Quads+orthoMatrix+ausschnitthaft rendern Antworten mit Zitat

Okay, schlechte Überschrift, aber trifft das Problem am genauesten.

Ich projiziere meine Quads per orthogonaler Matrix (also keine vorberechneten Vertices per XYZRHW). Gibt es dabei eine möglichst einfache Möglichkeit, nur einen Ausschnitt des Quads zu rendern? Oder müsste ich da zwangsweise den Vertexbuffer zur Laufzeit verändern? Confused
(Gut, bei Animationen kann man vielleicht auf Volumentexturen zurückgreifen, aber es gibt ja auch Fälle, in denen man mit diesem Format nichts anfangen kann, weil die größe des Ausschnitts sich ständig ändert)
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
51m0n
JLI'ler


Alter: 32
Anmeldedatum: 06.01.2006
Beiträge: 167
Wohnort: Erkelenz
Medaillen: Keine

BeitragVerfasst am: 27.12.2006, 18:09    Titel: Antworten mit Zitat

Hi

Die einzige Möglichkeit, die mir dazu einfällt ist den Vertexbuffer dynamisch zu machen und dann immer die Texturcoordinaten ändern.
Denn es gibt afaik keine möglichkeit die Texturekoordinaten nachträglich zu ändern.

Oder du unterteilst den Quad in mehrere kleinere und zeigst immer nur einen an.

Oder du machst das ganze über einen Vertexshader, damit isses kein Problem.

Was du natürlich auch machen kannst, is eine neue, kleinere Texture zu errzeugen, diese mit dem Ausschnitt füllen und dann die anzuzeigen. Wenn du aber in jedem Frame die Texture erstellen müstest, dann würde das ziemlich aud die Performance gehen.

So mehr fällt mir im mom nicht ein.
In meinem Kopf schwirren auch noch 'n Haufen Probleme rum Confused.
_________________
Teigwaren
heißen Teigwaren,
weil sie früher einmal Teig waren
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Fallen
JLI MVP
JLI MVP


Alter: 40
Anmeldedatum: 08.03.2003
Beiträge: 2860
Wohnort: Münster
Medaillen: 1 (mehr...)

BeitragVerfasst am: 27.12.2006, 22:52    Titel: Antworten mit Zitat

Du könntest die WorldMatrix so ändern das nur der Bereich angezeigt wird den du möchtest, das selbe klappt btw auch mit der TextureMatrix welche man auch setzen kann.
_________________
"I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.12.2006, 23:07    Titel: Antworten mit Zitat

@51m0n: Danke, die Gedanken sind mir so ungefähr auch durch den Kopf gegangen. Leider sind die offensichtlich sehr unperformant. (VertexShader ginge sicherlich noch am schnellsten, da müsste ich mich mal einarbeiten)

Weiß jemand zufällig, ab welcher Generation von GraKas diese Operationen per Shader unterstützt werden?

@Fallen: Hmm, mit der Worldmatrix transformiere ich doch nur das ganze Quad. Ich kann zwar das Ding so weit aus dem Bildschirm schieben, bis ein Teil abgeschnitten wird, aber der andere Teil ist deswegen immer noch da und das hilft mir auch nicht viel, wenn ich den Ausschnitt z.B. in der Mitte des Bildschirms rendern will. (Oder hab ich da was falsch verstanden?) Confused
TexturMatrix? Sowas gibts? Shocked
Da muss was an mir vorbei gegangen sein...
Muss ich da einfach beim Setzen der Matrix D3DTS_TEXTURE0/1/2/... angeben? Das wäre ja die denkbar einfachste Lösung Very Happy

<edit>
Tausend Dank, es funzt Very Happy
</edit>
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Jonathan_Klein
Living Legend


Alter: 36
Anmeldedatum: 17.02.2003
Beiträge: 3433
Wohnort: Siegerland
Medaillen: Keine

BeitragVerfasst am: 28.12.2006, 14:11    Titel: Antworten mit Zitat

Joah, Texturmatirzne gibts schon. Die sind hatl 3x3 statt 4x4.
Ansosnten könntest du mehrere Vertexbuffer erstellen und die jeweils die richtigen Texturkoordinaten haben lassen.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 36
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 28.12.2006, 17:55    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
Ansosnten könntest du mehrere Vertexbuffer erstellen und die jeweils die richtigen Texturkoordinaten haben lassen.

51m0n hat Folgendes geschrieben:
Oder du unterteilst den Quad in mehrere kleinere und zeigst immer nur einen an.

Wink

Wäre zwar theoretisch ne Lösung, aber kostet 1. viel Speicher und u.U. deshalb auch viele Vertexbuffer-switches und ist nicht dynamisch. Da müsste man eben schon von vorne herein festlegen, welche Ausschnitte der Textur möglich sind.

Wie gesagt, Texturkoordinaten per Matrix transformieren klappt doch schon und ist unter diesem Gesichtspunkt die beste Lösung(ohne auf Shader-Unterstützung angewiesen zu sein)...
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum