JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

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

Rendern??
Gehe zu Seite 1, 2, 3  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Vane
Junior JLI'ler



Anmeldedatum: 03.11.2005
Beiträge: 70

Medaillen: Keine

BeitragVerfasst am: 22.11.2005, 18:39    Titel: Rendern?? Antworten mit Zitat

Hallo leute, ich habe mir so einige beiträge durchgelesen und finde immer dieses wort rendern, ich habe dazu schon was gelesen, ich habe das nun so verstanden das rendern bedeutet eine durch quellcode erstelte Szene als zwei dimensionales Bild darzustellen?
z.B.: wenn ich eine tile map erstellen will mit den vertex buffern und so, was spielt das rendern dort für eine rolle???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 22.11.2005, 18:49    Titel: Antworten mit Zitat

Rendern bedeutet einfach alles was mit der Ausgabe der Bilddaten zu tuen hat durchzuführen.
Deine Erklärung war also schon nicht falsch bloß ein bisschen zu speziell forumuliert. Rendern kann man auch im Zusammenhang mit 3D-Spielen oder Animationsfilmen sagen.
Bei Spielen geht das für gewöhnlich vom leeren des Backgroundbuffers über die ganzen Draw und Blt aufrufe bis zum flippen.
Man kann natürlich auch mehrmals rendern z.B. kann man bei 3D-Anwendungen in Texturen rendern oder in mehrere viewports (bildschrimabschnitte) rendern um split screen Spiele zu machen.
Diese Definition ist zwar nich grade Lexikonreif aber ich glaub sie bringt's so halbwegs auf den Punkt.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Patrick
Dark JLI Master



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

BeitragVerfasst am: 22.11.2005, 18:53    Titel: Antworten mit Zitat

Hi,

Rendern ist ein sehr verwässterter Begriff in der GFX-Dev-Scene.

Es gibt 2 Unterscheidungen vom Rendern: Das 1. ist das sogenannte Blitten.

Blitten sagt aus, das man ein Datenarray (Linear oder Dimensional) direkt auf den Grafikpuffer ausgibt, welches ebenfalls ein Datenarray repräsentiert. Also die Pixel direkt "per Hand" malen und darstellen. So wird das bei der GDI, DirectDraw, Direct3D (Surfaces!) gehandhabt. Diese Oberflächen nennen sich dort: Surfaces. Mit Blitten kann man "nur" 2D Darstellen.

Das 2. ist das sogenannte Rendern. Heute benutzen viele das Wort "Rendern" nur noch mit dem Gedanken "Anzeigen". Doch das ist falsch. Rendern bedeutet der Prozess der sich auf der Grafikkarte abspielt.

Dort werden die einzellen Eckpunkte eines im 3D Raum existierenden Objekts (Alles Dreiecke) genommen, transformiert und über ein "kompliziertes" Verfahren durch den Rasterlizer gejagt, der daraus die Positionsdaten der Pixel auf dem Bildschirmpuffer erstellt, welche dann noch nachträglich mit Texurdaten (Keine Pixeldaten sondern Texeldaten) versehen werden sowie beleuchtung und andere Effekte, wie z.B. Alphablending.

Kurz kann man sagen: Wenn man eine 2D API benutzt in der Surfaces benutzt werden, redet man vom Blitten, da hier der Rasterlizerprozess entfällt. Wenn man jedoch 3D APIs benutzt wie OpenGL, Direct3D oder andere Softwarerenderer redet man von Rendern. Da hier keine Pixeldaten benutzt werden sondern 3D Vektoren mit Texturen welche für die 3D Vektorengrafik benutzt werden.

Zu deiner 2. Frage: Du hast einen Vertexbuffer welcher NUR die Positionen der Eckpunkte deines Objekts beschreiben. Also sogesehen eine "3D Surface" (Bitte umbedingt platonisch ansehen!!!) aber keine Farbdaten enthalten wie sie z.B. in der Bitmapgrafik enthalten sind. Um beim Renderprozess auch noch Farbe zu bekommen benötigst Du eine Textur welcher deiner Bitmap entspricht, welche dann wie eine Art "Tischdecke" auf deine Oberfläche gelegt wird. Der ganze Kram geht dann an deinen Bildschirm damit du ihn sehen kannst.

Da Du jedoch noch Anfänger bist, würde ich Dir empfehlen erstmal den Weg des Blittens zu gehen (Reine 2D API) um ein tiefgründigeres Verständis für Oberflächen und Darstellung zu bekommen. Erst später mit sowas wie Vektorengrafik beschäftigen Wink

Falls Du ein gutes Tutorial (2D) zum Thema "Wie bastle ich mir mein Game?" suchst: www.germangamedev.de << Tutorials << Funny Break.

Ich empfehle jedoch Stück für Stück die Teile durchzuarbeiten. Denn die bauen alle aufeinander auf.

- Patrick

edit:
Dr. Best
Also extrem Allgemein ausgedrückt Very Happy Muss ich schon sagen Wink
_________________
'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
Vane
Junior JLI'ler



Anmeldedatum: 03.11.2005
Beiträge: 70

Medaillen: Keine

BeitragVerfasst am: 24.11.2005, 10:11    Titel: Antworten mit Zitat

Also meine frage benutzt dan das zweite verfahren??
Nebnbei in meinem Programm verwende ich eine Funktion die blt heißt also blitten? Aber denoch arbeite ich mit den Vertexen, also ein teil von deiner definition aus 1 und aus 2???
Ich habe dieses Tutorial benutzt: http://www.gamedev.net/reference/articles/article1972.asp
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



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

