AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigene 3D-Engine

Ein Thema von ISAS · begonnen am 21. Jan 2005 · letzter Beitrag vom 15. Mär 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#1

Eigene 3D-Engine

  Alt 21. Jan 2005, 18:11
Hat jemand von euch schon eine eigene 3D-Engine programmiert? Eine sehr einfache und komplexe? Also nur so, das er einen 3D Punkt in 2D darstellen kann? Will mir nämlich mal den Quellcode dazu anschauen. Wollte selber mal ne Engine machen, aber irgendwie fehlte mir der oben genannte Punkt. Drehen, skaliere, etc ging alles, nur 3D wars nicht. Wenn vielleicht jemand den code posten könnte oder die File schicken, das wäre nett.

PS: Habe schon mal sowas gepostet, nur stimmte die Formel, die ich bekommen habe nicht ganz.
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Tubos

Registriert seit: 25. Feb 2004
Ort: Yspertal (Niederösterreich)
1.014 Beiträge
 
Delphi 7 Personal
 
#2

Re: Eigene 3D-Engine

  Alt 21. Jan 2005, 18:18
Zitat:
Hat jemand von euch schon eine eigene 3D-Engine programmiert? Eine sehr einfache und komplexe? Also nur so, das er einen 3D Punkt in 2D darstellen kann?
Wenn man das darstellen und Berechnen der Punkte selbst programmiert, dann spricht man im allgemeinen von einem "Software-Renderer", da die Bildberechnung nicht von der Grafikkarte übernommen wird.
Lukas
  Mit Zitat antworten Zitat
Benutzerbild von Ben1
Ben1

Registriert seit: 11. Okt 2004
Ort: Rostock
36 Beiträge
 
Delphi 6 Personal
 
#3

Re: Eigene 3D-Engine

  Alt 21. Jan 2005, 19:24
Ob software- oder Hardwarerendern, 3D Engine ist beides. Aber zum Thema, alles was dir also fehlt ist die Projektionsmatrix bzw. -gleichung. Dafür gibt es wesentlich mehr als eine Lösung, ich empfehle dir mal nach einem Buch über OpenGL zu suchen. Die enthalten häufig auch einen Teil über die theoretischen Grundlagen, inclusive der mahtematischen Beschreibung verschiedener Projektionsgleichungen
Ben
---------------------------------------
Spielanleitung !? Wieso ? Wozu ?
Im Quelltext steht doch alles drin !
Zitat: Ich selbst (1998)
  Mit Zitat antworten Zitat
Kernel32.DLL
(Gast)

n/a Beiträge
 
#4

Re: Eigene 3D-Engine

  Alt 21. Jan 2005, 20:24
Zitat von ISAS:
Eine sehr einfache und komplexe?
Was denn nun? Einfach oder Komplex?
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#5

Re: Eigene 3D-Engine

  Alt 23. Jan 2005, 13:15
einfach natürlich!


Hat wirklich noch nie jemand eine gemacht??
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Benutzerbild von Ben1
Ben1

Registriert seit: 11. Okt 2004
Ort: Rostock
36 Beiträge
 
Delphi 6 Personal
 
#6

Re: Eigene 3D-Engine

  Alt 24. Jan 2005, 18:10
Doch natürlich, nur sind die Möglichkeiten eine 3D/2D Projektion zu realisieren unglaublich vielfältig.
Ich nenne nur mal eine:

Du brauchst einen Vektor der angibt in welche Richtung du schaust X, einen für oben Z und einen für rechts Y(wobei sich natürlich aus 2 Vektoren der dritte automatisch ergibt), die Position P des Betrachters selbstverständlich auch.

Damit hast du drei Ebenen, x-y, x-z und y-z. Jetzt berechnest du den Abstand zwischen den Ebenen und dem Punkt den du darstellen willst.
Sagen wir mal
a = Abstand x-y Ebene;
b = Abstand x-z Ebene;
c = Abstand y-z Ebene;

Wenn c kleiner Null ist, kannste abbrechen da sich der Punkt eh hinter dir befindet. a enthält die y Koordinate auf dem Bildschirm und b die x Koordinate. Damit das ganze jetzt auch wie 3D aussieht kannst du die beiden bei bedarf noch durch ein vielfaches von c dividieren (je weiter weg desto kleiner ) Und, ganz wichtig, jetzt noch von x die halbe Bildschirmbreite und von y die halbe Bildschirmhöhe abziehen, um das Bild in die Mitte des Bildschirms zu kriegen.

Da schon 17 bist solltest du das bereits in der Schule gelernt haben.



Alternativ kannst du natürlich auch die entsprechende Matrix dafür hernehmen und alles mit einer einzigen Multiplikation erledigen.
Ben
---------------------------------------
Spielanleitung !? Wieso ? Wozu ?
Im Quelltext steht doch alles drin !
Zitat: Ich selbst (1998)
  Mit Zitat antworten Zitat
Benutzerbild von Darty
Darty

Registriert seit: 8. Jun 2002
Ort: Kronau
731 Beiträge
 
#7

Re: Eigene 3D-Engine

  Alt 24. Jan 2005, 23:14
Nein hab noch kein 3D Engine programmiert.
Eine 3D Engine ist nichts anderes als eine Schnittstelle die Sound, Grafik, Physik, und und und auswertet und ausgibt und was weiss ich alles.
Ich denke zu den Thema würde es wohl eher passen wenn du mal auf www.delphigl.com gehst. Ist nen OpenGL Seite und darunter befindet sich auch ein Tutorial Bombermania oder wie es sich nennt. So in der Richtung wird dann eine Engine aufgebaut.
Matthias Knebel
Mfg M. Knebel [-Darty-]
- Gehörlose Delphianer gibt es selten -
www.team-knebel.de
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#8

Re: Eigene 3D-Engine

  Alt 24. Jan 2005, 23:39
Wenn es dir um die Architektur der Engine geht, empfehle ich die Artikelserie Enginuity auf gamedev.net.
Wenn du Probleme mit der 3D-Mathematik hast, bietet dir möglicherweise das DirectX SDK für C++ eine gute Einstiegshilfe, denn dort wenn die meisten dieser Dinge erklärt (im Managed DirectX SDK wird diesbezüglich leider einiges unterschlagen).

Wenn es dir darum geht, einzelne Punkte darzustellen, solltest du dir vielleicht mal Point Sprites ansehen.

Eine gute OpenSource-3D-Engine ist Irrlicht.

Und wenn du was ganz anderes willst, solltest du es vielleicht nochmal genauer erklären
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von ISAS
ISAS

Registriert seit: 24. Sep 2003
Ort: Vietnam
205 Beiträge
 
Delphi 4 Standard
 
#9

Re: Eigene 3D-Engine

  Alt 25. Jan 2005, 19:50
Genau gesagt:

Ich will die Mathematik dahinter, wie ein 3D Punkt 2D(auf dem Bildschirm) dargestellt werden kann.

Hab das nun von Ben versucht, aber das ging nicht
Signatur wurde auf Wunsch geändert. Deswegen einfach hier drauf klicken-> www.geggi.at.gg
  Mit Zitat antworten Zitat
Maximus

Registriert seit: 26. Okt 2003
169 Beiträge
 
#10

Re: Eigene 3D-Engine

  Alt 25. Jan 2005, 20:41
Wenn du einen 3D Würfel auf den Monitor (2D) - z.B. mit Canvas - zeichnen willst, dann musst du für jeden der 8 Punkte X = X+0.5*Z und Y = Y+0.5*Z rechnen.

Aber irgendwie hab ich das Gefühl die Frage nicht verstanden zu haben
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz