Probleme mit einer 3D anwendung.

Previous topic - Next topic

D2O

Tach alle,
ich habe mal wieder mit 3D gespielt, nun zickt das Programm/.exe.
1. Ich setze eine Textur auf Cubes, die werden aber nur in Gr?n dargestellt?!
Da bin ich als 3D noop etwas ratlos :)
2. Dr?ckt man mit der Mouse auf Minus bei Cam.z um die Camera heran zu fahre,
beendet das Programm das aus der IDE im debugmodus gestartet ist, ca. bei bei dem Wert 26.****  ??
3. Ohne Textur l?uft das Programm (einfach X_SETTEXTURE 0,1 auskommentieren)
4. Mit Textur l?uft es ohne Debug garnicht.
Fehlermeldung:
Quote
szAppName: what does,if one___for 3D
szAppVer: 0.0.0.0
szModName:  hungapp
szModVer: 0.0.0.0
offset: 00000000

Hier gibts den Projektordner:
http://www.deuteriumoxid.com/glbasic/what does, if one...for 3D.zip

Und hier mal nur den Code:
Code (glbasic) Select

// --------------------------------- //
// Project: what does, if one...for 3D
// Start: Sunday, August 09, 2009
// IDE Version: 7.073


SYSTEMPOINTER TRUE
AUTOPAUSE TRUE

DRAWRECT 0,0,60,30,RGB(0xff, 0xff, 0xff)
DRAWRECT 1,1,28,28,RGB(0x00, 0x00, 0xff)
DRAWRECT 31,1,28,28,RGB(0x00, 0x80, 0x40)
PRINT "-",8,2
PRINT "+",36,2
GRABSPRITE 99,0,0,60,30
BLACKSCREEN


GLOBAL mx%,my%,b1%,b2%
GLOBAL Make3d AS Tvar
GLOBAL Cam AS Tvar
GLOBAL Roto AS Tvar
GLOBAL DrawOpj AS Tvar
GLOBAL Ambient AS Tvar
LOADSPRITE "tex.png",0

CreateCube(0,1,RGB(0x00, 0xff, 0x40))
CreateCube(1,1,RGB(0x00, 0xff, 0x40))
CreateCube(2,1,RGB(0x00, 0xff, 0x40))

Cam.z = 50

WHILE TRUE
KeyHitUpdate()
MOUSESTATE mx,my,b1,b2

X_MAKE3D .1, 1000, 45       // switch to 3D mode



mycam()


    X_SETTEXTURE 0,1
X_DRAWOBJ 0,0

X_MOVEMENT -10,0,-10
X_DRAWOBJ 1,0

X_MOVEMENT 10,0,10
X_DRAWOBJ 2,0

X_DRAWAXES 0,0, 0


//-------------------------
X_MAKE2D
PRINT "what does, if one...for 3D",10,10
mycamdata()

SHOWSCREEN

WEND










FUNCTION mycam:

X_CAMERA Cam.x, Cam.y, Cam.z, Cam.xx, Cam.yy, Cam.zz // set the 3D camera


ENDFUNCTION

FUNCTION mycamdata:

LOCAL i%
DRAWRECT 0,690,1024,78,RGB(0x62, 0x1e, 0x2c)
PRINT "X_CAMERA "  +Cam.x+","  + Cam.y+","+ Cam.z+","+ Cam.xx+","+ Cam.yy+","+ Cam.zz,10,710
PRINT "X_CAMERA Cam.x,Cam.y,Cam.z,Cam.xx,Cam.yy,Cam.zz",10,740

FOR i = 0 TO 5

DRAWSPRITE 99,800,500+30*i


NEXT

IF mx > 800 AND mx < 830 AND my > 500 AND my < 530 AND b1 THEN DEC Cam.x,0.1
IF mx > 830 AND mx < 860 AND my > 500 AND my < 530 AND b1 THEN INC Cam.x,0.1

IF mx > 800 AND mx < 830 AND my > 530 AND my < 560 AND b1 THEN DEC Cam.y,0.1
IF mx > 830 AND mx < 860 AND my > 530 AND my < 560 AND b1 THEN INC Cam.y,0.1

IF mx > 800 AND mx < 830 AND my > 560 AND my < 590 AND b1 THEN DEC Cam.z,0.1
IF mx > 830 AND mx < 860 AND my > 560 AND my < 590 AND b1 THEN INC Cam.z,0.1

IF mx > 800 AND mx < 830 AND my > 590 AND my < 620 AND b1 THEN DEC Cam.xx,0.1
IF mx > 830 AND mx < 860 AND my > 590 AND my < 620 AND b1 THEN INC Cam.xx,0.1

IF mx > 800 AND mx < 830 AND my > 620 AND my < 650 AND b1 THEN DEC Cam.yy,0.1
IF mx > 830 AND mx < 860 AND my > 620 AND my < 650 AND b1 THEN INC Cam.yy,0.1

