JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Starfield 2 ohne surface?
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Leviathan
Mini JLI'ler


Alter: 49
Anmeldedatum: 12.01.2005
Beiträge: 31
Wohnort: S9
Medaillen: Keine

BeitragVerfasst am: 09.03.2005, 13:42    Titel: Starfield 2 ohne surface? Antworten mit Zitat

Hi!

Die, die das Buch haben und durchgelesen haben, werden sich wahrscheinlich an das Beispiel "Starfield 2" aus dem Kapitel 20 erinnern.
Dort werden Sterne simuliert, die von oben nach unten "vorbeifliegen".
Nun, das Beispiel ist mithilfe eines Surface programmiert worden, auf dem die einzelnen Pixel verändert (gemalt) werden, sodass der Eindruck entsteht als ob das Sterne wären.
Das ganze ist schön anzusehen, bloß ich habe schon mehrere Meinungen gehört (so stehts auch im Buch), dass diese Methode (Pixel auf dem Surface zu manipulieren) furchtbar langsam ist.
Meine Frage an auch: wie kann man das gleiche denn mithilfe von Vertizes (Polygonen) also richtig in 3D umsetzen? Man könnte ja 2 Polygone darstellen, die den gesamten Bildschirm einnehmen aber wie kriege ich die Sterne da drauf?
Ich möchte nicht unbedingt mit Texturen arbeiten sondern die "Sterne" selber im Programm erzeugen, bloß ohne des Surface...

Wie würdet ihr die Sache angehen?

mfg
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: 09.03.2005, 13:57    Titel: Antworten mit Zitat

Das einfachste wäre wohl ein Vertexgebilde aus 2 Vertexen zu erstellen, Vertex1 bekommt zusätzlich die Farbe RGBA(255,255,255,255) und Vertex2 die Farbe RGB(0,0,0,0) nun kann man entweder D3DXLine nutzen um sich den Sterneneffekt zu holen oder man macht es ohne und nutzt die Draw Befehle der API.
_________________
"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
Leviathan
Mini JLI'ler


Alter: 49
Anmeldedatum: 12.01.2005
Beiträge: 31
Wohnort: S9
Medaillen: Keine

BeitragVerfasst am: 09.03.2005, 14:14    Titel: Antworten mit Zitat

FallenAngel84 hat Folgendes geschrieben:
[...] oder man macht es ohne und nutzt die Draw Befehle der API.


sorry, aber welche Draw Befehle meinste? Ich bin in der Materie noch nicht so ganz bewandert...
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: 09.03.2005, 14:16    Titel: Antworten mit Zitat

DrawPrimitive oder solche Befehle, stehen in der Docu von DX drin.
_________________
"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
Jonathan_Klein
Living Legend


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

BeitragVerfasst am: 09.03.2005, 14:24    Titel: Antworten mit Zitat

im prinzip wirst du immer die Pixel auf einen Obverfläche verändern müssen, du müsstest halt irgendwie ein Surface ekommen, das man schnell locken und schnell manipulkieren kann ( vieliehct sind Texturen ja schneller?). Das dann noch extra mit GDI zu machen, halte ich nicht für oo gut, weil man doch immer ein DC anlegen muss(oder?).
Und ich denke das bei einem kleinen Spiel und einem nicht ganz so aufwändigen Starfiled, es nicht soogroße Probleme geben sollte.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


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

BeitragVerfasst am: 09.03.2005, 14:25    Titel: Antworten mit Zitat

Jonathan_Klein hat Folgendes geschrieben:
im prinzip wirst du immer die Pixel auf einen Obverfläche verändern müssen, du müsstest halt irgendwie ein Surface ekommen, das man schnell locken und schnell manipulkieren kann ( vieliehct sind Texturen ja schneller?). Das dann noch extra mit GDI zu machen, halte ich nicht für oo gut, weil man doch immer ein DC anlegen muss(oder?).
Und ich denke das bei einem kleinen Spiel und einem nicht ganz so aufwändigen Starfiled, es nicht soogroße Probleme geben sollte.


Was hast du gegen meine Idee ? Locken/Unlocken is doch sau lahm, auch mit DD Surfaces
_________________
"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
Patrick
Dark JLI Master



Anmeldedatum: 25.10.2004
Beiträge: 1895
Wohnort: Düren
Medaillen: Keine

BeitragVerfasst am: 09.03.2005, 14:28    Titel: Antworten mit Zitat

Wenn Du der Linearen Funktionsmathematik mächtig bist rechnest Du es aus was besser ist:

Im Durchschnitt ist das rendern von 150 Vertices schneller als das Locken und Unlocken der Surface, darüber wirds kritisch und ab 200 Punkte ist ein Lock auf der Backsurface schneller, aber hier kommt die Größe an.

Einfach mal ausrechnen
_________________
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ]
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 09.03.2005, 15:05    Titel: Antworten mit Zitat

Kann mir nochmal jemand ganz langsam erklären warum das verf****** Locken/Unlocken einer Surface oder Textur so lahm ist, und wie genau es funktioniert.

Confused

Danke.
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Jonathan_Klein
Living Legend


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

BeitragVerfasst am: 09.03.2005, 15:07    Titel: Antworten mit Zitat

hm, ich könnte mir vorstellen, das es daran leigt, das die surfaces im GraKa speicher sind, beim locken in den Hauptspeicher kopiert werden, dort verändert werden, und beim unlocken wieder zurückkopiert werden. Sowas gibts jedenfalls in der Art bei Texturen. Und da die dinger unkomprimiert sind, kann das wenn die Bildschirmgröße haben, halt schon etwas dauern
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Fallen
JLI MVP
JLI MVP


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

BeitragVerfasst am: 09.03.2005, 15:09    Titel: Antworten mit Zitat

Unter ein weilchen dauern versteht man immer was von Sekunden ;9

Bei den möglichen transferraten isses recht flott, aber die Masse der Locks/Unlocks bremst ganz schön.
_________________
"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
HomeLess_PunkDrummer
JLI Master Trainee


Alter: 36
Anmeldedatum: 28.11.2004
Beiträge: 583
Wohnort: Alter Joghurtbecher an der A4
Medaillen: Keine

BeitragVerfasst am: 09.03.2005, 15:13    Titel: Antworten mit Zitat

Ah ha, und das selbe gilt für Vertexbuffer?
_________________
"Was die Götter angeht, so ist es mir unmöglich, zu wissen, ob sie existieren oder nicht, noch, was ihre Gestalt sei. Die Kräfte, die mich hindern, es zu wissen, sind zahlreich, und auch ist die Frage verworren und das menschliche Leben kurz."
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
Fallen
JLI MVP
JLI MVP


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

BeitragVerfasst am: 09.03.2005, 15:17    Titel: Antworten mit Zitat

Ich bin nicht sicher aber ich glaube die werden in einen besonders schnellen Speicherbereich angelegt. Beim locken werden die da in einen langsameren kopiert, in dem man aber schneller schreiben kann als in den anderen. oder so
_________________
"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
GreveN
JLI Master


Alter: 38
Anmeldedatum: 08.01.2004
Beiträge: 901
Wohnort: Sachsen - Dresden
Medaillen: Keine

BeitragVerfasst am: 09.03.2005, 15:17    Titel: Antworten mit Zitat

Hab den Thread jetzt nur mal fix überflogen...
Ich hab mir mal überlegt, wie man am einfachsten nen Regen/Schnee/WatWeißIch-Effekt darstellen könnte. Eine Möglichkeit wäre evt. ein Quad zu nehmen, da ne Textur mit den Sternen/Tropfen/Flocken... drauf zupacken und in jedem neuen Frame die Texturen-Matrix vorm Rendern ein Stück weiter zu schieben.
Das Problem dürften hierbei nur die Füllraten der Grafikkarte sein, weil du ja doch ziemlich viel Leistung in dieser Hinsicht verschwendest...
Hängt halt ein bisschen davon ab, was du genau machen willst.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Yahoo Messenger MSN Messenger
Fallen
JLI MVP
JLI MVP


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

BeitragVerfasst am: 09.03.2005, 15:19    Titel: Antworten mit Zitat

Manche Spiele machen das so, in 3D hinsicht sogar schneller als es über partikel (für jeden tropfen einzeln,...) zu lösen
_________________
"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: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 09.03.2005, 15:38    Titel: Antworten mit Zitat

Ja, das lahme ist nicht unbedingt das Setzen der Pixel, sondern das (Un)locken. Und das liegt auch daran, dass das Surface so weit entfernt im Grafikspeicher liegt. Allerdings lohnt es sich bei vielen Locks/zu setzenden Pixeln, wenn du das Surface im AGP- oder sogar im Hauptspeicher anlegst. Dann fällt das Locken kaum mehr ins Gewicht und die Pixel können sehr schnell gesetzt werden. Dann ist das einzige Problem noch, dass du das so veränderte Surface aus dem Hauptspeicher wieder in den Backbuffer(im Videospeicher) bringen musst. Deshalb solltest du grundsätzlich mit wenigen Kopiervorgängen zwischen den verschiedenen Speichern auskommen.
_________________
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 -> Entwicklung Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
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