Hilfe
Parameter
kamera% | Identität einer Kamera |
start# | Minimale Entfernung zum Objekt (Standard=1) |
ende# | Maximale Entfernung zum Objekt (Standard=1000) |
Rückgabewert
-
Beschreibung
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!
Beispiel
Standardbeispiel:
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