IF mx > 800 AND mx < 830 AND my > 650 AND my < 680 AND b1 THEN DEC Cam.zz,0.1
IF mx > 830 AND mx < 860 AND my > 650 AND my < 680 AND b1 THEN INC Cam.zz,0.1


PRINT "Cam.x",870,500
PRINT "Cam.y",870,530
PRINT "Cam.z",870,560
PRINT "Cam.xx",870,590
PRINT "Cam.yy",870,620
PRINT "Cam.zz",870,650

ENDFUNCTION



TYPE Tvar
x#
y#
z#
xx#
zz#
yy#
phi#
angel#
r%
g%
b%

ENDTYPE


// ------------------------------------------------------------- //
// -=#  CREATECUBE  #=-
// ------------------------------------------------------------- //
FUNCTION CreateCube: num, sz, col
// Diese Variablen sind als LOCAL definiert:
// num, sz,
X_AUTONORMALS 1 // For a cube, hard edges
sz=sz/2
X_OBJSTART num
// Front Face
X_OBJADDVERTEX  sz, -sz,  sz, 1, 0, col
X_OBJADDVERTEX -sz, -sz,  sz, 0, 0, col
X_OBJADDVERTEX  sz,  sz,  sz, 1, 1, col
X_OBJADDVERTEX -sz,  sz,  sz, 0, 1, col
X_OBJNEWGROUP
// Back Face
X_OBJADDVERTEX -sz,  sz, -sz, 1, 1, col
X_OBJADDVERTEX -sz, -sz, -sz, 1, 0, col
X_OBJADDVERTEX  sz,  sz, -sz, 0, 1, col
X_OBJADDVERTEX  sz, -sz, -sz, 0, 0, col
X_OBJNEWGROUP
// Top Face
X_OBJADDVERTEX -sz,  sz,  sz, 0, 0, col
X_OBJADDVERTEX -sz,  sz, -sz, 0, 1, col
X_OBJADDVERTEX  sz,  sz,  sz, 1, 0, col
X_OBJADDVERTEX  sz,  sz, -sz, 1, 1, col
X_OBJNEWGROUP
// Bottom Face
X_OBJADDVERTEX  sz, -sz, -sz, 0, 1, col
X_OBJADDVERTEX -sz, -sz, -sz, 1, 1, col
X_OBJADDVERTEX  sz, -sz,  sz, 0, 0, col
X_OBJADDVERTEX -sz, -sz,  sz, 1, 0, col
X_OBJNEWGROUP
// Right face
X_OBJADDVERTEX  sz,  sz, -sz, 1, 1, col
X_OBJADDVERTEX  sz, -sz, -sz, 1, 0, col
X_OBJADDVERTEX  sz,  sz,  sz, 0, 1, col
X_OBJADDVERTEX  sz, -sz,  sz, 0, 0, col
X_OBJNEWGROUP
// Left Face
X_OBJADDVERTEX -sz, -sz,  sz, 1, 0, col
X_OBJADDVERTEX -sz, -sz, -sz, 0, 0, col
X_OBJADDVERTEX -sz,  sz,  sz, 1, 1, col
X_OBJADDVERTEX -sz,  sz, -sz, 0, 1, col
X_OBJNEWGROUP
X_OBJEND

ENDFUNCTION // sz


Danke schonmal recht viel und herzlich :)
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Kitty Hello

X_SETTEXTURE 0,1
sollte das nicht 0, -1 sein, wenn Du nur eine Textur hast?

D2O

Hmmm,

mit -1 gehts, aber es ist immer noch nicht farbig?
Wie mach ich das?

Hier noch ein zitat aus der Hilfe:
QuoteBenutzt eine Sprite-Grafik, das vorher mit LOADSPRITE geladen wurde, als aktuelle Textur f?r 3D-Objekte.
-1 gibt an, dass keine Textur verwendet werden soll.

Bin nun etwas verwirrt :S

Und die Textur steht kopf, was muss ich da beachten?
I7 2600K; 8 GB RAM ; Win10 Pro x64 | NVidia GTX 750 TI 2048MB ; Realtec OnBoard Sound;
Lenovo ThinkPad T400: XP Pro
GLB Premium-immer Aktuell

Schranz0r

Das kopfstehen kommt von der Cubefunktion.
Da hat Gernot die Texturcoordinaten vertauscht :)
I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard

Kitty Hello


Schranz0r

I <3 DGArray's :D

PC:
AMD Ryzen 7 3800X 16@4.5GHz, 16GB Corsair Vengeance LPX DDR4-3200 RAM, ASUS Dual GeForce RTX™ 3060 OC Edition 12GB GDDR6, Windows 11 Pro 64Bit, MSi Tomahawk B350 Mainboard