BeitragVerfasst am: 24.11.2005, 10:57    Titel: Antworten mit Zitat

vane
Der Typ der das Tutorial geschrieben hat, hat Rendern und Blitten über den Haufen geworfen.

CPP:
void CTexture::Blit (int X, int Y, D3DCOLOR vertexColour, float rotate)
Texturen kann man nicht blitten sondern nur auf Vertices zuweisen, die dann gerendert werden. Surfaces kann man blitten, texturen aber keines wegs.

Bei Dir ist das Rendern und nicht Blitten.
_________________
'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
Vane
Junior JLI'ler



Anmeldedatum: 03.11.2005
Beiträge: 70

Medaillen: Keine

BeitragVerfasst am: 24.11.2005, 10:59    Titel: Antworten mit Zitat

Achso also müßte sie nicht Blt() heißen sondern eigentliche Render(), stimmts?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



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

BeitragVerfasst am: 24.11.2005, 12:10    Titel: Antworten mit Zitat

Korrekt, denn was tut diese Funktion? Einen Renderdurchlauf initizieren und nicht blitten.
_________________
'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
Vane
Junior JLI'ler



Anmeldedatum: 03.11.2005
Beiträge: 70

Medaillen: Keine

BeitragVerfasst am: 25.02.2006, 13:59    Titel: Antworten mit Zitat

Hallo, da bin ich mal wieder, hatte in letzter zeit viel zu tun, wegen der schule, da habe ich mein projekt etwas vernachlässigt....
Also habe ich mir vorgenommen das Projekt heute weiter zu machen, da habe ich mir meine biherigen Leistungen angeschauht...
Zufrieden bin ich ja schon aber ich dachte mir machste mal eine isometrische grafik bloß darin kenne ich mich nicht so gut aus und bisher habe ich auch keine guten hilfen dazu gefunden, da wollte ich hier mal nach fragen ob jemand ein gutes tutorial für ios grafiken kennt....
danke
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
sp3cK-r0LL3
Senior JLI'ler


Alter: 34
Anmeldedatum: 18.06.2004
Beiträge: 275

Medaillen: Keine

BeitragVerfasst am: 25.02.2006, 22:47    Titel: Antworten mit Zitat

ist iso ne art 2 dimensionale darstellung von was dreidimensionalem? im buch "rts strategy" war das glaub ich neben den anderen techniken sehr genau beschrieben inkl. code
_________________
sex is updatedb; locate; talk; date; cd; strip; look; touch; finger; unzip; uptime; gawk; head; apt-get install condom; mount; fsck; gasp; more; yes; more; umount; apt-get remove --purge condom; make clean; sleep
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Dr. Best
Senior JLI'ler


Alter: 34
Anmeldedatum: 17.06.2004
Beiträge: 269
Wohnort: Köln
Medaillen: Keine

BeitragVerfasst am: 25.02.2006, 23:05    Titel: Antworten mit Zitat

Kannst dir den Link hier mal anschauen:
http://www.gamemaker.nl/tutorials/threed.zip
Hat zwar nix mit C++ oder DDraw zu tuen aber das Grundprinzip der Isometrik wird da in der *.pdf glaub ich ganz gut beschrieben.
Ist aber auf Englisch.
_________________

Ich bin da, wer noch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen AIM-Name MSN Messenger
Jonathan_Klein
Living Legend


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

BeitragVerfasst am: 26.02.2006, 00:19    Titel: Antworten mit Zitat

also, im prinzip ist das ganz einfach, und man kann sich auch alles selber überlegen^^

Du wirst wahrscheinlich einiges umrechnen müssen, Bildshcirmkoordinaten in Iso koordinaten oder so. Mal dir einfach n Bild auf, und vergleich die Positionen, dann komsmte shcon auf ne Formel. Dann ist es nur noch wichtig die objekte hintereinadner zu rendern, damit net welche von weiter hinten, welche die weiter vorne sind überdecken.
_________________
https://jonathank.de/games/
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Vane
Junior JLI'ler



Anmeldedatum: 03.11.2005
Beiträge: 70

Medaillen: Keine

BeitragVerfasst am: 26.02.2006, 12:08    Titel: Antworten mit Zitat

Hallo,

wie meinst du das einzeln rendern und mit dem überdecken?
wenn ich doch ein objekt auf meine iso map rendern möchte dann render ich doch immer ein objekt nach dem anderen...
also erst die hinteren rendern und weiter nach vorne gehen...
oder wie meintest du das??
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: 26.02.2006, 12:22    Titel: Antworten mit Zitat

Entweder so wie du sagtest oder du benutzt den zBuffer, wobei eine Kombination aus beidem es dir ermöglicht auch komplexere Szenen Fehlerfrei zu rendern.
_________________
"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
Vane
Junior JLI'ler



Anmeldedatum: 03.11.2005
Beiträge: 70

Medaillen: Keine

BeitragVerfasst am: 26.02.2006, 15:31    Titel: Antworten mit Zitat

Was ist ein zBuffer?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Patrick
Dark JLI Master



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

BeitragVerfasst am: 26.02.2006, 15:43    Titel: Antworten mit Zitat

Ein Tiefenpuffer
_________________
'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
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Gehe zu Seite 1, 2, 3  Weiter
Seite 1 von 3

 
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