ich habe jetzt meinen gpx200 erhalten und das gl-premium.
nun möchte ich dieses programm testen auf dem gp2x, ein drehender würfel.
der bildschirm bleibt schwarz,obwohl das programm einfach gestrickt ist.
woran liegt der fehler? kann der gp2x nicht alle befehle umsetzen?
mfg
SETSCREEN 320,240,0
X_LOADOBJ "test1.ddd", 1
X_LOADOBJ "test2.ddd", 2
WHILE TRUE
X_MAKE3D 1, 1000, 45
X_CAMERA 0, 0, 120, 0, 0, 0
X_AMBIENT_LT 0, RGB(255,255,255)
INC phi,1
IF phi > 359 THEN phi = 0 // Rotationswinkel für beide Objekte festlegen
// Objekt 1
X_MOVEMENT 0,0,0 //Objekt 1 positionieren
X_ROTATION phi,1,1,0 // Objekt 1 mit Winkel phi um Achse XY drehen
X_DRAWOBJ 1,0 // Objekt 1 zeichnen
// Objekt 2
X_PUSHMATRIX
X_MOVEMENT 15,0,0 // Objekt 2 positionieren
X_ROTATION phi,1,0,0 // Objekt 2 mit Winkel phi um Achse X drehen
X_DRAWOBJ 2,0 // Objekt 2 zeichnen
X_POPMATRIX
X_PUSHMATRIX
X_MOVEMENT -15,0,0 // Objekt 2 positionieren
X_ROTATION phi,1,0,0 // Objekt 2 mit Winkel phi um Achse X drehen
X_DRAWOBJ 2,0 // Objekt 2 zeichnen
X_POPMATRIX
X_PUSHMATRIX
X_MOVEMENT 0,15,0 // Objekt 2 positionieren
X_ROTATION phi,1,0,0 // Objekt 2 mit Winkel phi um Achse X drehen
X_DRAWOBJ 2,0 // Objekt 2 zeichnen
X_POPMATRIX
X_PUSHMATRIX
X_MOVEMENT 0,-15,0 // Objekt 2 positionieren
X_ROTATION phi,1,0,0 // Objekt 2 mit Winkel phi um Achse X drehen
X_DRAWOBJ 2,0 // Objekt 2 zeichnen
X_POPMATRIX
SHOWSCREEN
WEND
END
X_MAKE3D 1, 200,45 // nicht zu großen Tiefenpuffer angeben.
Häng sonst mal Dein test1+2.ddd an.
habe ich auf 200 gesetzt.
also auf dem windowsscreen deht sich der würfel.
wo gibt es hier eine ähnliche demo mit 3d für den gp2x zum testen?
mfg
bei z=1..200 auch nicht auf dem GP2X?
das sind die werte für die cam : X_CAMERA 0, 0, 120, 0, 0, 0
habe z schon von1 - 100 geändert. ab 10 erscheint erst der körper, weil ich mich ja vorher (unter 10) noch innen befinde.
gibt es irgendwo ein beispiel zum testen?
mf
noch einmal ein ganz normales bild im vertex, welches um 45 grad gedreht ist.
wird mit dem gp2x nicht dargestellt. im windowsfenster erscheint es in der grösse von 320x240.
hmmm...
SETSCREEN 320,240,0
LOADSPRITE "image.png",0
X_OBJSTART 1
X_OBJADDVERTEX -80, 0, -80, 0,0, RGB(255,255,255)
X_OBJADDVERTEX 80, 0, -80, 1,0, RGB(255,255,255)
X_OBJADDVERTEX -80, 0, 80, 0,1, RGB(255,255,255)
X_OBJADDVERTEX 80, 0, 80, 1,1, RGB(255,255,255)
X_OBJEND
WHILE TRUE
X_MAKE3D 1,200,45
X_CAMERA 0,0,120,0,0,0
X_SETTEXTURE 0, 0
X_MOVEMENT 0,0,0
X_ROTATION 45,1,0,0
X_DRAWOBJ 1,0
SHOWSCREEN
WEND
END
Sechsrad. eine bitte nochmal an dich:
BITTE benutze das BEARBEITEN wenn du einen nachtrag zu deinen Post hast, danke.
X_CAMERA 0,0,120, 0,0,0 // geht bei mir...
gernot kannste mal den code hier zeigen , wie und mit welchen vertexen bei dir opengl (camera) läuft auf den 2hunderter.
ich sehe bei mir ein linienrand(einzelne pixel), wo man das viereck erahnen kann, hat zwar die gleiche schräglage wie auf dem pc, aber das bild selber ist nicht zu sehen. habe einmal als bmp und ein anderes mal als png geladen.
komisch.
dieses demo mit der schnecke aus diesem forum läuft, ist aber als 2d geproggt.
wo ist eigentlich dein programm mit dem springenden frosch, ist das opengl 3d?
mfg
Ja ist 3D ist auch im Samples Ordner!
Ja ist 3D ist auch im Samples Ordner!
die mit opengl3d laufen alle nicht mit dem gpx200.
mfg
Zur info:
OpenGL ist immer 3D nur ohne Z-Achse ;)
diese x-befehle sind reine opengl-befehle nur mit anderen namen und haben eine z-achse.
ich möchte jetzt darüber nicht streiten, sondern möchte eine brauchbare lösung das dieses auf den f200 läuft.
zur info gut zu gebrauchen! http://wiki.delphigl.com/index.php/Tutorial_Matrix2
X_PUSHMATRIX
X_MOVEMENT 15,0,0 // Objekt 2 positionieren
X_ROTATION phi,1,0,0 // Objekt 2 mit Winkel phi um Achse X drehen
X_DRAWOBJ 2,0 // Objekt 2 zeichnen
X_POPMATRIX
Alles was du machst in GLBasic, der Name "GL" lässt es vermuten, JA richtig OpenGL, ist in 3D!
Auch wenn du nur ein "Sprite" zeichnest, ist nur die Z-Achse auf NULL mehr nicht, das wird nur intern geregelt, ohne das du was mit bekommst!
Geh mal in die OpenGL Referenze und such mal 2D - Befehle ;)
Viel spass, wenn du einen hast, sag mir bescheid ;)
ich möchte eine lösung, für das nichtfunktionierende programm beim f200 (rotierendes vertex, wo eine textur vom bmpbild abgebildet ist ), obwohl im windowsfenster das rotierende vertex mit texture zu sehen ist.
mfg
QuoteAlles was du machst in GLBasic, der Name "GL" lässt es vermuten, JA richtig OpenGL, ist in 3D!
Auch wenn du nur ein "Sprite" zeichnest, ist nur die Z-Achse auf NULL mehr nicht, das wird nur intern geregelt, ohne das du was mit bekommst!
in opengl kann ich sprites zeichnen, wo die z-achse null ist und kann aber auch dann die sprites mit pushmatrix und popmatrix zu einem bild zusammensetzen, wo dann jedes teilsprite einzeln unabhängig bewegt werden kann.
wenn das so ist in glbasic, warum kann ich dann die sprite im 2d-modus nicht mit pushmatrix und popmatrix auch zu einem bild zusammensetzen mit der z-achse=0 ? diese sprites in 2d von glbasic laufen auf dem f200, warum bekomme ich dann keine sprite mit der z-achse=0 in einem viereckigen vertex mit einer textur zum laufen auf dem f200? diese lösung brauche ich.
wenn ich dieses unten laufen lasse mit einer texture, sehe ich die nicht auf dem f200. ich kann es um alle achsen drehen, ich sehe nur immer einen pixelaussenrand :
X_OBJSTART 1
SETSCREEN 320,240,0
LOADSPRITE "image.png",0
X_OBJSTART 1
X_OBJADDVERTEX -80, 0, -80, 0,0, RGB(255,255,255)
X_OBJADDVERTEX 80, 0, -80, 1,0, RGB(255,255,255)
X_OBJADDVERTEX -80, 0, 80, 0,1, RGB(255,255,255)
X_OBJADDVERTEX 80, 0, 80, 1,1, RGB(255,255,255)
X_OBJEND
WHILE TRUE
phi=phi+1
IF phi> 359 THEN phi=0
X_MAKE3D 1,200,45
X_CAMERA 0,0,140,0,0,0
X_SETTEXTURE 0, 0
X_MOVEMENT 15,40,0
X_ROTATION phi,1,1,1
X_DRAWOBJ 1,0
SHOWSCREEN
WEND
END
Nochmals... Auf PC ist es zu 100% OpenGL, auf dem F200 denke ich das es SDL ist, jedoch kann ich es nicht sicher sagen! Intern wird das jeweils auf das passende System angepasst. Genaueres kann dir Gernot sagen !
Und nochmals die Bitte:
Benutze bei deinen Posts wenn du noch was hinzufügen willst, das Bearbeiten unter deinem Post! Den nächsten Doppelpost werde ich löschen!
habe jetzt festgestellt, das der gp2 nur die 2d-spritegrafik bzw polyvector von glbasic darstellen kann.
die anderen 3dopengl-komponenten werden total falsch umgesetzt von dem f200 , sei es grafiken(texturen) oder vertexe.
wäre auch ein wunder gewesen , wenn er die 3dopengl-komponenten drin gehabt hätte.
alle opengl-befehle werden sofwareemuliert.
damit hat sich die sache erledigt, ich werde mich auf die 2d-komponenten einarbeiten für den gp2, darin hat er eine menge ressoursen.
3D sollte auf dem GP2X schon gehen, das Problem ist immer dass der Z-puffer nicht so akkurat ist wie bei echtem OpenGL.