AGB  ·  Datenschutz  ·  Impressum  







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

Dreidimensionales Array darstellen.

Ein Thema von Muellermilchtrinker · begonnen am 11. Aug 2010 · letzter Beitrag vom 24. Aug 2010
Antwort Antwort
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#1

AW: Dreidimensionales Array darstellen.

  Alt 12. Aug 2010, 18:33
Du solltest Dich hiermit beschäftigen, wenn Du genanntes Tut durch hast :
http://wiki.delphigl.com/index.php/glBegin
Ich würd sagen GL_QUADS und GL_QUAD_STRIP sind wichtig für Dich.

ein Würfel könnte so aussehen :
Delphi-Quellcode:
glBegin(GL_QUADS);
//vorderseite
glVertex3f(0, 0, 0);
glVertex3f(1, 0, 0);
glVertex3f(1, 1, 0);
glVertex3f(0, 1, 0);
//Seite rechts
glVertex3f(0, 1, 0);
glVertex3f(1, 1, 0);
glVertex3f(1, 1, 1);
glVertex3f(0, 1, 1);
//Seite links .. usw
glEnd;
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Dreidimensionales Array darstellen.

  Alt 16. Aug 2010, 18:10
Hat keiner ein Beispiel für mich???
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#3

AW: Dreidimensionales Array darstellen.

  Alt 16. Aug 2010, 18:24
Wo hängst Du?
Wenn Du mein Beispiel vervollständigst, hast Du einen ganzen Würfel!
Das ist dasselbe, wie aus dem NeHe Tut, welches blackfin verlinkt hat.
Für viele kleine Würfel mußt Du entweder jeden Würfel einzeln eingeben oder mit einer Schleife die Würfel erzeugen.
Mach mal den ganzen Würfel und guck obs läuft!
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#4

AW: Dreidimensionales Array darstellen.

  Alt 16. Aug 2010, 20:56
Ich hab jetzt einen großen Cube, aber der ist nicht so schön quadratisch, es ist eher ein Quader.
Dann drehe ich noch so:
Das im Render:
Delphi-Quellcode:
glRotatef(RotateX, 1, 0, 0);
glRotatef(RotateY, 0, 1, 0);
glRotatef(RotateZ, 0, 0, 1);
Und dann ein zweiten Timer mit einem Interval von 1s:
Delphi-Quellcode:
procedure TForm1.Timer2Timer(Sender: TObject);
begin
  RotateY := RotateY - 0.15;
  if RotateY <= 0 then RotateY := RotateY + 360;
  RotateX := RotateX - 0.15;
  if RotateX <= 0 then RotateX := RotateX + 360;
end;
Doch leider ist die Drehung sehr ruckelig. Wie bekomme ich das flüssiger??? Und wie bekomme ich den Cube sauber quadratisch.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#5

AW: Dreidimensionales Array darstellen.

  Alt 16. Aug 2010, 21:39
Zitat:
Ich hab jetzt einen großen Cube, aber der ist nicht so schön quadratisch, es ist eher ein Quader.
Das wird am Perspektiv-Modus liegen!
Irgendwo wird bei Dir das stehen:
gluPerspective(45.0, ClientWidth/ClientHeight, NearClipping, FarClipping); Entweder gewöhnst Du Dich an den Anblick oder Du nimmst den Ortho-Modus
http://wiki.delphigl.com/index.php/glOrtho
http://wiki.delphigl.com/index.php/Tutorial_2D
Guck Dir bitte gluOrtho2D an.
Zitat:
Doch leider ist die Drehung sehr ruckelig. Wie bekomme ich das flüssiger???
Ich verstehe Deinen Code dazu irgendwie nicht, warum addierst Du die Winkel in der Render-Prod nicht einfach auf?
RotateY := RotateY + 1
  Mit Zitat antworten Zitat
Benutzerbild von Muellermilchtrinker
Muellermilchtrinker

Registriert seit: 1. Aug 2009
447 Beiträge
 
Delphi 2009 Professional
 
#6

AW: Dreidimensionales Array darstellen.

  Alt 17. Aug 2010, 17:51
Zitat:
Doch leider ist die Drehung sehr ruckelig. Wie bekomme ich das flüssiger???
Ich verstehe Deinen Code dazu irgendwie nicht, warum addierst Du die Winkel in der Render-Prod nicht einfach auf?
RotateY := RotateY + 1
Den Code hab ich aus irgendeinem Tutorial. Wenn ich da jetzt +1 machen, dann sind die Abstände so groß, das ist dann garnicht mehr flüssig.

Zum Orthomodus:
Das versteh ich nicht. Kann mir nicht jemand die Zeile geben und sagen, wo ich das ändern soll???

PS:
Mich kotzt das ganze OpenGL an. Wieso geht das nicht einfacher??? Ich will jetzt endlich mein Programm fertig haben und mich nicht über dieses blöde OpenGL rumärgern.
Ich bräuchte eigentlich nur einen Code, der mir viele kleine Würfel darstellt. Und dann noch mein Array überprüft, ob eine eins, dann soll die Farbe des Würfels anders sein, als wenn dort eine null steht.
Chuck Norris doesn't need backups. He just uploads his files and lets the world mirror them.
  Mit Zitat antworten Zitat
Jens01

Registriert seit: 14. Apr 2009
673 Beiträge
 
#7

AW: Dreidimensionales Array darstellen.

  Alt 17. Aug 2010, 18:59
Zitat:
Wenn ich da jetzt +1 machen, dann sind die Abstände so groß, das ist dann garnicht mehr flüssig.
Probier doch einen kleineren Summanden aus, zB 0.15.

if RotateY <= 0 then RotateY := RotateY + 360; Ich glaube, diese Zeile hat in Deinem Code den Ärger gemacht.

Zitat:
Zum Orthomodus:
Das versteh ich nicht. Kann mir nicht jemand die Zeile geben und sagen, wo ich das ändern soll???
Wenn Du den Code aus dem Tut abgetippt hast, dann mußt Du die diese Zeile :
gluPerspective(45.0, ClientWidth/ClientHeight, NearClipping, FarClipping); mit gluOrhto2D ersetzen.

Zitat:
Mich kotzt das ganze OpenGL an.
Ich hatte doch gesagt, dass OpenGL etwas länger dauert bis es läuft! Das ist 3D Grafik und dafür braucht man eben etwas. Wenn es kannst, dann gibt es Ruhm, Ehre und Anerkennung!
  Mit Zitat antworten Zitat
Antwort Antwort


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