Hello,
I work with a large scene from another program. And because we are talking about a space scene, the ratio of the sizes of objects sometimes differs by 5000 times. And if I try to reduce the size of the scene, some objects become too small. If I work with the original size of the scene, I get big problems in the viewport and on the render, the picture is distorted, particles disappear and much more. If I simply move the box by any of the coordinates by the number 1e7, part of the box disappears, the viewport starts shaking. I have attached screenshots. Perhaps these are limitations in the program itself, that you cannot move objects at such a distance.
Problems with scene size
290 3 1-
- SeriousAnimation
- Member
- 1 posts
- Joined: Sept. 2019
- Offline
-
- FedorK_FX
- Member
- 15 posts
- Joined: Jan. 2016
- Offline
-
- VortexVFX
- Member
- 58 posts
- Joined: Aug. 2014
- Offline
For anything remotely realistic-space-scale, you'll have to use 64-bit precision position data to avoid precision issues.
You can convert an object's P attribute to 64-bit using the Attribute Cast SOP.
It's possible that won't help with camera-jitter issues though, as I presume Houdini's camera handling is hardwired to 32-bit. Not sure about that.
(And those issues might follow you into rendering, etc... depending on if the renderer supports 64-bit precision or not)
You can convert an object's P attribute to 64-bit using the Attribute Cast SOP.
It's possible that won't help with camera-jitter issues though, as I presume Houdini's camera handling is hardwired to 32-bit. Not sure about that.
(And those issues might follow you into rendering, etc... depending on if the renderer supports 64-bit precision or not)
Edited by VortexVFX - Aug. 27, 2025 18:27:23
Dan Wood
Vortex VFX Ltd
Vortex VFX Ltd
-
- malexander
- Staff
- 5258 posts
- Joined: July 2005
- Offline
If you transform the parent object rather than the individual points, you'll get a better result. The object transform and the view transform are combined on the CPU in 64b, often cancelling out the large values, and sent to the GPU as a 32b transform. But if you transform P, the attribute is sent as 32b, and that's causing precision loss. GPUs do not like working in 64b -- they run almost 30x slower in some cases, so we do not support 64b math in our GLSL shaders.
-
- Quick Links