Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 10, 2025 21:48

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: 3D Würfel
BeitragVerfasst: So Mär 07, 2004 01:07 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Hallo,

wie kann ich einen 3D Raum erstellen?
Also einfach nur so ein Vierecker Raum wo man sich drinne bewegen kann. Ich habe so angefangen: Ich habe mir einen 3D Würfel programmiert. Den konnte man mit der Maus drehen. Dann habe ich einfach glTranslatef so gesetzt: glTranslatef(0.0,0.0,-1); *G*

So, jetzt war ich in den Würfel drinne :) bitte nicht lachen bin totaler anfänger!! Hier erstmal den Code:

Code:
  1.  
  2.   glPushMatrix;
  3.   glTranslatef(0.0,0.0,-z); //z= -1
  4.   glRotatef(PosX,1.0,0.0,0.0);
  5.   glRotatef(PosY,0.0,1.0,0.0);
  6.   glBegin(GL_QUADS);
  7.   //Unten
  8.   glColor4f(1,0,0,0.4);
  9.   glVertex3f(-1.0,-1.0,-1.0);
  10.   glVertex3f(1.0,-1.0,-1.0);
  11.   glVertex3f(1.0,-1.0,2.0);
  12.   glVertex3f(-1.0,-1.0,1.0);
  13.  
  14.   //Vorne
  15.   glColor4f(0,1,0,0.4);
  16.   glVertex3f(-1.0,-1.0,1.0);
  17.   glVertex3f(1.0,-1.0,1.0);
  18.   glVertex3f(1.0,1.0,1.0);
  19.   glVertex3f(-1.0,1.0,1.0);
  20.  
  21.   //Hinten
  22.   glColor4f(0,0,1,0.4);
  23.   glVertex3f(-1.0,-1.0,-1.0);
  24.   glVertex3f(-1.0,1.0,-1.0);
  25.   glVertex3f(1.0,1.0,-1.0);
  26.   glVertex3f(1.0,-1.0,-1.0);
  27.  
  28.   //Rechts
  29.   glColor4f(1,1,0,0.4);
  30.   glVertex3f(1.0,-1.0,-1.0);
  31.   glVertex3f(1.0,1.0,-1.0);
  32.   glVertex3f(1.0,1.0,1.0);
  33.   glVertex3f(1.0,-1.0,1.0);
  34.  
  35.   //Links
  36.   glColor4f(0,1,1,0.4);
  37.   glVertex3f(-1.0,-1.0,-1.0);
  38.   glVertex3f(-1.0,-1.0,1.0);
  39.   glVertex3f(-1.0,1.0,1.0);
  40.   glVertex3f(-1.0,1.0,-1.0);
  41.  
  42.   //Oben
  43.   glColor4f(1,1,1,0.4);
  44.   glVertex3f(-1.0,1.0,-1.0);
  45.   glVertex3f(-1.0,1.0,1.0);
  46.   glVertex3f(1.0,1.0,1.0);
  47.   glVertex3f(1.0,1.0,-1.0);
  48.   glEnd;
  49.   glPopMatrix;
  50.  


So, bei OnMouseMove wird dann die Werte geändert von PosX und PosY:

PosX:=X;
PosY:=Y;

Jetzt konnte ich mich sogar umsehen im Würfel. Aber das 1 Problem ist schonmal das sich der Würfel dreht. Das sieht man nicht wenn man im Würfel ist, das ist aber glaube falsch. Wie kann ich das Problem beheben?

Mein 2 Problem ist:
Wenn ich näher ransume. Also die Variable Z 1 niedriger mache, gehe ich näher zur Wand. FALSCH: Wenn ich mich dann umdrehe bin ich genau so nah dran wie die anderen Wände auch.

Überhaupt mein Problem ist:

Wie man ein 3D Raum erstellt. Einfach so wie der Würfel, nur das man auch drinne sich bewegen kann und das der Raum etwas größer ist als der Würfel. Kann mir jemand dabei helfen?

