Giter Site home page Giter Site logo

iglict / nerf-editing Goto Github PK

View Code? Open in Web Editor NEW
188.0 188.0 11.0 15.15 MB

[CVPR 2022] Code for "NeRF-Editing: Geometry Editing of Neural Radiance Fields"

License: GNU General Public License v3.0

CMake 6.66% C++ 74.00% Dockerfile 0.09% C 0.58% Python 18.67%

nerf-editing's People

Contributors

frozensilent avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

nerf-editing's Issues

GT Edited mesh

Hi, thanks for sharing the great work!

I'm curious how you extracted the GT edited meshes that are shown in your paper.

Using blender, I cant find a way to extract an edited mesh including color.
After some edits and using export, I can only export meshes NOT including any color (in gray).

Maybe I'm missing something.. but I can never find the way.

Thanks!

Dataset

Hi, thank you for your wonderful work.

May you please make public your blender files for synthetic scenes? I could only see links to nerf_synthetic data in this repo.

Thank you in advance.

Question about mesh editing tool

Hi,
Thanks for your efforts in this project. Can you recommend a tool for mesh editing that can generate edited data in the same format as in the readme (deformed_mesh.obj and mesh_seq) I have no idea how to generate the files in this format.
Thank you, looking forward to your reply.

How to train on our own dataset?

Hi,
My datasets consisted of the image, point cloud, and camera pose. How can I transfer my dataset to a trainable dataset?
My dataset is autonumous driving scene, such as kitti.

Compilation environment

Hello, author
I want to ask, what is your development environment? I tried to run your project with pycharm, but failed.
I see that your project references jitter and some of its C++packages, so I'm very confused about what development tools you use?

error when --mode circle render

hi, when i try to render images by

python exp_runner.py --mode circle

the error below comes out. how can i fix this?

Hello Wooden
use test render NeuS Renderer: sparse sampling ...
Load data: Begin
Use the nerf synthetic dataset
Load data: End
[exp_runner.py:90 -             __init__() ] Find checkpoint: ckpt_240000.pkl
[exp_runner.py:229 -      load_checkpoint() ] End
set render raids to 3.5 !
the max degree of vertices in tets is 56
finish constructing Cage hulls !
[load.py:222 -            load_mesh() ] loaded <trimesh.Trimesh(vertices.shape=(216282, 3), faces.shape=(432824, 3))> using load_obj
[constants.py:135 -                timed() ] load_mesh executed in 0.6642 seconds.
render the 0 / 40 image
Traceback (most recent call last):
  File "exp_runner.py", line 658, in <module>
    runner.render_circle_image(args.reconstructed_mesh_file, args.deformed_mesh_file,\
  File "exp_runner.py", line 555, in render_circle_image
    images.append(self.render_image(render_pose, use_deform, queryDelta, hull, deltas, mesh, c2w_staticcam))
  File "exp_runner.py", line 386, in render_image
    render_out = self.renderer.render(rays_o_batch,
  File "/data/jiyoonshin/NeRF-Editing/src/models/renderer.py", line 289, in render
    z_vals_feed = jt.concat([z_vals, z_vals_outside], dim=-1)
  File "/home/jiyoonshincml/anaconda3/envs/nerf_editing/lib/python3.8/site-packages/jittor/__init__.py", line 112, in inner
    ret = func(*args, **kw)
  File "/home/jiyoonshincml/anaconda3/envs/nerf_editing/lib/python3.8/site-packages/jittor/contrib.py", line 257, in concat
    total_dim += a.shape[dim]
RuntimeError: Wrong inputs arguments, Please refer to examples(help(jt.NanoVector.__map_getitem__)).

Types of your inputs are:
 self   = NanoVector,
 arg0   = int,

The function declarations are:
 inline int64 at(int i)
 inline NanoVector slice(Slice slice)

Failed reason:[f 0503 19:37:38.157693 76 nano_vector.h:116] Check failed: i>=0 && i<size()  Something wrong... Could you please report this issue?

thanks.

Build simple_mesh

Hi, @FrozenSilent .
Thank you for sharing your wonderful work.
Now I try to reproduce your results.

But, I encounter an error when I build simple_mesh.
Did you encounter the error?

I use cmake 3.24.1.

[ 50%] Building CXX object CMakeFiles/simple_mesh.dir/simple_mesh/simple_mesh.cpp.o
In file included from /usr/local/include/OpenVolumeMesh/Core/HandleIndexing.hh:4:0,
                 from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:42,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::FH; SubHandle = OpenVolumeMesh::HFH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:216:23:   required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:142:5: error: body of constexpr function 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::FH; SubHandle = OpenVolumeMesh::HFH]' not a return-statement
     }
     ^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::EH; SubHandle = OpenVolumeMesh::HEH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:220:23:   required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:142:5: error: body of constexpr function 'constexpr SubHandle OpenVolumeMesh::detail::SuperHandleT<Derived, SubHandle>::half(int) const [with Derived = OpenVolumeMesh::EH; SubHandle = OpenVolumeMesh::HEH]' not a return-statement
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:224:16:   required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:128:5: error: body of constexpr function 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]' not a return-statement
     }
     ^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:228:17:   required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:122:5: error: body of constexpr function 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HEH; SuperHandle = OpenVolumeMesh::EH]' not a return-statement
     }
     ^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:232:16:   required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:128:5: error: body of constexpr function 'constexpr Derived OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::opp() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]' not a return-statement
     }
     ^
