cnr-isti-vclab / nexus

Nexus is a c++/javascript library for creation and visualization of a batched multiresolution mesh
GNU General Public License v3.0
216 stars 87 forks source link

problem converting a big ply #65

Closed ua4192 closed 4 years ago

ua4192 commented 4 years ago

Hi.

When I try to convert a big ply file (500MB) I get this warning:

C:\Users\ua4192\DOCUME~1\Viewer3d\nginx-1.10.3\html\nexus-master\Nexus_4.2.2>nxsbuild.exe s15.ply  -o s15.nxs  -N -C -t 35535
Reading s15.ply
Components: mesh colors
Normals enabled
Colors enabled
Creating level 0
Creating level 1
Creating level 2
Stream: 3091161 Last top level size: 4343745
Larger top level, most probably to high parametrization fragmentation.
Unifying normals
Saving to file s15.nxs

It seems that the conversion process can not generate all levels.

Is there any workarround?

I have tried to alter the top triangles to maximum as can be seen above but the warning remains.

Best regards

ponchio commented 4 years ago

This is a warning, but 4million triangles in the top level defeats the purpose of multiresolution...

The reason for this is that simplification across the seams of the texture is not possible (it would require reparametrization and reprojection of the texture), if the parametrization of the texture is extremely fragmented (many small islands in the texture), there is no workaround.

This happens in a few photogrammetry 3d model generators...

For meshes so large I know of no workaround... (save for a tool we are working on here at vcg).

On Wed, Nov 27, 2019 at 10:16 AM Alex notifications@github.com wrote:

Hi.

When I try to convert a big ply file (500MB) I get this warning:

C:\Users\ua4192\DOCUME~1\Viewer3d\nginx-1.10.3\html\nexus-master\Nexus_4.2.2>nxsbuild.exe s15.ply -o s15.nxs -N -C -t 35535 Reading s15.ply Components: mesh colors Normals enabled Colors enabled Creating level 0 Creating level 1 Creating level 2 Stream: 3091161 Last top level size: 4343745 Larger top level, most probably to high parametrization fragmentation. Unifying normals Saving to file s15.nxs

It seems that the conversion process can not generate all levels.

Is there any workarround?

I have tried to alter the top triangles to maximum as can be seen above but the warning remains.

Best regards

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cnr-isti-vclab/nexus/issues/65?email_source=notifications&email_token=AAUDV2ZLUXUCWPVEFUG5D7LQVY3H7A5CNFSM4JSDXUUKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4H4LFXVQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAUDV23BOHH7Y2T6K5BO32TQVY3H7ANCNFSM4JSDXUUA .

ua4192 commented 4 years ago

Many thanks. I undedstand.

So if I want to load a really big scene and preserving quality, the only way is divide this scene is multiple smaller meshes and convert them into multiple nxz files.

I have a question. Looking into nexus_three.js I see that frustum culled feature is disabled. I guess that if I need to load multiple nxz files into my scene it would be better to enable it.

Is this possible?

Best regards and many thanks for your support

ponchio commented 4 years ago

For really fragmented meshes would not solve the problem... wouldn't hurt either. Actually if the scene is comprised of different objects it makes sense to spilt them in more manageable files. The nexus.js library manages the resolution globally among all the objects, so in the end the result should be very similar.

I don't remember why I disabled the frustum culling (silly me I didn't comment on it, probably had to do with the need to set the bounding box in advance), but is't not important: nexus provides frustum cullum by itself.

Ciao, Federico

On Sat, Nov 30, 2019 at 8:31 AM Alex notifications@github.com wrote:

Many thanks. I undedstand.

So if I want to load a really big scene and preserving quality, the only way is divide this scene is multiple smaller meshes and convert them into multiple nxz files.

I have a question. Looking into nexus_three.js I see that frustum culled feature is disabled. I guess that if I need to load multiple nxz files into my scene it would be better to enable it.

Is this possible?

Best regards and many thanks for your support

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/cnr-isti-vclab/nexus/issues/65?email_source=notifications&email_token=AAUDV25D55UWHMDOIYQ6JKDQWIJG5A5CNFSM4JSDXUUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEFP3LLA#issuecomment-559920556, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAUDV25JBKIWEUXK4G2T4P3QWIJG5ANCNFSM4JSDXUUA .