 |
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 27.12.2006, 16:21 Titel: D3D9+Quads+orthoMatrix+ausschnitthaft rendern |
|
|
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?
(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 |
|
 |
51m0n JLI'ler

Alter: 33 Anmeldedatum: 06.01.2006 Beiträge: 167 Wohnort: Erkelenz Medaillen: Keine
|
Verfasst am: 27.12.2006, 18:09 Titel: |
|
|
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 . _________________ Teigwaren
heißen Teigwaren,
weil sie früher einmal Teig waren |
|
Nach oben |
|
 |
Fallen JLI MVP


Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 27.12.2006, 22:52 Titel: |
|
|
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 |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 27.12.2006, 23:07 Titel: |
|
|
@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?)
TexturMatrix? Sowas gibts?
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
<edit>
Tausend Dank, es funzt
</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 |
|
 |
Jonathan_Klein Living Legend

Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 28.12.2006, 14:11 Titel: |
|
|
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 |
|
 |
The Lord of Programming Living Legend

Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 28.12.2006, 17:55 Titel: |
|
|
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. |
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 |
|
 |
|
|
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
|