Importing photogrammetry meshes and camera positions into Rhino for composited visualisations

Hi everyone,

I’m currently exploring how photogrammetry can speed up architectural visualisations in Rhino.

Using Meshroom i’ve been creating simple textured 3D meshes, while also mapping camera positions from the series of photographs that help create the mesh.

What I’d like to do is import meshes and cameras and scale them correctly in Rhino, compositing rhino models into a specific photo, or rendering with the scanned mesh.

Obj mesh importing works fine (though the scale is incorrect), but i haven’t managed to get the camera data into Rhino. Meshroom exports camera data into the alembic format, which Rhino doesn’t recognise

Does anyone have experience working with photogrammetry and compositing and can maybe point to a workflow that can help?

1 Like

Similar question from me.

How can one import the mesh (.obj) with its texture (.exr, .mtl)?

Hi Ivelin -

If the .mtl file is in the same folder as the .obj file that is being imported, Rhino will automatically find that.

Hi @wim ,

I assumed so but it doesn’t, I change the viewport’s mode to Render and I still see only the mesh.

In that case, we’ll need your SystemInfo and the files.

how do I get that?

Here’s a video of the importing.

I use Metashape for photogrammetry. Three files with the same name and different file types are put in the destination folder after exporting a mesh model from Metashape as an .obj file with the texture in a .jpg file:

To import hull.obj into Rhino as a textured mesh:
Import command and select the .obj file.
This panel appears and I click OK:

The textured mesh is now an object in Rhino.

1 Like

Type _SystemInfo and copy paste the result in a post using the hide details option.


This text is hidden

1 Like
SystemInfo Rhino 7 SR34 2023-9-24 (Rhino 7, 7.34.23267.11001, Git hash:master @ a37d83041828484840f2448d5b3e3770e46694f9) License type: Commercial, build 2023-09-24 License details: Cloud Zoo

Windows 10 (10.0.19045 SR0.0) or greater (Physical RAM: 16Gb)

Computer platform: DESKTOP

Standard graphics configuration.
Primary display and OpenGL: NVIDIA GeForce GTX 1060 6GB (NVidia) Memory: 6GB, Driver date: 6-8-2023 (M-D-Y). OpenGL Ver: 4.6.0 NVIDIA 536.23
> Accelerated graphics device with 4 adapter port(s)
- Secondary monitor attached to adapter port #0
- Windows Main Display attached to adapter port #1

Secondary graphics devices.
Intel(R) HD Graphics 4600 (Intel) Memory: 1GB, Driver date: 9-29-2016 (M-D-Y).
> Integrated graphics device with 3 adapter port(s)
- There are no monitors attached to this device!

OpenGL Settings
Safe mode: Off
Use accelerated hardware modes: On
Redraw scene when viewports are exposed: On
Graphics level being used: OpenGL 4.6 (primary GPU’s maximum)

Anti-alias mode: 4x
Mip Map Filtering: Linear
Anisotropic Filtering Mode: High

Vendor Name: NVIDIA Corporation
Render version: 4.6
Shading Language: 4.60 NVIDIA
Driver Date: 6-8-2023
Driver Version:
Maximum Texture size: 32768 x 32768
Z-Buffer depth: 24 bits
Maximum Viewport size: 32768 x 32768
Total Video Memory: 6 GB

Rhino plugins that do not ship with Rhino

Rhino plugins that ship with Rhino
C:\Program Files\Rhino 7\Plug-ins\Commands.rhp “Commands” 7.34.23267.11001
C:\Program Files\Rhino 7\Plug-ins\rdk.rhp “Renderer Development Kit”
C:\Program Files\Rhino 7\Plug-ins\RhinoRenderCycles.rhp “Rhino Render” 7.34.23267.11001
C:\Program Files\Rhino 7\Plug-ins\RhinoRender.rhp “Legacy Rhino Render”
C:\Program Files\Rhino 7\Plug-ins\rdk_etoui.rhp “RDK_EtoUI” 7.34.23267.11001
C:\Program Files\Rhino 7\Plug-ins\rdk_ui.rhp “Renderer Development Kit UI”
C:\Program Files\Rhino 7\Plug-ins\NamedSnapshots.rhp “Snapshots”
C:\Program Files\Rhino 7\Plug-ins\RhinoCycles.rhp “RhinoCycles” 7.34.23267.11001
C:\Program Files\Rhino 7\Plug-ins\Grasshopper\GrasshopperPlugin.rhp “Grasshopper” 7.34.23267.11001
C:\Program Files\Rhino 7\Plug-ins\Toolbars\Toolbars.rhp “Toolbars” 7.34.23267.11001
C:\Program Files\Rhino 7\Plug-ins\Displacement.rhp “Displacement”

texturedMesh.7z (7.2 MB)

texture_1001.7z (18.8 MB)

1 Like

Hi @ivelin.peychev
For some reason (that hopefully will be explained by someone with more knowledge then me) R7 reads the EXR-file as an environment HDRi instead of as a texture. If you convert the EXR to 16-bit bitmap (jpg, tiff etc.) it works. For what it’s worth, the WIP imports it correctly. I guess R7 just doens’t see EXR-files as potential textures.

HTH, Jakob

1 Like

Thank you Jacob,

I converted the EXR to 16-bit image (png in this case). (using the code from this post: convert EXR to JPEG using ImageIO and Python - Stack Overflow)

then imported again. and replaced the Texture in the material in Rhino.

It’s now there, a bit dark but at least it’s there.