2017-02-13 1 views
0

Ich erschaffe eine Galaxie mit Three.js und ich versuche alles in realistischem Maßstab zu setzen. Daher können Werte für Position und Größe sehr groß werden.WebGL/Three.js Grenzen der Werte

Also die Werte, mit denen ich handle, liegen im Bereich von 0 bis ~ 1 * 10^20. Allerdings bemerkte ich, dass Werte> ~ 1 * 10^6 und < ~ 1 * 10^-5 Probleme verursachen, zum Beispiel visibility, Raycasting und andere Sachen.

Also gibt es eine Grenze, wie groß oder klein Werte sein können? Oder sind Probleme mit etwas anderem verbunden und können durch einen Trick vermieden werden.

+0

Kann vielleicht [math.js] (http://mathjs.org/) helfen? –

Antwort

2

sicher sein, wegen der großen Werte in diesem example

zu suchen, sollten Sie eine logarithmische Tiefenpuffer verwenden.

, wenn der Renderer mit

var renderer = new THREE.WebGLRenderer({logarithmicDepthBuffer: true }); 

Ihre Geige sollte Initialisierung perfekt funktionieren

i über Raycastings weiß nicht, aber es sollte keine Probleme verursachen. vor allem, wenn Sie es über die gpu tun, wie das Ergebnis sollte gleich sein, das gerenderte Bild

+0

Eigentlich habe ich dieses Beispiel vor langer Zeit gesehen, aber ich habe nicht mehr darüber nachgedacht. Vielen Dank, das wird eine Menge Probleme lösen! –

Verwandte Themen