 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 19.10.2007, 15:18 Titel: Routierender 3D-Würfel |
|
|
WIe lässt sich ein routierender 3D-Würfel Realisieren? _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 19.10.2007, 15:36 Titel: |
|
|
Hm, ein 3D-Würfel, der routet. Hm, keine Ahnung.
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.  _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 19.10.2007, 15:39 Titel: |
|
|
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 |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 19.10.2007, 16:01 Titel: |
|
|
Ich jetzt Lesson05.bas soweit angepasst das es Funzt
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  _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Flo aka kleiner_hacker
Anmeldungsdatum: 23.06.2006 Beiträge: 1210
|
Verfasst am: 19.10.2007, 16:09 Titel: |
|
|
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  _________________ 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 |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 19.10.2007, 16:24 Titel: |
|
|
ich hab mit mal http://nehe.gamedev.net/ angesehen.. das steht wirklich alles was ich brauche (english) _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 19.10.2007, 16:38 Titel: |
|
|
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 |
|
 |
AndT
Anmeldungsdatum: 02.04.2007 Beiträge: 481
|
Verfasst am: 19.10.2007, 16:41 Titel: |
|
|
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
wenn ich das soweit habe fange versuche ich mit an ein Spiel mit opengl zu schreiben  _________________ Bis irgendwann...  |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 19.10.2007, 16:54 Titel: |
|
|
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 |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 19.10.2007, 17:30 Titel: |
|
|
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!  _________________ "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 |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 19.10.2007, 18:38 Titel: |
|
|
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 |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 19.10.2007, 19:08 Titel: |
|
|
Deswegen sagte er ja: Es ist genau dasselbe. _________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 19.10.2007, 22:04 Titel: |
|
|
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 |
|
 |
Thorben
Anmeldungsdatum: 26.04.2005 Beiträge: 173 Wohnort: SH
|
Verfasst am: 20.10.2007, 02:07 Titel: |
|
|
@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.
MFG Thorben |
|
Nach oben |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
Verfasst am: 20.10.2007, 09:48 Titel: |
|
|
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. |
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? ). _________________
Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen! |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 20.10.2007, 11:14 Titel: |
|
|
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 |
|
 |
csde_rats

Anmeldungsdatum: 07.01.2007 Beiträge: 2292 Wohnort: Zwischen Sessel und Tastatur
|
Verfasst am: 20.10.2007, 11:44 Titel: |
|
|
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 |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 20.10.2007, 12:27 Titel: |
|
|
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 |
|
 |
atari gesperrt
Anmeldungsdatum: 26.08.2007 Beiträge: 144
|
Verfasst am: 20.10.2007, 12:30 Titel: |
|
|
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 |
|
 |
Sebastian Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 5969 Wohnort: Deutschland
|
|
Nach oben |
|
 |
|
|
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.
|
|