Fehler in X_Drawaxis oder X_Camera?

Previous topic - Next topic

Schranz0r

Wenn ich die Cam so einstelle:


Code (glbasic) Select
...
X_MAKE3D 1,1000,45
X_CAMERA 0,50,0,0,0,0

X_DRAWAXES 0,0,0
...


seh ich die Achse nicht!


Bei :

Code (glbasic) Select
...
X_MAKE3D 1,1000,45
X_CAMERA 0,50,0.01, 0,0,0

X_DRAWAXES 0,0,0
...


Seh ich sie.... wo ist der Fehler?
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

Der bekommt den Up-Vector nicht hin.
Dein XZ von Kamera und Lookat ist gleich.

Entweder: X_UPVECTOR 1,0,0 vorher machen, oder xz_cam <> xz_lookat machen.

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

Kitty Hello

GLBasic versucht den Upvector 0,1,0 zu machen. Aber: Wenn Du in Richtung 0,-1,0 schaust (also Richtung von Up-vector), dann kann das nicht gehen. Der Up muss 90° auf dem Lookat stehen.

Schranz0r

Und wie schaffen es manche eine 360° rundumsicht zu machen in OpenGL, in alle Richtungen...
Versteh ich jetzt net wirklich  :S

Bei mir gehts auch soweit, nur bei 0,0,0 gehen halt die "Lichter aus" :D
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

schau, ob der Winkel von Cam->lookat zu 0,1,0 > 5° ist. Wenn net, dann mach vorher ein X_CAMERAUP 1,0,0.

v1 = lookat - campos
v2 = 0,1,0
winkel = ACOS(  (v1.x*v2.x + v1.y*v2.y) / ( SQR( v1.x^2 + v1.y^2) * SQR( v2.x^2 + v2.y^2) )   )