I am a Ph.D. candidate at TUM, Germany. Research interests are 3D scene understanding and reconstruction.
- 🔭 I’m currently working on
- higher-level scene understanding
- a novel scene representation
License: BSD 2-Clause "Simplified" License
Hello, Thank you for your cool project. when I using the depth image of dataset instead of the rendered view, why its result is not so good. I just set the "renderer" to false on line 219 of the main.cc. So I want to consult What is the specific reason. Thank you very much.
Thanks for your work and time.
Just would like to have a quick confirmation on three R@k evaluation metrics (Object Class Prediction, Predicate Prediction, and Relationship Prediction) used in your work [1] and 3DSSG [2]. Are they aligned with the popular evaluation metrics used in ImgVRD (such as PredCls, PhrDet, SGCls, SGGen and etc)? Please see my thoughts below and your comments are warmly welcomed!!
More specifically,
Given detected objects (which is achieved by class-agnostic instance mask I suppose), we compute:
[1] SceneGraphFusion: Incremental 3D Scene Graph Prediction from RGB-D Sequences
[2] Learning 3D Semantic Scene Graphs from 3D Indoor Reconstructions
Hello, I am a student studying in South Korea.
The following things were installed. that --> { Prerequisites,OpenCV, Eigen,Assimp,With GUI: , BUILD ( cmake -DBUILD_GUI=ON ..) }
I contacted you because there was an error in the process of executing the code.
My environment is ubuntu 18.04.5.
When I set BUILD_GRAPHPERED=ON when I set up cmake, there was an error that the onnxruntime library could not be found, so I set up -DBUILD_GUI=ON and ran cmake.
Next, I performed.
Error :
(hobe) ailab@ailab:~/Desktop/hobe/SceneGraphFusion/bin$ ./exe_GraphSLAM --pth_in ../data/3RScan/4acaebcc-6c10-2a2a-858b-29c7e4fb410d/sequence/
I0910 14:59:18.666 main.cc:main:154] Buliding data loader...
detect data type: 3RScanterminate called after throwing an instance of 'std::runtime_error'
what(): unable to open _info file
Aborted (core dumped)
An error has occurred.
I'd appreciate it if you could help me.
Please contact [email protected] ....
Thank you
Bugs about invoke_result: build/include/eigen3/Eigen/src/Core/util/Meta.h:617:25: error: ‘invoke_result’ in namespace ‘std’ does not name a template type
This is a bug caused by not compiling with c++17. However, although the CMAKE_CXX_STANDARD flag is 17 in the CMakeList.txt, the bug still exists. The probable solution is to comment these lines in the head files, e.g., when compiling, change the code from
#if EIGEN_HAS_STD_INVOKE_RESULT
template<typename F, typename... ArgTypes>
struct invoke_result {
typedef typename std::invoke_result<F, ArgTypes...>::type type1;
typedef typename remove_all<type1>::type type;
};
#elif EIGEN_HAS_CXX11
template<typename F, typename... ArgTypes>
struct invoke_result {
typedef typename result_of<F(ArgTypes...)>::type type1;
typedef typename remove_all<type1>::type type;
};
#else
template<typename F, typename ArgType0 = void, typename ArgType1 = void, typename ArgType2 = void>
struct invoke_result {
typedef typename result_of<F(ArgType0, ArgType1, ArgType2)>::type type1;
typedef typename remove_all<type1>::type type;
};
to
/*#if EIGEN_HAS_STD_INVOKE_RESULT
template<typename F, typename... ArgTypes>
struct invoke_result {
typedef typename std::invoke_result<F, ArgTypes...>::type type1;
typedef typename remove_all<type1>::type type;
};*/
#if EIGEN_HAS_CXX11
template<typename F, typename... ArgTypes>
struct invoke_result {
typedef typename result_of<F(ArgTypes...)>::type type1;
typedef typename remove_all<type1>::type type;
};
#else
template<typename F, typename ArgType0 = void, typename ArgType1 = void, typename ArgType2 = void>
struct invoke_result {
typedef typename result_of<F(ArgType0, ArgType1, ArgType2)>::type type1;
typedef typename remove_all<type1>::type type;
};
You can do the same thing in other files when this bug emerges.
Bugs about io: SceneGraphFusion/libGraphSLAMGUI/../renderer/Scan3R_json_loader.h:9:18: error: ‘io’ in namespace ‘::’ does not name a type
Bugs about clamp: SceneGraphFusion/libGraphSLAMGUI/graphDrawer/graph_drawer.cpp:81:23: error: ‘clamp’ is not a member of ‘std’
This is also a bug caused by C++ standard. You can change the clamp function from:
float scale = std::clamp((5-std::sqrt(point.z()))/5.f,0.1f,1.f);
to
float scale = (5-std::sqrt(point.z()))/5.f;
if (scale < 0.1f)
{
scale = 0.1f;
}
else if (scale > 1.f)
{
scale = 1.f;
}
Bugs about atomoic: it emerges in the
SceneGraphFusion/libGraphSLAM/node.h
Line 52 in 4c632d1
SceneGraphFusion/libGraphSLAM/node.h
Line 61 in 4c632d1
It may be also caused by c++17 standard. You can change them to
std::atomic_int instance_idx = {0};
std::atomic_bool mbNeedUpdateNodeFeature = {false};
SceneGraphFusion/libGraphSLAM/node.cpp
Line 74 in 4c632d1
std::unique_lock<std::mutex> lock_node(mMutNode);
About eigen
Bugs about freetype2 (I guess it may be caused by HarfBuzz), the error may emerge as: SceneGraphFusion/build/external/FreeType2/src/autofit/afscript.h:35:11: error: ‘HB_SCRIPT_ADLAM’ undeclared here (not in a function)
and SceneGraphFusion/build/external/FreeType2/src/autofit/afscript.h:278:11: error: ‘HB_SCRIPT_OSAGE’ undeclared here (not in a function)
afstyle.h
.When running the executable file, you should put the 3RScan.json
and objects.json
(from 3DSSG) under the correct directory. E.g., if the --pth_in is scans/sequence_idxxxx/sequence/
, you should put these two files under scans/
It seems that the GUI does not support remote X forward, i.e., if you compile the project on a remote server and run it on the local computer, the error may emerge: Error: GLX: Forward compatibility requested but GLX_ARB_create_context_profile is unavailable
. Finally I compiled it on the local computer with an NVIDIA GPU.
Hello, it's a great work!
I want to know where is the output (i.e., nodes, edges, pointcloud after instance segmentation) of each pair of RGBD images?
I searched but don't get it.
Looking forward to your reply!
I'm trying to port SceneGraphFusion to Windows. It's compiling now, but I'm getting linking errors with the InSegLib.
LNK2019 unresolved external symbol "public: __cdecl inseg_lib::Map::~Map(void)" (??1Map@inseg_lib@@QEAA@XZ) referenced in function "public: __cdecl inseg_lib::InSegReconstruction::~InSegReconstruction(void)" (??1InSegReconstruction@inseg_lib@@QEAA@XZ)
LNK2019 unresolved external symbol "public: bool __cdecl inseg_lib::Map::SaveModel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int,class Eigen::Matrix<float,4,4,0,4,4>)const " (?SaveModel@Map@inseg_lib@@QEBA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@HV?$Matrix@M$03$03$0A@$03$03@Eigen@@@Z) referenced in function "public: void __cdecl PSLAM::GraphSLAM::SaveModel(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?SaveModel@GraphSLAM@PSLAM@@QEBAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
LNK2019 unresolved external symbol "class cv::Vec<unsigned char,3> const & __cdecl inseg_lib::CalculateLabelColor(short)" (?CalculateLabelColor@inseg_lib@@YAAEBV?$Vec@E$02@cv@@F@Z) referenced in function "public: void __cdecl PSLAM::GraphSLAM::SaveNodesToPLY(int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,enum PSLAM::GraphSLAM::SAVECOLORMODE,bool)" (?SaveNodesToPLY@GraphSLAM@PSLAM@@QEAAXHAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@W4SAVECOLORMODE@12@_N@Z)
LNK2001 unresolved external symbol "class cv::Vec<unsigned char,3> const & __cdecl inseg_lib::CalculateLabelColor(short)" (?CalculateLabelColor@inseg_lib@@YAAEBV?$Vec@E$02@cv@@F@Z)
LNK2019 unresolved external symbol "public: __cdecl inseg_lib::InSegLib::InSegLib(class std::shared_ptr<class inseg_lib::SegmentsInterface>,struct inseg_lib::InSegConfig &,struct inseg_lib::MainConfig &,struct inseg_lib::MapConfig &,struct inseg_lib::SegmentationConfig const &)" (??0InSegLib@inseg_lib@@QEAA@V?$shared_ptr@VSegmentsInterface@inseg_lib@@@std@@AEAUInSegConfig@1@AEAUMainConfig@1@AEAUMapConfig@1@AEBUSegmentationConfig@1@@Z) referenced in function "public: __cdecl std::_Ref_count_obj<class inseg_lib::InSegLib>::_Ref_count_obj<class inseg_lib::InSegLib><class std::shared_ptr<class PSLAM::Graph> &,struct inseg_lib::InSegConfig &,struct inseg_lib::MainConfig &,struct inseg_lib::MapConfig &,struct inseg_lib::SegmentationConfig &>(class std::shared_ptr<class PSLAM::Graph> &,struct inseg_lib::InSegConfig &,struct inseg_lib::MainConfig &,struct inseg_lib::MapConfig &,struct inseg_lib::SegmentationConfig &)" (??$?0AEAV?$shared_ptr@VGraph@PSLAM@@@std@@AEAUInSegConfig@inseg_lib@@AEAUMainConfig@3@AEAUMapConfig@3@AEAUSegmentationConfig@3@@?$_Ref_count_obj@VInSegLib@inseg_lib@@@std@@QEAA@AEAV?$shared_ptr@VGraph@PSLAM@@@1@AEAUInSegConfig@inseg_lib@@AEAUMainConfig@4@AEAUMapConfig@4@AEAUSegmentationConfig@4@@Z)
LNK2019 unresolved external symbol "public: int __cdecl inseg_lib::Surfel::GetLabel(void)const " (?GetLabel@Surfel@inseg_lib@@QEBAHXZ) referenced in function "public: int __cdecl PSLAM::Node::Add(class std::shared_ptr<class inseg_lib::Surfel> const &)" (?Add@Node@PSLAM@@QEAAHAEBV?$shared_ptr@VSurfel@inseg_lib@@@std@@@Z)
LNK2001 unresolved external symbol "public: int __cdecl inseg_lib::Surfel::GetLabel(void)const " (?GetLabel@Surfel@inseg_lib@@QEBAHXZ)
LNK2019 unresolved external symbol "public: void __cdecl inseg_lib::Surfel::SetLabel(int)" (?SetLabel@Surfel@inseg_lib@@QEAAXH@Z) referenced in function "public: virtual void __cdecl PSLAM::Graph::Merge(int,int)" (?Merge@Graph@PSLAM@@UEAAXHH@Z)
Since the repository only supplies linux and mac libraries, I downloaded the precompiled Windows libraries at the bottom here: http://campar.in.tum.de/Chair/ProjectInSeg, but I think there is a mismatch between the header files you used in your repository and the libraries provided on the tum webpage.
Could you provide the InSegLib source code that was used to compile the provided libraries, so I could compile a binary for Windows myself and have it match your header files?
fatal error: imgui.h: 没有那个文件或目录? Has anyone encountered this problem? thx
Hi!
I am following the data preparation pipeline in 3DSSG, to generate estimated segment map file inseg.ply
on 3RScan dataset.
When executing command
./bin/exe_GraphSLAM --pth_in ./data/3RScan/754e884c-ea24-2175-8b34-cead19d4198d/sequence --pth_out ./data/3RScan/754e884c-ea24-2175-8b34-cead19d4198d --save_name inseg.ply --rendered 0 --min_pyr_level 2 --depth_edge_threshold 0.98 --save 1 --save_graph 1 --save_graph_ply 0 --save_surfel_ply 1 --save_time 0 --binary 1
I got the segmentation fault (core dumped)
from method inseg_->ProcessFrame(depthImage, colorImage);
on line 74 in file ./libGraphSLAM/GraphSLAM.cpp
I tried to step into this method, but this function is linked from the pre-compiled static library ./lib/libInSegLib_linux.a. Source code seems not public.
After several tries, I found that the error disappeared after removing flag "--rendered 0".
I wonder if this option affects the final output file inseg.ply
. Besides, just curious, what could cause this error?
Thanks for your great work. I got some problems in installation. When I ran make
in the ./build
dir, it shows the missing header "imgui.h". Logs:
In file included from /home/xxx/3dssg/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/GUI3D.h:3:0,
from /home/xxx/3dssg/SceneGraphFusion/app/GraphSLAM/main.cc:19:
/home/xxx/3dssg/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/../libGUI/GUI.h:2:10: fatal error: imgui.h: 没有那个文件或目录
#include "imgui.h"
^~~~~~~~~
compilation terminated.
app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/build.make:75: recipe for target 'app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/main.cc.o' failed
make[2]: *** [app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/main.cc.o] Error 1
CMakeFiles/Makefile2:201: recipe for target 'app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/all' failed
make[1]: *** [app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
I've tried to solve this by manually linking imgui
from https://github.com/ocornut/imgui in CMakeLists.txt
and other errors occurred.
Did I miss something?
./exe_GraphSLAM --pth_in ../data/3RScan/754e884c-ea24-2175-8b34-cead19d4198d/sequence/
I0915 00:34:21.290 main.cc:main:155] Buliding data loader...
detect data type: 3RScanI0915 00:34:21.462 main.cc:main:175] Building framework...
I0915 00:34:21.469 main.cc:main:212] start processing frames...
V0915 00:34:21.472 main.cc:main:215] process frame: 1
V0915 00:34:21.476 main.cc:main:215] process frame: 2
Segmentation fault (core dumped)
Hello!
I successfully built exe_GraphSLAM, but when I try to run it with example sequence, I get the following error:
./exe_GraphSLAM --pth_in <3RScan_dir>/3RScan/data/3RScan/4acaebcc-6c10-2a2a-858b-29c7e4fb410d/sequence/
I0131 10:08:21.957 main.cc:main:154] Buliding data loader...
detect data type: 3RScanI0131 10:08:22.160 main.cc:main:166] Building renderer...
I0131 10:08:24.818 main.cc:main:174] Building framework...
I0131 10:08:24.818 main.cc:main:211] start processing frames...
V0131 10:08:24.822 main.cc:main:214] process frame: 1
terminate called after throwing an instance of 'cv::Exception'
what(): OpenCV(4.5.5-dev) <opencv_build_directory>/opencv/modules/imgproc/src/resize.cpp:4055: error: (-215:Assertion failed) inv_scale_x > 0 in function 'resize'
Aborted (core dumped)
Could you give me a cue what to look for and where, please? I assumed that different OpenCV version isn't a problem here, but maybe it is.
Hi @ShunChengWu
I want to transfer the global coordinate of the pose. In the Retrieve
function of the "dataloader_3rscan.cpp"
, I add a steady transformation to the loaded camera pose. However, I found the transformed segments map is still aligned with the original segments map. And the color of the surfels is significantly twisted.
In the example above, I transformed the pose to +0.5m in the height direction. And you can see many of the textures are fused into surfels that higher than they are supposed to be. It looks like the depth image and the rgb image are not integrated with the same camera pose. Is there any part about the pose transform is hardcoded?
I was doubting is it because the rendered depth map is not transformed. But it looks like the depth is rendered on the retrieved pose, which is also loaded from the "dataloader". So, the rendered depth should be consistent with the coordinate transformation.
Thanks!
Chuhao
Hello, a problem occurred while compiling the code:
/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/../libGUI/GUI.h:2:10: fatal error: imgui.h: 没有那个文件或目录
#include "imgui.h"
^~~~~~~~~
compilation terminated.
Would you be so kind to help me out what exactly is stored in these files and what they are used for?
First is a mesh where vertices are annotated with rgb, "objectID", "globalID", NYU40, Eigen13, RIO27.
Is this information necessarily required? As far as I understand the segmentation should happen only from the depth images & incrementally created global vertex map in accordance to [K. Tateno 2015].
Second file seems to also be a mesh, where is it needed?
Third file is semantic segmentation of point cloud clusters/objects? Is this file needed? As far as I understand graph NN takes (non-semantically) segmented input point cloud clusters and outputs a graph, so semantic segmentation shouldn't be necessary I believe.
Thanks in advance.
Hello,
Thank you very much for this work!
I wanted to use this package on a custom dataset. I don't plan to retrain the network but use the pre-trained network provided with the code. In the current structure, the package requires the data in the3RScan or ScanNet format with the segmented mesh of the environment. I wanted to ask what would be the best way to use the package without having the segmented mesh.
Best,
Mihir
Looking forward to releasing the graph prediction codes in this repo.
Hello! I'm going to apply the author's Scene Graph Fusion technology after collecting data in the AI2Thor environment. Currently, when I establish a relationship between two objects, I am working manually. Can you tell me how you collected the data?
Hi, thank you for your great work and I attempt to reproduce this project to see how scene graph is generated incrementally. But I have encountered lots of errors while compiling this project (in order to generate inseg.ply files). I followed README.md to prepare environment, and then run "cmake .." with no error. Then run "make", lots of errors appeared! In file glModel.hpp glShader.hpp glUtils.hpp Render.h Renderer3RScan.h RendererScanNet.h, there are many errors of no definition.
I guess something necessary was missed but I haven't found what is wrong. Could you please give me a cue to solve these errors?
Thanks for your time.
Errors:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::compileShader(const char*, const char*, const char*)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:158:22: error: ‘glCreateShader’ was not declared in this scope
vertex = glCreateShader(GL_VERTEX_SHADER);
^~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:158:22: note: suggested alternative: ‘compileShader’
vertex = glCreateShader(GL_VERTEX_SHADER);
^~~~~~~~~~~~~~
compileShader
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:159:13: error: ‘glShaderSource’ was not declared in this scope
glShaderSource(vertex, 1, &vShaderCode, NULL);
^~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:159:13: note: suggested alternative: ‘geShaderCode’
glShaderSource(vertex, 1, &vShaderCode, NULL);
^~~~~~~~~~~~~~
geShaderCode
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:160:13: error: ‘glCompileShader’ was not declared in this scope
glCompileShader(vertex);
^~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:160:13: note: suggested alternative: ‘compileShader’
glCompileShader(vertex);
^~~~~~~~~~~~~~~
compileShader
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:176:18: error: ‘glCreateProgram’ was not declared in this scope
ID = glCreateProgram();
^~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:176:18: note: suggested alternative: ‘glGetHistogram’
ID = glCreateProgram();
^~~~~~~~~~~~~~~
glGetHistogram
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:177:13: error: ‘glAttachShader’ was not declared in this scope
glAttachShader(ID, vertex);
^~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:181:13: error: ‘glLinkProgram’ was not declared in this scope
glLinkProgram(ID);
^~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:181:13: note: suggested alternative: ‘glHistogram’
glLinkProgram(ID);
^~~~~~~~~~~~~
glHistogram
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:184:13: error: ‘glDeleteShader’ was not declared in this scope
glDeleteShader(vertex);
^~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:184:13: note: suggested alternative: ‘glDeleteLists’
glDeleteShader(vertex);
^~~~~~~~~~~~~~
glDeleteLists
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::use()’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:194:13: error: ‘glUseProgram’ was not declared in this scope
glUseProgram(ID);
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:194:13: note: suggested alternative: ‘glHistogram’
glUseProgram(ID);
^~~~~~~~~~~~
glHistogram
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/GUI3D.h:4:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:19:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, T) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:202:30: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform1ui(glGetUniformLocation(ID, name.c_str()), value); // value: number of element if a vector type is given.
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:202:30: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:204:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:206:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform1f(glGetUniformLocation(ID, name.c_str()), value);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:208:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, T, T) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:217:30: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform2ui(glGetUniformLocation(ID, name.c_str()), value1, value2);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:219:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform2i(glGetUniformLocation(ID, name.c_str()), value1, value2);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:221:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform2f(glGetUniformLocation(ID, name.c_str()), value1, value2);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, T, T, T) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:232:30: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform3ui(glGetUniformLocation(ID, name.c_str()), value1, value2, value3);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:234:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform3i(glGetUniformLocation(ID, name.c_str()), value1, value2, value3);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:236:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform3f(glGetUniformLocation(ID, name.c_str()), value1, value2, value3);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, T, T, T, T) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:247:30: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform4ui(glGetUniformLocation(ID, name.c_str()), value1, value2, value3, value4);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:249:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform4i(glGetUniformLocation(ID, name.c_str()), value1, value2, value3, value4);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:251:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform4f(glGetUniformLocation(ID, name.c_str()), value1, value2, value3, value4);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, const Eigen::Matrix<Type, 4, 4>&, bool)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:261:32: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, mat.template cast().data());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, const Eigen::Transform<T, 3, 3>&, bool)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:267:32: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, affine.template cast().data());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, const Eigen::Matrix<Type, 3, 3>&, bool)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:273:32: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniformMatrix3fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, mat.template cast().data());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, const Eigen::Transform<T, 2, 2>&, bool)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:279:32: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniformMatrix3fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, affine.template cast().data());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, const Eigen::Matrix<Type, 3, 1>&, bool)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:286:30: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform3ui(glGetUniformLocation(ID, name.c_str()), (unsigned int) v.x(), (unsigned int) v.y(), (unsigned int) v.z());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:288:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform3i(glGetUniformLocation(ID, name.c_str()), (int) v.x(), (int) v.y(), (int) v.z());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:290:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform3f(glGetUniformLocation(ID, name.c_str()), (float) v.x(), (float) v.y(), (float) v.z());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, const Eigen::Matrix<Type, 4, 1>&, bool)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:301:30: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform4ui(glGetUniformLocation(ID, name.c_str()), (unsigned int) v.x(), (unsigned int) v.y(), (unsigned int) v.z(), (unsigned int) v.w());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:303:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform4i(glGetUniformLocation(ID, name.c_str()), (int) v.x(), (int) v.y(), (int) v.z(), (int) v.w());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:305:29: error: there are no arguments to ‘glGetUniformLocation’ that depend on a template parameter, so a declaration of ‘glGetUniformLocation’ must be available [-fpermissive]
glUniform4f(glGetUniformLocation(ID, name.c_str()), (float) v.x(), (float) v.y(), (float) v.z(), (float) v.w());
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::setTexture(const string&, int) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:334:25: error: ‘glGetUniformLocation’ was not declared in this scope
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:334:25: note: suggested alternative: ‘__errno_location’
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
^~~~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:334:13: error: ‘glUniform1i’ was not declared in this scope
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
^~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, glm::mat4) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:339:32: error: ‘glGetUniformLocation’ was not declared in this scope
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, glm::value_ptr(matrix));
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:339:32: note: suggested alternative: ‘__errno_location’
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, glm::value_ptr(matrix));
^~~~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:339:13: error: ‘glUniformMatrix4fv’ was not declared in this scope
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, glm::value_ptr(matrix));
^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:339:13: note: suggested alternative: ‘glLoadMatrixf’
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, glm::value_ptr(matrix));
^~~~~~~~~~~~~~~~~~
glLoadMatrixf
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, glm::vec3) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:344:26: error: ‘glGetUniformLocation’ was not declared in this scope
glUniform3fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:344:26: note: suggested alternative: ‘__errno_location’
glUniform3fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:344:13: error: ‘glUniform3fv’ was not declared in this scope
glUniform3fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:344:13: note: suggested alternative: ‘glColor3fv’
glUniform3fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~
glColor3fv
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::set(const string&, glm::vec4) const’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:349:26: error: ‘glGetUniformLocation’ was not declared in this scope
glUniform4fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:349:26: note: suggested alternative: ‘__errno_location’
glUniform4fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:349:13: error: ‘glUniform4fv’ was not declared in this scope
glUniform4fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:349:13: note: suggested alternative: ‘glColor4fv’
glUniform4fv(glGetUniformLocation(ID, name.c_str()), 1, glm::value_ptr(vec));
^~~~~~~~~~~~
glColor4fv
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In member function ‘void glUtil::Shader::checkCompileErrors(unsigned int, std::__cxx11::string)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:361:17: error: ‘glGetShaderiv’ was not declared in this scope
glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
^~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:361:17: note: suggested alternative: ‘glGetMapiv’
glGetShaderiv(shader, GL_COMPILE_STATUS, &success);
^~~~~~~~~~~~~
glGetMapiv
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:364:21: error: ‘glGetShaderInfoLog’ was not declared in this scope
glGetShaderInfoLog(shader, 1024, NULL, infoLog);
^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:364:21: note: suggested alternative: ‘glGetString’
glGetShaderInfoLog(shader, 1024, NULL, infoLog);
^~~~~~~~~~~~~~~~~~
glGetString
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:370:17: error: ‘glGetProgramiv’ was not declared in this scope
glGetProgramiv(shader, GL_LINK_STATUS, &success);
^~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:370:17: note: suggested alternative: ‘glGetHistogram’
glGetProgramiv(shader, GL_LINK_STATUS, &success);
^~~~~~~~~~~~~~
glGetHistogram
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:373:21: error: ‘glGetProgramInfoLog’ was not declared in this scope
glGetProgramInfoLog(shader, 1024, NULL, infoLog);
^~~~~~~~~~~~~~~~~~~
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/GUI3D.h:7:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:19:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp: In member function ‘virtual void glUtil::Mesh::Draw()’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:135:13: error: ‘glBindVertexArray’ was not declared in this scope
glBindVertexArray(VAO);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:135:13: note: suggested alternative: ‘glBindTexture’
glBindVertexArray(VAO);
^~~~~~~~~~~~~~~~~
glBindTexture
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp: In member function ‘void glUtil::Mesh::setupMesh()’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:188:13: error: ‘glGenVertexArrays’ was not declared in this scope
glGenVertexArrays(1, &VAO);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:188:13: note: suggested alternative: ‘glGenTextures’
glGenVertexArrays(1, &VAO);
^~~~~~~~~~~~~~~~~
glGenTextures
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:189:13: error: ‘glGenBuffers’ was not declared in this scope
glGenBuffers(1, &VBO);
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:189:13: note: suggested alternative: ‘glReadBuffer’
glGenBuffers(1, &VBO);
^~~~~~~~~~~~
glReadBuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:193:13: error: ‘glBindVertexArray’ was not declared in this scope
glBindVertexArray(VAO);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:193:13: note: suggested alternative: ‘glBindTexture’
glBindVertexArray(VAO);
^~~~~~~~~~~~~~~~~
glBindTexture
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:195:13: error: ‘glBindBuffer’ was not declared in this scope
glBindBuffer(GL_ARRAY_BUFFER, VBO);
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:195:13: note: suggested alternative: ‘glReadBuffer’
glBindBuffer(GL_ARRAY_BUFFER, VBO);
^~~~~~~~~~~~
glReadBuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:199:13: error: ‘glBufferData’ was not declared in this scope
glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(Vertex), &vertices[0], GL_STATIC_DRAW);
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:199:13: note: suggested alternative: ‘ImGuiKeyData’
glBufferData(GL_ARRAY_BUFFER, vertices.size() * sizeof(Vertex), &vertices[0], GL_STATIC_DRAW);
^~~~~~~~~~~~
ImGuiKeyData
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:208:13: error: ‘glEnableVertexAttribArray’ was not declared in this scope
glEnableVertexAttribArray(0);
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:209:13: error: ‘glVertexAttribPointer’ was not declared in this scope
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)0);
^~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:209:13: note: suggested alternative: ‘glVertexPointer’
glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, sizeof(Vertex), (void*)0);
^~~~~~~~~~~~~~~~~~~~~
glVertexPointer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp: In member function ‘void glUtil::Mesh::Reset()’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:230:13: error: ‘glDeleteVertexArrays’ was not declared in this scope
glDeleteVertexArrays(1, &VAO);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:230:13: note: suggested alternative: ‘glDeleteTextures’
glDeleteVertexArrays(1, &VAO);
^~~~~~~~~~~~~~~~~~~~
glDeleteTextures
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:231:13: error: ‘glDeleteBuffers’ was not declared in this scope
glDeleteBuffers(1, &VBO);
^~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:231:13: note: suggested alternative: ‘glSelectBuffer’
glDeleteBuffers(1, &VBO);
^~~~~~~~~~~~~~~
glSelectBuffer
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/GUI3D.h:8:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:19:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp: At global scope:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:72:46: error: ‘precision’ is not a member of ‘glm’
static inline glm::mat<m, n, float, glm::precision::highp> E2GLM(const Eigen::Matrix<T, m, n>& em)
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:72:62: error: template argument 4 is invalid
static inline glm::mat<m, n, float, glm::precision::highp> E2GLM(const Eigen::Matrix<T, m, n>& em)
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp: In function ‘int glUtil::E2GLM(const Eigen::Matrix<T, m, n>&)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:74:36: error: ‘precision’ is not a member of ‘glm’
glm::mat<m, n, float, glm::precision::highp> mat;
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:74:52: error: template argument 4 is invalid
glm::mat<m, n, float, glm::precision::highp> mat;
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:79:22: error: invalid types ‘int[int]’ for array subscript
mat[j][i] = em(i, j);
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp: At global scope:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:82: error: ‘precision’ is not a member of ‘glm’
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:98: error: template argument 4 is invalid
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:82: error: ‘precision’ is not a member of ‘glm’
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:98: error: template argument 4 is invalid
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:82: error: ‘precision’ is not a member of ‘glm’
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:98: error: template argument 4 is invalid
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:82: error: ‘precision’ is not a member of ‘glm’
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:98: error: template argument 4 is invalid
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:55: error: invalid template-id
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:82: error: ‘precision’ is not a member of ‘glm’
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:49: error: expected primary-expression before ‘const’
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:86:106: error: expected ‘;’ before ‘{’ token
static inline Eigen::Matrix<T, m, n> GLM2E(const glm::mat<m, n, float, glm::precision::highp> &mat) {
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:99:43: error: ‘precision’ is not a member of ‘glm’
static inline glm::vec<m, float, glm::precision::highp> E2GLM(const Eigen::Matrix<T, m, 1>& em)
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:99:59: error: template argument 3 is invalid
static inline glm::vec<m, float, glm::precision::highp> E2GLM(const Eigen::Matrix<T, m, 1>& em)
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp: In function ‘int glUtil::E2GLM(const Eigen::Matrix<Type, Size, 1>&)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:101:33: error: ‘precision’ is not a member of ‘glm’
glm::vec<m, float, glm::precision::highp> v;
^~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:101:49: error: template argument 3 is invalid
glm::vec<m, float, glm::precision::highp> v;
^
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glUtils.hpp:104:16: error: invalid types ‘int[int]’ for array subscript
v[i] = em(i);
^
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/GUI3D.h:11:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:19:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h: In constructor ‘glUtil::GLImageRenderer::GLImageRenderer(unsigned char*, int, int)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:22:13: error: ‘glGenVertexArrays’ was not declared in this scope
glGenVertexArrays(1, &quadVAO);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:22:13: note: suggested alternative: ‘glGenTextures’
glGenVertexArrays(1, &quadVAO);
^~~~~~~~~~~~~~~~~
glGenTextures
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:23:13: error: ‘glGenBuffers’ was not declared in this scope
glGenBuffers(1, &quadVBO);
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:23:13: note: suggested alternative: ‘glReadBuffer’
glGenBuffers(1, &quadVBO);
^~~~~~~~~~~~
glReadBuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:24:13: error: ‘glBindVertexArray’ was not declared in this scope
glBindVertexArray(quadVAO);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:24:13: note: suggested alternative: ‘glBindTexture’
glBindVertexArray(quadVAO);
^~~~~~~~~~~~~~~~~
glBindTexture
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:25:13: error: ‘glBindBuffer’ was not declared in this scope
glBindBuffer(GL_ARRAY_BUFFER, quadVBO);
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:25:13: note: suggested alternative: ‘glReadBuffer’
glBindBuffer(GL_ARRAY_BUFFER, quadVBO);
^~~~~~~~~~~~
glReadBuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:26:13: error: ‘glBufferData’ was not declared in this scope
glBufferData(GL_ARRAY_BUFFER, sizeof(quadVertices), &quadVertices, GL_STATIC_DRAW);
^~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:26:13: note: suggested alternative: ‘ImGuiKeyData’
glBufferData(GL_ARRAY_BUFFER, sizeof(quadVertices), &quadVertices, GL_STATIC_DRAW);
^~~~~~~~~~~~
ImGuiKeyData
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:27:13: error: ‘glEnableVertexAttribArray’ was not declared in this scope
glEnableVertexAttribArray(0);
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:28:13: error: ‘glVertexAttribPointer’ was not declared in this scope
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), (void ) 0);
^~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:28:13: note: suggested alternative: ‘glVertexPointer’
glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), (void ) 0);
^~~~~~~~~~~~~~~~~~~~~
glVertexPointer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h: In destructor ‘glUtil::GLImageRenderer::~GLImageRenderer()’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:46:13: error: ‘glDeleteVertexArrays’ was not declared in this scope
glDeleteVertexArrays(1, &VAO);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:46:13: note: suggested alternative: ‘glDeleteTextures’
glDeleteVertexArrays(1, &VAO);
^~~~~~~~~~~~~~~~~~~~
glDeleteTextures
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:47:13: error: ‘glDeleteBuffers’ was not declared in this scope
glDeleteBuffers(1, &VBO);
^~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:47:13: note: suggested alternative: ‘glSelectBuffer’
glDeleteBuffers(1, &VBO);
^~~~~~~~~~~~~~~
glSelectBuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h: In member function ‘void glUtil::GLImageRenderer::draw(glUtil::Shader)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:60:13: error: ‘glBindVertexArray’ was not declared in this scope
glBindVertexArray(VAO);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glImageRenderer.h:60:13: note: suggested alternative: ‘glBindTexture’
glBindVertexArray(VAO);
^~~~~~~~~~~~~~~~~
glBindTexture
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererFactory.h:7:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:20:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h: In destructor ‘virtual PSLAM::MeshRendererInterface::~MeshRendererInterface()’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:19:13: error: ‘glDeleteFramebuffers’ was not declared in this scope
glDeleteFramebuffers(1,&framebuffer);
^~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:19:13: note: suggested alternative: ‘glfwGetFramebufferSize’
glDeleteFramebuffers(1,&framebuffer);
^~~~~~~~~~~~~~~~~~~~
glfwGetFramebufferSize
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:20:13: error: ‘glDeleteRenderbuffers’ was not declared in this scope
glDeleteRenderbuffers(1, &rbo);
^~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:20:13: note: suggested alternative: ‘glDeleteTextures’
glDeleteRenderbuffers(1, &rbo);
^~~~~~~~~~~~~~~~~~~~~
glDeleteTextures
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h: In member function ‘void PSLAM::MeshRendererInterface::InitGL()’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:35:13: error: ‘glGenFramebuffers’ was not declared in this scope
glGenFramebuffers(1, &framebuffer);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:35:13: note: suggested alternative: ‘framebuffer’
glGenFramebuffers(1, &framebuffer);
^~~~~~~~~~~~~~~~~
framebuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:36:13: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:36:13: note: suggested alternative: ‘framebuffer’
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
^~~~~~~~~~~~~~~~~
framebuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:43:13: error: ‘glFramebufferTexture2D’ was not declared in this scope
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureColorbuffer, 0);
^~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:43:13: note: suggested alternative: ‘glPrioritizeTextures’
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, textureColorbuffer, 0);
^~~~~~~~~~~~~~~~~~~~~~
glPrioritizeTextures
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:46:13: error: ‘glGenRenderbuffers’ was not declared in this scope
glGenRenderbuffers(1, &rbo);
^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:46:13: note: suggested alternative: ‘glReadBuffer’
glGenRenderbuffers(1, &rbo);
^~~~~~~~~~~~~~~~~~
glReadBuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:47:13: error: ‘glBindRenderbuffer’ was not declared in this scope
glBindRenderbuffer(GL_RENDERBUFFER, rbo);
^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:47:13: note: suggested alternative: ‘glReadBuffer’
glBindRenderbuffer(GL_RENDERBUFFER, rbo);
^~~~~~~~~~~~~~~~~~
glReadBuffer
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:48:13: error: ‘glRenderbufferStorage’ was not declared in this scope
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT32F, m_width, m_height); // use a single renderbuffer object for both a depth AND stencil buffer.
^~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:48:13: note: suggested alternative: ‘GL_ARB_buffer_storage’
glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT32F, m_width, m_height); // use a single renderbuffer object for both a depth AND stencil buffer.
^~~~~~~~~~~~~~~~~~~~~
GL_ARB_buffer_storage
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererFactory.h:7:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:20:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:49:13: error: ‘glFramebufferRenderbuffer’ was not declared in this scope
glFramebufferRenderbuffer(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_RENDERBUFFER, rbo); // now actually attach it
^~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:51:16: error: ‘glCheckFramebufferStatus’ was not declared in this scope
if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
^~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer.h:51:16: note: suggested alternative: ‘glfwGetFramebufferSize’
if(glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE)
^~~~~~~~~~~~~~~~~~~~~~~~
glfwGetFramebufferSize
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer3RScan.h:8:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererFactory.h:9,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:20:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/../libGUI3D/libGUI3D/glModel.hpp: In member function ‘unsigned int glUtil::Model::TextureFromFile(const char, const string&, bool)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/../libGUI3D/libGUI3D/glModel.hpp:555:17: error: ‘glGenerateMipmap’ was not declared in this scope
glGenerateMipmap(GL_TEXTURE_2D);
^~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/../libGUI3D/libGUI3D/glModel.hpp:555:17: note: suggested alternative: ‘glGetMinmax’
glGenerateMipmap(GL_TEXTURE_2D);
^~~~~~~~~~~~~~~~
glGetMinmax
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererFactory.h:9:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:20:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer3RScan.h: In member function ‘virtual void PSLAM::MeshRenderer3RScan::Render(const Matrix4f&, const Matrix4f&, float, float)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer3RScan.h:34:13: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer3RScan.h:34:13: note: suggested alternative: ‘framebuffer’
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
^~~~~~~~~~~~~~~~~
framebuffer
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererFactory.h:10:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:20:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererScanNet.h: In member function ‘virtual void PSLAM::MeshRendererScanNet::Render(const Matrix4f&, const Matrix4f&, float, float)’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererScanNet.h:29:13: error: ‘glBindFramebuffer’ was not declared in this scope
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
^~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/RendererScanNet.h:29:13: note: suggested alternative: ‘framebuffer’
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
^~~~~~~~~~~~~~~~~
framebuffer
In file included from /home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/GUI3D.h:4:0,
from /home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/main.cc:19:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In instantiation of ‘void glUtil::Shader::set(const string&, T) const [with T = int; std::__cxx11::string = std::__cxx11::basic_string]’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glMesh.hpp:130:65: required from here
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:202:50: error: ‘glGetUniformLocation’ was not declared in this scope
glUniform1ui(glGetUniformLocation(ID, name.c_str()), value); // value: number of element if a vector type is given.
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:202:50: note: suggested alternative: ‘__errno_location’
glUniform1ui(glGetUniformLocation(ID, name.c_str()), value); // value: number of element if a vector type is given.
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:202:29: error: ‘glUniform1ui’ was not declared in this scope
glUniform1ui(glGetUniformLocation(ID, name.c_str()), value); // value: number of element if a vector type is given.
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:202:29: note: suggested alternative: ‘glColor4ui’
glUniform1ui(glGetUniformLocation(ID, name.c_str()), value); // value: number of element if a vector type is given.
~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glColor4ui
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:204:49: error: ‘glGetUniformLocation’ was not declared in this scope
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:204:49: note: suggested alternative: ‘__errno_location’
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:204:28: error: ‘glUniform1i’ was not declared in this scope
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:206:49: error: ‘glGetUniformLocation’ was not declared in this scope
glUniform1f(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:206:49: note: suggested alternative: ‘__errno_location’
glUniform1f(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:206:28: error: ‘glUniform1f’ was not declared in this scope
glUniform1f(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:208:49: error: ‘glGetUniformLocation’ was not declared in this scope
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:208:49: note: suggested alternative: ‘__errno_location’
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:208:28: error: ‘glUniform1i’ was not declared in this scope
glUniform1i(glGetUniformLocation(ID, name.c_str()), value);
~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp: In instantiation of ‘void glUtil::Shader::set(const string&, const Eigen::Matrix<Type, 4, 4>&, bool) [with T = float; std::__cxx11::string = std::__cxx11::basic_string]’:
/home/flj/3DSceneGraphFusion/SceneGraphFusion/app/GraphSLAM/../../renderer/Renderer3RScan.h:37:43: required from here
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:261:52: error: ‘glGetUniformLocation’ was not declared in this scope
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, mat.template cast().data());
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:261:52: note: suggested alternative: ‘__errno_location’
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, mat.template cast().data());
~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
__errno_location
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:261:31: error: ‘glUniformMatrix4fv’ was not declared in this scope
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, mat.template cast().data());
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/flj/3DSceneGraphFusion/SceneGraphFusion/libGraphSLAM/../lib/../libGUI3D/libGUI3D/glShader.hpp:261:31: note: suggested alternative: ‘glLoadMatrixf’
glUniformMatrix4fv(glGetUniformLocation(ID, name.c_str()), 1, GL_FALSE, mat.template cast().data());
~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
glLoadMatrixf
app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/build.make:75: recipe for target 'app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/main.cc.o' failed
make[2]: *** [app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/main.cc.o] Error 1
CMakeFiles/Makefile2:228: recipe for target 'app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/all' failed
make[1]: *** [app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2
Hi @ShunChengWu,
Thanks a lot for providing this awesome code base. It runs really nicely without a lot of effort.
However, I have one question regarding evaluating results. I'd like to run the same evaluation (Panoptic Segmentation) as you show in Table 5 and 6 in the paper. What code part do I need to run if I want to do this on a very specific set of scenes? Ideally, I'd like to output it in the ScanNet format for both semantic and instance segmentation. I.e. having a semantic label for each label of the ground-truth mesh and a vertex mask for each predicted instance.
Thank you very much!
Hi, thank you for your great work and kind help! I have already reproduced the SceneGraphFusion project. I have a question, how to evaluate the result with GT? Could you please share the eval method and code? If it's OK, could you please send it to [email protected]?
Thanks so much!
Hello,
Can you tell me briefly what changes to the code are required to run on a custom image sequence?
void GraphSLAM::ProcessFrame(int idx, const cv::Mat &colorImage, const cv::Mat &depthImage,const Eigen::Matrix4f *pose) {
// if(pose){ // 此处pose给inseg,否则没有pose,inseg结果较差? hy
// pose_ = *pose;
// inseg_->set_pose(pose_);
// }
mTimeStamp = idx;
CTICK("[SLAM][ProcessFrame]1.ProcessFrame");
......
作者您好,对于您的代码有部分问题想要请教。
关于语义分割的实现部分仅提供了接口部分,实现封装在libInSegLib_linux.a。
对于RGB-D数据流,通过SLAM可以获得单帧位姿,通过语义分割可以获得单帧的分割结果。
如果要处理RGB-D数据流,现有代码在部分实现不清楚的情况下,能否实现这个功能,主要是需要修改那部分内容?
I encountered a compilation error when trying to build the GraphSLAM component of the SceneGraphFusion project. The error indicates a mismatch in the arguments passed to the Renderer constructor. Below are the details:
Environment:
OS: Ubuntu 20.04
Compiler: GCC 11
Project: SceneGraphFusion
File Path: SceneGraphFusion/app/GraphSLAM/main.cc
OpenCV Version: 4.x
Issue:
In the file SceneGraphFusion/app/GraphSLAM/main.cc
, at line 167, an attempt is made to call the Renderer constructor, resulting in the following error:
/usr/include/c++/11/bits/unique_ptr.h:962:30: error: no matching function for call to ‘Renderer::Renderer(short unsigned int&, short unsigned int&, std::__cxx11::basic_string<char>&, bool)’
but it was found that the Renderer constructor only accepts 3 parameters:
Renderer(int width, int height, const std::string &path)
However, in main.cc, the constructor is invoked with 4 parameters:
std::make_unique<Renderer>(width, height, path, some_boolean)
Compilation Output:
[ 33%] Built target libDataLoader
[ 83%] Built target libGraphSLAM
[ 91%] Building CXX object app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/main.cc.o
...
/usr/include/c++/11/bits/unique_ptr.h:962:30: error: no matching function for call to ‘Renderer::Renderer(short unsigned int&, short unsigned int&, std::__cxx11::basic_string<char>&, bool)’
...
make[2]: *** [app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/build.make:76: app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/main.cc.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:202: app/GraphSLAM/CMakeFiles/exe_GraphSLAM.dir/all] Error 2
make: *** [Makefile:91: all] Error 2
How should I do to complete the compilation?
i want to know the detail about the "inseg_lib"?
thanks~
The dataset url's in prepare_example_data.sh are not valid. This script is probably outdated.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.