MFG
Sven!

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 07, 2004 01:35 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Nachsatz: Warum ich als Titel eingegeben habe: 3D Würfel ^^ es geht ja um ein 3D Raum Kamera. :) Also wenn ich ein Würfel hinbekomme bekomme ich auch ein Raum hin. Funktioniert ja gleich eben nur eben etwas breiter und länger zeichnen. Also mein Problem liegt mehr glaube bei der Kamera. Also wie ich mit der Maus mich umsehen kann. Und mit einem klick Vorwörts laufe.

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 07, 2004 08:06 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Das mit dem gehen, habe ich jetzt mitterweile hinbekommen :)
Die ganze Nacht habe ich dafür gebraucht *G*.

MFG
Sven!

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 07, 2004 12:02 
Offline
DGL Member
Benutzeravatar

Registriert: Sa Jan 04, 2003 21:23
Beiträge: 674
Wohnort: Köln
hm... was ist/ sind jetzt genau noch dein(e) Problem(e) ??

_________________
. . .


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: So Mär 07, 2004 13:56 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Zitat:
Die ganze Nacht habe ich dafür gebraucht *G*.

Das ist schon mal gut, dass du den richtigen "Biss" hast, dich selbst mit der Materie auseinanderzusetzen :wink:

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 08, 2004 02:23 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Fiji-Fighter hat geschrieben:
hm... was ist/ sind jetzt genau noch dein(e) Problem(e) ??


Hi, keine probleme mehr :)
Doch:

Also ich habe jetzt ein 3D Raum. So eine kleine Halle. Die Breite beträgt 25.0 die Länge auch. Jetzt sind die Grafiken noch sau gut! Aber wenn ich jetzt aus den 25, 120 oder so mache ist alles verschwommen, so lang gezogen. Wie kann ich das verhindern? Da muss ich doch bestimmt immer irgendwie neue Quads dahinter zeichnen um die Länge zu erhalten, oder gibt es dafür extra ein Befehl, das die Grafiken immer neu angesetzt werden?
MFG
Sven!

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 08, 2004 06:58 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Evtl. wäre ein Bild mit vorher und eines mit nachher mal ganz ratsam. Denn ich keine blassen Schimmer was du mit verschwommen meinst.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 08, 2004 08:17 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Lossy eX hat geschrieben:
Evtl. wäre ein Bild mit vorher und eines mit nachher mal ganz ratsam. Denn ich keine blassen Schimmer was du mit verschwommen meinst.


Naja. Ich habe ein Quad. Das ist 120 Einheiten lang und Breit. Wenn ich jetzt eine Texture auf das Quad mache, ist das Bild lang gezogen und man erkennt nichts mehr. Wie kann man das umgehen? ^^ Zitat "Denn ich keine blassen Schimmer was du mit verschwommen meinst"...

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 08, 2004 09:09 
Offline
DGL Member
Benutzeravatar

Registriert: Do Dez 05, 2002 10:35
Beiträge: 4234
Wohnort: Dortmund
Ah. Jetzt verstehe ich das auch. Deine Antwort sah ohne Kaffe noch ein wenig komisch aus. ;-)

Es gibt zwei Möglichkeiten. Du kannst die Texturkoordinaten entsprechend höher setzen. So wird die Textur dann einfach wieder. 0-1 ist ja normal. Wenn du 0-2 verwendest wird die Textur genau 2 Mal gezeichnet. usw.

Bei sehr großen Flächen und vielen Wiederholungen kann es aber auf einigen älteren Karten zu massiven Geschwindigkeitseinbußen kommen. Gabs jedenfalls mal ein Thread hier im Forum. In diesem Falle empfielt es sich die Fläche zu unterteilen und die Textur nur ein Paar mal auf jede Fläche zu zeichnen. Somit wird dann auf wundersamer Weise die Karte entlastet. Auf neueren Karten macht das kaum etwas aus, da diese sich eh erst ab 20 Mio. Flächen in der Sekunde so richtig wohl fühlen. ;-)
Also ein Zwischending aus kleineren Flächen und Texturwiederholungen darf man getrost als Ideal bezeichnen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Mär 08, 2004 09:38 
Offline
DGL Member

Registriert: Fr Mär 05, 2004 19:15
Beiträge: 118
Wohnort: Lemgo
Danke. Es geht :)

_________________
irc.euirc.net _> #delphi-hilfe


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 10 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 7 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.008s | 14 Queries | GZIP : On ]