Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Routierender 3D-Würfel

 
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 19.10.2007, 15:18    Titel: Routierender 3D-Würfel Antworten mit Zitat

WIe lässt sich ein routierender 3D-Würfel Realisieren?
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 19.10.2007, 15:36    Titel: Antworten mit Zitat

Hm, ein 3D-Würfel, der routet. Hm, keine Ahnung. Zunge rausstrecken
Aber zum Thema rotierender 3D-Würfel: Wenn's da nicht sogar mal was Source-fertig (war da nichtmal was bei csde_rat's Grafik-Dingsda drin?) gab, musst mal suchen.
Für's "Erste" dürfte auch bestimmt was passendes in \examples\GL\NeHe drin sein. Lesson05.bas sieht da recht vielversprechend aus. lächeln
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 19.10.2007, 15:39    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
(war da nichtmal was bei csde_rat's Grafik-Dingsda drin?)

Vollkommen richtig.
Zeile 612-648 stellen einen farbige Würfel dar:
Code:
glBegin GL_QUADS                                        '' Draw A Quad
         glColor3f 0.0, 1.0, 0.0                              '' Set The Color To Blue
          glVertex3f 1.0, 1.0, -1.0                            '' Top Right Of The Quad (Top)
          glVertex3f -1.0, 1.0, -1.0                           '' Top Left Of The Quad (Top)
          glVertex3f -1.0, 1.0, 1.0                            '' Bottom Left Of The Quad (Top)
          glVertex3f 1.0, 1.0, 1.0                             '' Bottom Right Of The Quad (Top)
         
          glColor3f 1.0, 0.5, 0.0                              '' Set The Color To Orange
          glVertex3f 1.0, -1.0, 1.0                            '' Top Right Of The Quad (Bottom)
          glVertex3f -1.0, -1.0, 1.0                           '' Top Left Of The Quad (Bottom)
          glVertex3f -1.0, -1.0, -1.0                          '' Bottom Left Of The Quad (Bottom)
          glVertex3f 1.0, -1.0, -1.0                           '' Bottom Right Of The Quad (Bottom)
         
          glColor3f 1.0, 0.0, 0.0                              '' Set The Color To Red
          glVertex3f 1.0, 1.0, 1.0                             '' Top Right Of The Quad (Front)
          glVertex3f -1.0, 1.0, 1.0                            '' Top Left Of The Quad (Front)
          glVertex3f -1.0, -1.0, 1.0                           '' Bottom Left Of The Quad (Front)
          glVertex3f 1.0, -1.0, 1.0                            '' Bottom Right Of The Quad (Front)
         
          glColor3f 1.0, 1.0, 0.0                              '' Set The Color To Yellow
          glVertex3f 1.0, -1.0, -1.0                           '' Top Right Of The Quad (Back)
          glVertex3f -1.0, -1.0, -1.0                          '' Top Left Of The Quad (Back)
          glVertex3f -1.0, 1.0, -1.0                           '' Bottom Left Of The Quad (Back)
          glVertex3f 1.0, 1.0, -1.0                            '' Bottom Right Of The Quad (Back)
         
          glColor3f 0.0, 0.0, 1.0                              '' Set The Color To Blue
          glVertex3f -1.0, 1.0, 1.0                            '' Top Right Of The Quad (Left)
          glVertex3f -1.0, 1.0, -1.0                           '' Top Left Of The Quad (Left)
          glVertex3f -1.0, -1.0, -1.0                          '' Bottom Left Of The Quad (Left)
          glVertex3f -1.0, -1.0, 1.0                           '' Bottom Right Of The Quad (Left)
         
          glColor3f 1.0, 0.0, 1.0                              '' Set The Color To Violet
          glVertex3f 1.0, 1.0, -1.0                            '' Top Right Of The Quad (Right)
          glVertex3f 1.0, 1.0, 1.0                             '' Top Left Of The Quad (Right)
          glVertex3f 1.0, -1.0, 1.0                            '' Bottom Left Of The Quad (Right)
          glVertex3f 1.0, -1.0, -1.0                           '' Bottom Right Of The Quad (Right)
         glEnd     

_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 19.10.2007, 16:01    Titel: Antworten mit Zitat

Ich jetzt Lesson05.bas soweit angepasst das es Funzt zwinkern
Code:
''
''    This Code Was Created By Jeff Molofee 2000
''    A HUGE Thanks To Fredric Echols For Cleaning Up
''    And Optimizing The Base Code, Making It More Flexible!
''    If You've Found This Code Useful, Please Let Me Know.
''    Visit My Site At nehe.gamedev.net




#include once "GL/gl.bi"
#include once "GL/glu.bi"

   dim rtri as single, rquad as single

   screen 18, 16, , 2

   '' ReSizeGLScene
   glViewport 0, 0, 640, 480                      '' Reset The Current Viewport
   glMatrixMode GL_PROJECTION                     '' Select The Projection Matrix
   glLoadIdentity                                 '' Reset The Projection Matrix
   gluPerspective 45.0, 640.0/480.0, 0.1, 100.0   '' Calculate The Aspect Ratio Of The Window
   glMatrixMode GL_MODELVIEW                      '' Select The Modelview Matrix
   glLoadIdentity                                 '' Reset The Modelview Matrix
   
   '' All Setup For OpenGL Goes Here
   glShadeModel GL_SMOOTH                         '' Enable Smooth Shading
   glClearColor 0.0, 0.0, 0.0, 0.5                '' Black Background
   glClearDepth 1.0                               '' Depth Buffer Setup
   glEnable GL_DEPTH_TEST                         '' Enables Depth Testing
   glDepthFunc GL_LEQUAL                          '' The Type Of Depth Testing To Do
   glHint GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST    '' Really Nice Perspective Calculations


   do
         glClear GL_COLOR_BUFFER_BIT OR GL_DEPTH_BUFFER_BIT      '' Clear Screen And Depth Buffer
         glLoadIdentity                                          '' Reset The Current Modelview Matrix
      
         glTranslatef -0.0, 0.0, -6.0                            '' Move Left 1.5 Units And Into The Screen 6.0
         glRotatef rtri, 0.0, 1.0, 0.0                           '' Rotate The Triangle On The X axis ( NEW )
   
      
         
         glBegin GL_QUADS                                        '' Draw A Quad
         glColor3f 0.0, 1.0, 0.0                              '' Set The Color To Blue
          glVertex3f 1.0, 1.0, -1.0                            '' Top Right Of The Quad (Top)
          glVertex3f -1.0, 1.0, -1.0                           '' Top Left Of The Quad (Top)
          glVertex3f -1.0, 1.0, 1.0                            '' Bottom Left Of The Quad (Top)
          glVertex3f 1.0, 1.0, 1.0                             '' Bottom Right Of The Quad (Top)
         
          glColor3f 1.0, 0.5, 0.0                              '' Set The Color To Orange
          glVertex3f 1.0, -1.0, 1.0                            '' Top Right Of The Quad (Bottom)
          glVertex3f -1.0, -1.0, 1.0                           '' Top Left Of The Quad (Bottom)
          glVertex3f -1.0, -1.0, -1.0                          '' Bottom Left Of The Quad (Bottom)
          glVertex3f 1.0, -1.0, -1.0                           '' Bottom Right Of The Quad (Bottom)
         
          glColor3f 1.0, 0.0, 0.0                              '' Set The Color To Red
          glVertex3f 1.0, 1.0, 1.0                             '' Top Right Of The Quad (Front)
          glVertex3f -1.0, 1.0, 1.0                            '' Top Left Of The Quad (Front)
          glVertex3f -1.0, -1.0, 1.0                           '' Bottom Left Of The Quad (Front)
          glVertex3f 1.0, -1.0, 1.0                            '' Bottom Right Of The Quad (Front)
         
          glColor3f 1.0, 1.0, 0.0                              '' Set The Color To Yellow
          glVertex3f 1.0, -1.0, -1.0                           '' Top Right Of The Quad (Back)
          glVertex3f -1.0, -1.0, -1.0                          '' Top Left Of The Quad (Back)
          glVertex3f -1.0, 1.0, -1.0                           '' Bottom Left Of The Quad (Back)
          glVertex3f 1.0, 1.0, -1.0                            '' Bottom Right Of The Quad (Back)
         
          glColor3f 0.0, 0.0, 1.0                              '' Set The Color To Blue
          glVertex3f -1.0, 1.0, 1.0                            '' Top Right Of The Quad (Left)
          glVertex3f -1.0, 1.0, -1.0                           '' Top Left Of The Quad (Left)
          glVertex3f -1.0, -1.0, -1.0                          '' Bottom Left Of The Quad (Left)
          glVertex3f -1.0, -1.0, 1.0                           '' Bottom Right Of The Quad (Left)
         
          glColor3f 1.0, 0.0, 1.0                              '' Set The Color To Violet
          glVertex3f 1.0, 1.0, -1.0                            '' Top Right Of The Quad (Right)
          glVertex3f 1.0, 1.0, 1.0                             '' Top Left Of The Quad (Right)
          glVertex3f 1.0, -1.0, 1.0                            '' Bottom Left Of The Quad (Right)
          glVertex3f 1.0, -1.0, -1.0                           '' Bottom Right Of The Quad (Right)
         glEnd                                                   '' Done Drawing The Quad

    rtri  = rtri + 0.2                                      '' Increase The Rotation Variable For The Triangle ( NEW )
         

      flip
   loop while inkey = ""

Aber jetzt will ich mehrere Würfel gleichzeitig mit rotutierender Kamera zwinkern
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Flo
aka kleiner_hacker


Anmeldungsdatum: 23.06.2006
Beiträge: 1210

BeitragVerfasst am: 19.10.2007, 16:09    Titel: Antworten mit Zitat

nuja...
mehrere würfel dürften nicht das problem sein (hab mir den source nicht angeguckt)
und die rotierende kamera: nicht die kamera sondern die würfel im kreis bewegen grinsen
_________________
MFG
Flo

Satoru Iwata: Wer Spaß am Spielen hat, fragt nicht nach Grafik.

zum korrekten Verstaendnis meiner Beitraege ist die regelmaessige Wartung des Ironiedetektors unerlaesslich.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 19.10.2007, 16:24    Titel: Antworten mit Zitat

ich hab mit mal http://nehe.gamedev.net/ angesehen.. das steht wirklich alles was ich brauche zwinkern (english)
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 19.10.2007, 16:38    Titel: Antworten mit Zitat

Kamera drehen und objekte drehen ist genau das selbe, der einzige unterschied ist der punkt um den du drehst und, dass du entweder alle objekte mitdrehst oder nur eins.
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
AndT



Anmeldungsdatum: 02.04.2007
Beiträge: 481

BeitragVerfasst am: 19.10.2007, 16:41    Titel: Antworten mit Zitat

Natürlich setze ich einfach in der mitter einen Punkt und von dort aus drehe ich die würfel alle einfach von oben links nach unten rechts, wobei sich die würfel selbst auch noch drehen happy
wenn ich das soweit habe fange versuche ich mit an ein Spiel mit opengl zu schreiben zwinkern
_________________
Bis irgendwann... grinsen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 19.10.2007, 16:54    Titel: Antworten mit Zitat

Genau, denn merkt euch Kinder: Sobald ihr rotierende 3D-Würfel mit fremden Source als Basis hinbekommen habt, seid ihr für die harte Welt der 3D-Engines bereit!
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
MisterD



Anmeldungsdatum: 10.09.2004
Beiträge: 3071
Wohnort: bei Darmstadt

BeitragVerfasst am: 19.10.2007, 17:30    Titel: Antworten mit Zitat

sowieso, dann noch schnell ein load(3_billion_polygon_map); enable(autoupdate); enable(cool_graphics); include(best_gameplay_engine_ever); engine.run(); und schon haste ein besseres hl2! grinsen
_________________
"It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
atari
gesperrt


Anmeldungsdatum: 26.08.2007
Beiträge: 144

BeitragVerfasst am: 19.10.2007, 18:38    Titel: Antworten mit Zitat

Zitat:

Kamera drehen und objekte drehen ist genau das selbe,


eine kamere gibt es in dem opengl-befehlen nicht. es wird nur ein raumpunkt festgelegt um den gedreht werden soll. der raumpunkt ist der gesamtraumpunkt von dem jeweiligen gesamten opengel fenster. diesen kann man bestimmen mit "popmatrix" und "pushmatrix".

objekte :
gedreht wird immer zuerst um den nullpunkt, den man mit dem objektherstellungsprogramm festlegt. diesen punkt kann man dann wieder mit "pushmatrix" und popmatrix" verschieben.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 19.10.2007, 19:08    Titel: Antworten mit Zitat

Deswegen sagte er ja: Es ist genau dasselbe.
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
atari
gesperrt


Anmeldungsdatum: 26.08.2007
Beiträge: 144

BeitragVerfasst am: 19.10.2007, 22:04    Titel: Antworten mit Zitat

Zitat:

"pushmatrix" und popmatrix"


alle reden vom drehen usw. keiner erwähnt oder kennt dafür die lebenwichtigen befehle in der quote.
wer den zusammenhang nicht beherrscht, ist mit opengl und der bewegung verloren auf nimmernwiedersehen.
der jenige wird keine unabhängigkeit der objekte erreichen, sondern wird nur ein objekt drehen können und lässt opengl dann links liegen vor verzweiflung.

ich kenne aus der purebasic-scene und aus der freebasic-scne keinen der das ausser mir und einem anderen noch beherrscht.
darum gibt es zur zeit keine spiele von freebasic und purebasic.

in basic4gl(freeware) und openglbasic(70 euro) sind diese unabhängigkeiten durch andere basic-wörter ersetzt worden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Thorben



Anmeldungsdatum: 26.04.2005
Beiträge: 173
Wohnort: SH

BeitragVerfasst am: 20.10.2007, 02:07    Titel: Antworten mit Zitat

@atari

Ich kanns und bin seid 1,5 Jahren an einem Spiel drann. Leider ist es sehr aufwendig ein Map zu coden. deshalb schreibe ich gerade ein einem Level editor. Es ist natürlich sehr aufwendig aber in 1 bis 2 Monaten werd ich mal ein Speil Online stellen.happy

MFG Thorben
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 20.10.2007, 09:48    Titel: Antworten mit Zitat

Thorben hat Folgendes geschrieben:
Ich kanns und bin seid 1,5 Jahren an einem Spiel drann. Leider ist es sehr aufwendig ein Map zu coden. deshalb schreibe ich gerade ein einem Level editor. Es ist natürlich sehr aufwendig aber in 1 bis 2 Monaten werd ich mal ein Speil Online stellen.happy

Du könntest übrigens in dem Fall hier eine Projektinfoseite aufmachen und uns da über den aktuellen Status am Projekt informieren (vielleicht ein paar Vorabscreenshots? happy).
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 20.10.2007, 11:14    Titel: Antworten mit Zitat

Ja, stimmt atari - wir sollten dich heilig sprechen und uns dir unterordnen, denn wir sind die niederwertigen Lebensformen...

Würdest du mal ein bisschen rumschauen - es gibt sehr wohl Spiele, die mit FB erstellt wurden. Nur ist es wie Thorben schon sagte aufwändig, ein Spiel zu erstellen - schau dich wirklich mal um und du wirst auch FB-Spiele mit OGL sehen...
_________________
Eine handvoll Glück reicht nie für zwei.
--
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
csde_rats



Anmeldungsdatum: 07.01.2007
Beiträge: 2292
Wohnort: Zwischen Sessel und Tastatur

BeitragVerfasst am: 20.10.2007, 11:44    Titel: Antworten mit Zitat

Mao hat Folgendes geschrieben:
Genau, denn merkt euch Kinder: Sobald ihr rotierende 3D-Würfel mit fremden Source als Basis hinbekommen habt, seid ihr für die harte Welt der 3D-Engines bereit!

... denn so wurde ja auch die Quake-Engine gemacht, ne, bissl klicki klacki und rumWYSIWIGgen und fertig ists!
_________________
If hilfreicher_Beitrag then klick(location.here)

Klick
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
atari
gesperrt


Anmeldungsdatum: 26.08.2007
Beiträge: 144

BeitragVerfasst am: 20.10.2007, 12:27    Titel: Antworten mit Zitat

Zitat:

denn so wurde ja auch die Quake-Engine gemacht, ne, bissl klicki klacki und rumWYSIWIGgen und fertig ists!


na dann viel spass, wenn du es so schnell schaffen willst. dann brauchen wir kein opengl wo eigentlich schon viel arbeit abgenommen wird und trotzdem nicht noch vielen gerafft wird. 3d ist immer schwierig wenn es um unabhängigkeiten geht der einzelnen objekte.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
atari
gesperrt


Anmeldungsdatum: 26.08.2007
Beiträge: 144

BeitragVerfasst am: 20.10.2007, 12:30    Titel: Antworten mit Zitat

Zitat:

Ich kanns und bin seid 1,5 Jahren an einem Spiel drann. Leider ist es sehr aufwendig ein Map zu coden.


dann warst du sehr fleissig und hast dich innig mit opengl auseinander gesetzt. opengl ist keine nachmittagsarbeit.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 20.10.2007, 12:49    Titel: Antworten mit Zitat

Da das eigentliche Anliegen des Threadstarters erfolgreich bewältigt worden ist und die Diskussion nun entgleitet, wird der Thread geschlossen.
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
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.

 Impressum :: Datenschutz