/usr/local/include/OpenVolumeMesh/Core/Handles.hh: In instantiation of 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]':
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:236:17:   required from here
/usr/local/include/OpenVolumeMesh/Core/Handles.hh:122:5: error: body of constexpr function 'constexpr SuperHandle OpenVolumeMesh::detail::SubHandleT<Derived, SuperHandle>::full() const [with Derived = OpenVolumeMesh::HFH; SuperHandle = OpenVolumeMesh::FH]' not a return-statement
     }
     ^
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:49:0,
                 from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:26:66: error: 'entitytag_dispatch' function uses 'auto' type specifier without trailing return type
 inline auto entitytag_dispatch(EntityType type, F fun, Ts... args)
                                                                  ^
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:26:66: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:57:23: error: 'for_each' function uses 'auto' type specifier without trailing return type
     auto for_each(F &f) {
                       ^
/usr/local/include/OpenVolumeMesh/Core/EntityUtils.hh:57:23: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:51:0,
                 from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:49:19: error: 'begin' function uses 'auto' type specifier without trailing return type
     auto begin()  const { return tracked_.cbegin(); }
                   ^~~~~
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:49:19: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:50:19: error: 'end' function uses 'auto' type specifier without trailing return type
     auto end()    const { return tracked_.cend(); }
                   ^~~~~
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:50:19: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:68:24: error: 'for_each' function uses 'auto' type specifier without trailing return type
     auto for_each(F fun)
                        ^
/usr/local/include/OpenVolumeMesh/Core/detail/Tracking.hh:68:24: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:54:0,
                 from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/Properties/PropertyPtr.hh: In member function 'std::unique_ptr<OpenVolumeMesh::BasePropertyPtr> OpenVolumeMesh::PropertyStorageT<T>::make_property_ptr()':
/usr/local/include/OpenVolumeMesh/Core/Properties/PropertyPtr.hh:87:50: error: use of 'auto' in lambda parameter declaration only available with -std=c++14 or -std=gnu++14
     return entitytag_dispatch(entity_type(), [&](auto entity){
                                                  ^~~~
In file included from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45:0,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh: At global scope:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:89:10: error: 'optional' in namespace 'std' does not name a template type
     std::optional<PropertyPtr<T, EntityTag>> internal_find_property(const std::string& _name) const;
          ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:178:10: error: 'optional' in namespace 'std' does not name a template type
     std::optional<PropertyPtr<T, EntityTag>> create_property(const std::string& _name = std::string(), const T _def = T());
          ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:183:10: error: 'optional' in namespace 'std' does not name a template type
     std::optional<PropertyPtr<T, EntityTag>> create_shared_property(const std::string& _name, const T _def = T());
          ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:188:10: error: 'optional' in namespace 'std' does not name a template type
     std::optional<PropertyPtr<T, EntityTag>> create_persistent_property(const std::string& _name, const T _def = T());
          ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:198:10: error: 'optional' in namespace 'std' does not name a template type
     std::optional<PropertyPtr<T, EntityTag>> get_property(const std::string& _name);
          ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:203:10: error: 'optional' in namespace 'std' does not name a template type
     std::optional<const PropertyPtr<T, EntityTag>> get_property(const std::string& _name) const;
          ^~~~~~~~
In file included from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45:0,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:271:33: error: 'vertex_props_begin' function uses 'auto' type specifier without trailing return type
     auto vertex_props_begin()   const {return persistent_props_begin<Entity::Vertex>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:271:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:273:33: error: 'vertex_props_end' function uses 'auto' type specifier without trailing return type
     auto vertex_props_end()     const {return persistent_props_end  <Entity::Vertex>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:273:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:275:33: error: 'edge_props_begin' function uses 'auto' type specifier without trailing return type
     auto edge_props_begin()     const {return persistent_props_begin<Entity::Edge>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:275:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:277:33: error: 'edge_props_end' function uses 'auto' type specifier without trailing return type
     auto edge_props_end()       const {return persistent_props_end  <Entity::Edge>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:277:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:279:33: error: 'halfedge_props_begin' function uses 'auto' type specifier without trailing return type
     auto halfedge_props_begin() const {return persistent_props_begin<Entity::HalfEdge>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:279:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:281:33: error: 'halfedge_props_end' function uses 'auto' type specifier without trailing return type
     auto halfedge_props_end()   const {return persistent_props_end  <Entity::HalfEdge>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:281:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:283:33: error: 'face_props_begin' function uses 'auto' type specifier without trailing return type
     auto face_props_begin()     const {return persistent_props_begin<Entity::Face>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:283:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:285:33: error: 'face_props_end' function uses 'auto' type specifier without trailing return type
     auto face_props_end()       const {return persistent_props_end  <Entity::Face>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:285:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:287:33: error: 'halfface_props_begin' function uses 'auto' type specifier without trailing return type
     auto halfface_props_begin() const {return persistent_props_begin<Entity::HalfFace>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:287:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:289:33: error: 'halfface_props_end' function uses 'auto' type specifier without trailing return type
     auto halfface_props_end()   const {return persistent_props_end  <Entity::HalfFace>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:289:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:291:33: error: 'cell_props_begin' function uses 'auto' type specifier without trailing return type
     auto cell_props_begin()     const {return persistent_props_begin<Entity::Cell>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:291:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:293:33: error: 'cell_props_end' function uses 'auto' type specifier without trailing return type
     auto cell_props_end()       const {return persistent_props_end  <Entity::Cell>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:293:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:295:33: error: 'mesh_props_begin' function uses 'auto' type specifier without trailing return type
     auto mesh_props_begin()     const {return persistent_props_begin<Entity::Mesh>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:295:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:297:33: error: 'mesh_props_end' function uses 'auto' type specifier without trailing return type
     auto mesh_props_end()       const {return persistent_props_end  <Entity::Mesh>();}
                                 ^~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:297:33: note: deduced return type only available with -std=c++14 or -std=gnu++14
In file included from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45:0,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh: In member function 'bool OpenVolumeMesh::ResourceManager::property_exists(const string&) const':
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:16: error: 'internal_find_property' was not declared in this scope
         return internal_find_property<T, EntityTag>(_name).has_value();
                ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:16: note: suggested alternative: 'internal_create_property'
         return internal_find_property<T, EntityTag>(_name).has_value();
                ^~~~~~~~~~~~~~~~~~~~~~
                internal_create_property
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:40: error: expected primary-expression before ',' token
         return internal_find_property<T, EntityTag>(_name).has_value();
                                        ^
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:51: error: expected primary-expression before '>' token
         return internal_find_property<T, EntityTag>(_name).has_value();
                                                   ^
/usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:208:60: error: 'const string {aka const class std::__cxx11::basic_string<char>}' has no member named 'has_value'
         return internal_find_property<T, EntityTag>(_name).has_value();
                                                            ^~~~~~~~~
In file included from /usr/local/include/OpenVolumeMesh/Core/ResourceManager.hh:350:0,
                 from /usr/local/include/OpenVolumeMesh/Core/TopologyKernel.hh:45,
                 from /usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:41,
                 from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: At global scope:
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:128:6: error: 'optional' in namespace 'std' does not name a template type
 std::optional<PropertyPtr<T, EntityTag>>
      ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: In member function 'OpenVolumeMesh::PropertyPtr<T, EntityTag> OpenVolumeMesh::ResourceManager::request_property(const string&, T)':
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:166:17: error: 'internal_find_property' was not declared in this scope
     auto prop = internal_find_property<T, EntityTag>(_name);
                 ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:166:17: note: suggested alternative: 'internal_create_property'
     auto prop = internal_find_property<T, EntityTag>(_name);
                 ^~~~~~~~~~~~~~~~~~~~~~
                 internal_create_property
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:166:41: error: expected primary-expression before ',' token
     auto prop = internal_find_property<T, EntityTag>(_name);
                                         ^
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: At global scope:
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:174:6: error: 'optional' in namespace 'std' does not name a template type
 std::optional<PropertyPtr<T, EntityTag>>
      ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:186:6: error: 'optional' in namespace 'std' does not name a template type
 std::optional<PropertyPtr<T, EntityTag>>
      ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:202:6: error: 'optional' in namespace 'std' does not name a template type
 std::optional<PropertyPtr<T, EntityTag>>
      ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:209:6: error: 'optional' in namespace 'std' does not name a template type
 std::optional<const PropertyPtr<T, EntityTag>>
      ^~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh: In member function 'void OpenVolumeMesh::ResourceManager::set_shared(OpenVolumeMesh::PropertyPtr<T, EntityTag>&, bool)':
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:226:25: error: 'internal_find_property' was not declared in this scope
         auto existing = internal_find_property<T, EntityTag>(_prop.name());
                         ^~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:226:25: note: suggested alternative: 'internal_create_property'
         auto existing = internal_find_property<T, EntityTag>(_prop.name());
                         ^~~~~~~~~~~~~~~~~~~~~~
                         internal_create_property
/usr/local/include/OpenVolumeMesh/Core/ResourceManagerT_impl.hh:226:49: error: expected primary-expression before ',' token
         auto existing = internal_find_property<T, EntityTag>(_prop.name());
                                                 ^
In file included from /usr/local/include/OpenVolumeMesh/FileManager/FileManager.hh:182:0,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:14:
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh: In member function 'bool OpenVolumeMesh::IO::FileManager::readFile(const string&, MeshT&, bool, bool) const':
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:26: error: 'make_unique' is not a member of 'std'
     auto read_buf = std::make_unique<std::array<char, 0x10000>>();
                          ^~~~~~~~~~~
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:26: note: suggested alternative: '__unique'
     auto read_buf = std::make_unique<std::array<char, 0x10000>>();
                          ^~~~~~~~~~~
                          __unique
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:62: error: expected primary-expression before '>' token
     auto read_buf = std::make_unique<std::array<char, 0x10000>>();
                                                              ^~
/usr/local/include/OpenVolumeMesh/FileManager/FileManagerT_impl.hh:349:65: error: expected primary-expression before ')' token
     auto read_buf = std::make_unique<std::array<char, 0x10000>>();
                                                                 ^
In file included from /usr/local/include/OpenVolumeMesh/Mesh/PolyhedralMesh.hh:37:0,
                 from /tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:12:
/usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh: In instantiation of 'OpenVolumeMesh::GeometryKernelT<VecT> OpenVolumeMesh::GeometryKernel<VecT, TopologyKernelT>::make_prop() [with VecT = OpenVolumeMesh::Geometry::VectorT<float, 3>; TopologyKernelT = OpenVolumeMesh::TopologyKernel; OpenVolumeMesh::GeometryKernelT<VecT> = OpenVolumeMesh::PropertyPtr<OpenVolumeMesh::Geometry::VectorT<float, 3>, OpenVolumeMesh::Entity::Vertex>]':
/usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:62:30:   required from 'OpenVolumeMesh::GeometryKernel<VecT, TopologyKernelT>::GeometryKernel() [with VecT = OpenVolumeMesh::Geometry::VectorT<float, 3>; TopologyKernelT = OpenVolumeMesh::TopologyKernel]'
/tmp/NeRF-Editing/OpenVolumeMesh/simple_mesh/simple_mesh.cpp:67:23:   required from here
/usr/local/include/OpenVolumeMesh/Core/GeometryKernel.hh:217:36: error: 'class OpenVolumeMesh::GeometryKernel<OpenVolumeMesh::Geometry::VectorT<float, 3>, OpenVolumeMesh::TopologyKernel>' has no member named 'create_shared_property'; did you mean 'create_private_property'?
         auto prop = this->template create_shared_property<VecT, Entity::Vertex>("ovm:position", VecT(0));
                     ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                     create_private_property
CMakeFiles/simple_mesh.dir/build.make:75: recipe for target 'CMakeFiles/simple_mesh.dir/simple_mesh/simple_mesh.cpp.o' failed
make[2]: *** [CMakeFiles/simple_mesh.dir/simple_mesh/simple_mesh.cpp.o] Error 1
CMakeFiles/Makefile2:82: recipe for target 'CMakeFiles/simple_mesh.dir/all' failed
make[1]: *** [CMakeFiles/simple_mesh.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

I use the following command.

$ cd /tmp && \
    git clone --recursive https://www.graphics.rwth-aachen.de:9000/OpenVolumeMesh/OpenVolumeMesh.git && \
    cd /tmp/OpenVolumeMesh && \
    /opt/conda/bin/cmake . && make && make install

$ cd OpenVolumeMesh && /opt/conda/bin/cmake . && make

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.