CAMERARANGE Kamera, Start#, Ende#


BeschreibungBlitz3D
Mit CAMERARANGE kann man die minimale und maximale Objektentfernung einstellen. Nur in diesem Bereich werden alle Objekte eingezeichnet. Sollte ein Objekt näher/weiter sein, so wird es geclippt (einzelne Dreiecke nicht eingezeichnet).

Mit dieser Einstellung kann man die 3D-Grafik wesentlich beschleunigen. Da dadurch nicht mehr alle Dreiecke gezeichnet werden. Mit dem Nebeleffekt kann ein plötzliches aufpoppen eines Objekts stark vermieden werden.
In der Zeichnung kann man gut erkennen, dass die Entfernung nicht im Radius betrachtet wird. Das bedeutet: An Seitenrändern erkennt man auch weiter liegende Objekte die in der Mitte nicht zu sehen sind! Beachte das bei deinen Programmen!


Parameter
Kamera=Identität einer Kamera
Start=Minimale Entfernung zum Objekt (Standard=1)
Ende=Maximale Entfernung zum Objekt (Standard=1000)


Rückgabewert
-


Beispiel
Hier werden viele Würfel erstellt und positioniert. Mit Pfeiltasten kann man die max. Kameraentfernung einstellen:

GRAPHICS3D 640,480,0,2
SETBUFFER BACKBUFFER()
camera=CREATECAMERA()
light=CREATELIGHT(1)
ROTATEENTITY light,90,0,0

DIM c(100)
FOR i=0 TO 100
   c(i)=CREATECUBE()
   POSITIONENTITY c(i),RND(-10,10),RND(-10,10),RND(10,100)
   ROTATEENTITY c(i),RND(360),RND(360),RND(360)
NEXT
range#=25

WHILE NOT KEYDOWN(1)
   IF KEYDOWN(200) AND range#<100 THEN range#=range#+.2
   IF KEYDOWN(208) AND range#>10 THEN range#=range#-.2
   FOR i=0 TO 100
      TURNENTITY c(i),1,1,1
   NEXT
   CAMERARANGE camera,1,range#
   RENDERWORLD
   TEXT 0,0,range
   FLIP
WEND
END


Siehe auch
CAMERAVIEWPORT, CAMERAZOOM