Problems with scene size

   290   3   1
User Avatar
Member
1 posts
Joined: Sept. 2019
Offline
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.

Attachments:
111.jpg (223.1 KB)
222.jpg (208.2 KB)

User Avatar
Member
15 posts
Joined: Jan. 2016
Offline
I don't have a quick solution, but you can try Uniform Scaling it by 0.0001 or until the scene becomes reasonable size. Working in real scale that far away from the origin is never a good idea.
User Avatar
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)
Edited by VortexVFX - Aug. 27, 2025 18:27:23
Dan Wood
Vortex VFX Ltd
User Avatar
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