Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added CropBox #10

Open
wants to merge 40 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
3e69ea9
added CropBox
JanQuenzel Jun 23, 2021
8703b6d
More functionality for the cvMat in python
RaduAlexandru Jun 23, 2021
1725985
Added convenience conversion from hsv to rgb
Jun 24, 2021
b11366d
Added way to copy model matrix from the gui and save it to clipboard …
RaduAlexandru Jun 24, 2021
209ad36
Minor
Jul 5, 2021
5ab5d4e
Added loading of VTI and VNI
Jul 5, 2021
4da12ba
Added also a bitangent
Jul 6, 2021
7d460c5
Added functions to concatenate a bunch of meshes together
Jul 6, 2021
5ffd84d
If there is only one vertex, scale is set to 1
Jul 8, 2021
cd2fee8
When the points of the mesh are too close, it might mean that all are…
Jul 8, 2021
8fff6e3
Updated utils
Jul 14, 2021
f4b2edd
More extra field templates
Jul 14, 2021
9bcb0e3
Removing duplicate vertices also redirects F and E correctly
Jul 19, 2021
f986b66
Better cmake
Jul 21, 2021
b73dcf0
added color scheme, broader per vertex prediction (S_pred) and ifdef …
JanQuenzel Jun 23, 2021
d552a75
added some selection mechanism
JanQuenzel Jun 23, 2021
bd5fbfb
minor, and deactivating PCL
JanQuenzel Jun 23, 2021
7e46b96
added march=native
JanQuenzel Aug 9, 2021
5e94d74
added CropBox
JanQuenzel Jun 23, 2021
34da940
added color scheme, broader per vertex prediction (S_pred) and ifdef …
JanQuenzel Jun 23, 2021
2b590e4
added some selection mechanism
JanQuenzel Jun 23, 2021
b416ef9
minor, and deactivating PCL
JanQuenzel Jun 23, 2021
75472d5
added march=native
JanQuenzel Aug 9, 2021
d812e53
Merge branch 'master' of github.com:JanQuenzel/easy_pbr
JanQuenzel Aug 9, 2021
d52eeb4
Merged branch 'master' of https://github.com/RaduAlexandru/easy_pbr i…
JanQuenzel Sep 18, 2021
dddd346
Merge branch 'RaduAlexandru-master'
JanQuenzel Sep 18, 2021
f61d29e
updated to newer easy_pbr version
JanQuenzel Sep 18, 2021
2075aa4
moved some pcl stuff, added check on mesh size before showing trajectory
JanQuenzel Sep 19, 2021
434717f
updated dependency
JanQuenzel Sep 19, 2021
ca7dde4
added flag to copy mesh vis when overriding mesh
JanQuenzel Oct 10, 2021
1676b65
updated...
JanQuenzel Jun 9, 2022
86efa44
update...
JanQuenzel Sep 11, 2022
6df7f83
added ortho camera mode.
JanQuenzel Sep 12, 2022
71848fa
removed shared
JanQuenzel Jan 2, 2023
a8cd91b
added ortho in compose fragment shader and loading intensity from ply.
JanQuenzel Jan 2, 2023
304b591
unified include for loguru and configuru.
JanQuenzel Feb 20, 2023
03b230e
updated with selfbuilt Eigen3 dependency.
JanQuenzel Jul 14, 2023
1f3aa1a
fixed bug in Scene where the lock_guard was inside an if statement fo…
JanQuenzel Mar 1, 2024
4c21b20
added ortho camera loading / storing
JanQuenzel May 23, 2024
d475bdd
added T for points time in mesh.
JanQuenzel Jun 3, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
*.so
*.egg-info
build/

5 changes: 4 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
url = [email protected]:syoyo/tinyobjloader
[submodule "deps/utils"]
path = deps/utils
url = [email protected]:RaduAlexandru/utils.git
url = [email protected]:JanQuenzel/utils.git
[submodule "deps/easy_gl"]
path = deps/easy_gl
url = [email protected]:RaduAlexandru/EasyGL.git
Expand All @@ -46,3 +46,6 @@
[submodule "deps/easy_pytorch"]
path = deps/easy_pytorch
url = [email protected]:RaduAlexandru/EasyPytorch.git
[submodule "deps/implot"]
path = deps/implot
url = https://github.com/epezent/implot.git
83 changes: 65 additions & 18 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ project(easypbr)
### VARIABLES ##############################################################
set(CMAKE_BUILD_TYPE RelWithDebInfo)
set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -O3 -Wno-reorder") #we need c++17 because this solves alignment issues with eigen http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1409
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -Wall -O2 -Wno-reorder " ) # -fsanitize=address -fstack-protector -static-libasan") # -march=native -fsanitize=address -fstack-protector-all -static-libasan") #we need c++17 because this solves alignment issues with eigen http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1409
set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
set(CMAKE_CXX_STANDARD 17) #we need c++17 because this solves alignment issues with eigen http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1409
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
Expand All @@ -21,7 +22,8 @@ set(CMAKE_CXX_EXTENSIONS OFF)
# option(CORE_WITH_CUDA "Compile CUDA" OFF)
# option(CORE_WITH_GLM "With GLM for some quality of life functions in EasyGL" OFF)
# option(CORE_WITH_DIR_WATCHER "Compile with the dir_watcher dependency from emildb" OFF)

option(EASYPBR_WITH_PCL "Compile with PCL" OFF)
option(EASYPBR_WITH_PYBIND "Compile with Pybind" OFF)


# libigl
Expand Down Expand Up @@ -51,16 +53,43 @@ option(LIBIGL_WITH_XML "Use XML" OFF)

###### PACKAGES ############################################################
find_package(GLFW REQUIRED)
# find_package(Boost REQUIRED COMPONENTS system thread filesystem)
find_package(Eigen3 3.3 REQUIRED NO_MODULE)
find_package(Boost REQUIRED COMPONENTS system thread filesystem)
#find_package(Eigen3 3.3 REQUIRED NO_MODULE)

# clang-specific compile flags
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
#set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-exceptions -fcolor-diagnostics -frelaxed-template-template-args -Wno-error=deprecated-declarations")
if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL 10)
# These are disabled to avoid lot's of warnings in Eigen code with clang 10
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-misleading-indentation")
endif()
endif()

if(NOT EIGEN_ROOT)
set(EIGEN_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/deps/eigen")
endif()

set(EIGEN_INCLUDE_DIR_HINTS ${EIGEN_ROOT})
find_package(Eigen3 3.4.90 EXACT REQUIRED MODULE)
message(STATUS "Found Eigen headers in: ${EIGEN3_INCLUDE_DIR}")
if(NOT EIGEN3_INCLUDE_DIR MATCHES "^${EIGEN_ROOT}")
message(WARNING "Found Eigen headers are outside of specified EIGEN_ROOT '${EIGEN_ROOT}'")
endif()



find_package(OpenCV REQUIRED COMPONENTS core imgproc highgui imgcodecs )
find_package(LIBIGL REQUIRED)
find_package(PCL 1.3 REQUIRED)
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
if(EASYPBR_WITH_PCL)
find_package(PCL 1.3 REQUIRED)
link_directories(${PCL_LIBRARY_DIRS})
add_definitions(${PCL_DEFINITIONS})
endif()
find_package(kqueue)
add_definitions(-DIMGUI_IMPL_OPENGL_LOADER_GLAD ) #Imgui will use glad loader
add_subdirectory(${PROJECT_SOURCE_DIR}/deps/pybind11)
if(EASYPBR_WITH_PYBIND)
add_subdirectory(${PROJECT_SOURCE_DIR}/deps/pybind11)
endif()
#try to compile with pytorch if you can
set(PYTORCH_PATH "/opt/pytorch")
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ";${PYTORCH_PATH};")
Expand All @@ -84,7 +113,11 @@ set(MY_SRC
${PROJECT_SOURCE_DIR}/src/LabelMngr.cxx
${PROJECT_SOURCE_DIR}/src/Frame.cxx
)
file(GLOB IMGUI_SRC ${PROJECT_SOURCE_DIR}/deps/imgui/*.c* ${PROJECT_SOURCE_DIR}/deps/imgui/examples/imgui_impl_glfw.cpp ${PROJECT_SOURCE_DIR}/deps/imgui/examples/imgui_impl_opengl3.cpp ${PROJECT_SOURCE_DIR}/deps/imguizmo/ImGuizmo.cpp
file(GLOB IMGUI_SRC
${PROJECT_SOURCE_DIR}/deps/imgui/*.c*
${PROJECT_SOURCE_DIR}/deps/imgui/backends/imgui_impl_glfw.cpp
${PROJECT_SOURCE_DIR}/deps/imgui/backends/imgui_impl_opengl3.cpp
${PROJECT_SOURCE_DIR}/deps/imguizmo/ImGuizmo.cpp
)
#tinyply because libigl readPLY has a memory leak
set(DEPS_SRC ${DEPS_SRC} ${PROJECT_SOURCE_DIR}/deps/tiny_ply/source/tinyply.cpp)
Expand All @@ -97,7 +130,7 @@ endif()


### MAIN LIB ####################
add_library( easypbr_cpp SHARED ${MY_SRC} extern/glad/glad.c ${DEPS_SRC} ${IMGUI_SRC} )
add_library( easypbr_cpp ${MY_SRC} extern/glad/glad.c ${DEPS_SRC} ${IMGUI_SRC} )


### INCLUDES #########################################################
Expand All @@ -116,19 +149,24 @@ set(PROJECT_INCLUDE_DIR ${PROJECT_SOURCE_DIR}/include
${PROJECT_SOURCE_DIR}/deps/better_enums
${PROJECT_SOURCE_DIR}/deps/imguizmo
${PROJECT_SOURCE_DIR}/deps/concurrent_queue
${PROJECT_SOURCE_DIR}/deps/pybind11/include
${PROJECT_SOURCE_DIR}/deps/tiny_ply/source
${PROJECT_SOURCE_DIR}/deps/tiny_obj
${PROJECT_SOURCE_DIR}/deps/utils/include
${PROJECT_SOURCE_DIR}/deps/nanoflann/include
) # Header folder
if(EASYPBR_WITH_PYBIND)
set(PROJECT_INCLUDE_DIR ${PROJECT_INCLUDE_DIR} ${PROJECT_SOURCE_DIR}/deps/pybind11/include )
endif()

target_include_directories(easypbr_cpp PUBLIC ${PROJECT_INCLUDE_DIR} )
target_include_directories(easypbr_cpp PUBLIC ${GLFW_INCLUDE_DIR})
# include_directories(${Boost_INCLUDE_DIR})
include_directories(${Boost_INCLUDE_DIR})
target_include_directories(easypbr_cpp PUBLIC ${EIGEN3_INCLUDE_DIR})
target_include_directories(easypbr_cpp PUBLIC ${OpenCV_INCLUDE_DIRS})
target_include_directories(easypbr_cpp PUBLIC ${LIBIGL_INCLUDE_DIR})
target_include_directories(easypbr_cpp PUBLIC ${PCL_INCLUDE_DIRS})
if (EASYPBR_WITH_PCL)
target_include_directories(easypbr_cpp PUBLIC ${PCL_INCLUDE_DIRS})
endif()
target_include_directories(easypbr_cpp PUBLIC ${TORCH_INCLUDE_DIRS})
if(${KQUEUE_FOUND})
target_include_directories(easypbr_cpp PUBLIC ${KQUEUE_INCLUDE_DIRS})
Expand All @@ -141,8 +179,9 @@ endif()


##pybind
pybind11_add_module(easypbr ${PROJECT_SOURCE_DIR}/src/PyBridge.cxx )

if(EASYPBR_WITH_PYBIND)
pybind11_add_module(easypbr ${PROJECT_SOURCE_DIR}/src/PyBridge.cxx )
endif()

### EXECUTABLE #######################################
add_executable(run_easypbr ${PROJECT_SOURCE_DIR}/src/main.cxx )
Expand All @@ -162,6 +201,9 @@ if(${KQUEUE_FOUND})
else()
message("NOT USING DIR_WATCHER")
endif()
if (EASYPBR_WITH_PCL)
target_compile_definitions(easypbr_cpp PUBLIC EASYPBR_WITH_PCL)
endif()

#definitions for cmake variables that are necesarry during runtime
target_compile_definitions(easypbr_cpp PUBLIC EASYPBR_DATA_DIR="${PROJECT_SOURCE_DIR}/data")
Expand Down Expand Up @@ -193,10 +235,15 @@ if(${TORCH_FOUND})
set(LIBS ${LIBS} ${TORCH_PYTHON_LIBRARY} )
endif()
endif()
# set(LIBS ${LIBS} Eigen3::Eigen ${Boost_LIBRARIES} igl::core ${GLFW_LIBRARIES} ${OpenCV_LIBS} ${PCL_LIBRARIES} )
set(LIBS ${LIBS} Eigen3::Eigen igl::core ${GLFW_LIBRARIES} ${OpenCV_LIBS} ${PCL_LIBRARIES} )
set(LIBS ${LIBS} ${Boost_LIBRARIES} )
set(LIBS ${LIBS} Eigen3::Eigen igl::core ${GLFW_LIBRARIES} ${OpenCV_LIBS} )
if (EASYPBR_WITH_PCL)
set(LIBS ${LIBS} ${PCL_LIBRARIES} )
endif()


target_link_libraries(easypbr_cpp PUBLIC ${LIBS} )
target_link_libraries(easypbr PRIVATE easypbr_cpp)
if(EASYPBR_WITH_PYBIND)
target_link_libraries(easypbr PRIVATE easypbr_cpp)
endif()
target_link_libraries(run_easypbr PRIVATE easypbr_cpp )
10 changes: 6 additions & 4 deletions cmake/FindEigen3.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@
# Copyright (c) 2009 Benoit Jacob <[email protected]>
# Redistribution and use is allowed according to the terms of the 2-clause BSD license.

# Adaptations (c) Nikolaus Demmel 2019
# - pass NO_DEFAULT_PATH --> only works when passing exact HINTS


if(NOT Eigen3_FIND_VERSION)
if(NOT Eigen3_FIND_VERSION_MAJOR)
set(Eigen3_FIND_VERSION_MAJOR 2)
Expand Down Expand Up @@ -62,10 +66,8 @@ if (EIGEN3_INCLUDE_DIR)
else (EIGEN3_INCLUDE_DIR)

find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
PATHS
${CMAKE_INSTALL_PREFIX}/include
${KDE4_INCLUDE_DIR}
PATH_SUFFIXES eigen3 eigen
HINTS ${EIGEN_INCLUDE_DIR_HINTS}
NO_DEFAULT_PATH
)

if(EIGEN3_INCLUDE_DIR)
Expand Down
2 changes: 1 addition & 1 deletion deps/easy_gl
Submodule easy_gl updated 3 files
+0 −5 Buf.h
+0 −3 Shader.h
+7 −16 Texture2D.h
2 changes: 1 addition & 1 deletion deps/imgui
Submodule imgui updated 222 files
1 change: 1 addition & 0 deletions deps/implot
Submodule implot added at 49db52
2 changes: 1 addition & 1 deletion deps/pybind11
Submodule pybind11 updated 230 files
2 changes: 1 addition & 1 deletion deps/utils
3 changes: 2 additions & 1 deletion extern/imgui_ext/ImGuiUtils.h
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,8 @@ namespace ImGui
void CalcHistogramSize( int numShown_ )
{
ImVec2 wRegion = ImGui::GetContentRegionMax();
float heightGone = 7.0f * ImGui::GetItemsLineHeightWithSpacing();
//float heightGone = 7.0f * ImGui::GetItemsLineHeightWithSpacing();
float heightGone = 7.0f * ImGui::GetFrameHeightWithSpacing();
wRegion.y -= heightGone;
wRegion.y /= (float) numShown_;
const ImGuiStyle& style = ImGui::GetStyle();
Expand Down
4 changes: 3 additions & 1 deletion include/easy_pbr/Camera.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,11 +95,13 @@ class Camera : public Generic::EnableSharedFromThis< Camera >
float m_fov; //fov in the x direction
float m_near;
float m_far;
double m_ortho_scale = 1;
bool m_is_initialized; //the camera start in a somewhat default position. Initializing it means putting the camera in position in which you see the scene. This can be done with from_string or can be done by the viewer automatically when the first update is done. If you used from_string then the viewer doesnt need to do anything
bool m_position_initialized; //signales if the position was initialized already by the user(true) or is not initialized to anything meaningful and should be set automatically
bool m_lookat_initialized; //signales if the lookat was initialized already by the user(true) or is not initialized to anything meaningful and should be set automatically
bool m_use_fixed_proj_matrix;
Eigen::Matrix4f m_fixed_proj_matrix;
bool m_use_ortho_projection;

Trajectory m_traj;
std::shared_ptr<Camera> clone();
Expand All @@ -120,9 +122,9 @@ class Camera : public Generic::EnableSharedFromThis< Camera >
bool m_prev_mouse_pos_valid;
std::shared_ptr<radu::utils::RandGenerator> m_rand_gen;


void recalculate_orientation();
Eigen::Matrix4f compute_projection_matrix(const float fov_x, const float aspect, const float znear, const float zfar);
Eigen::Matrix4f compute_ortho_projection_matrix(const float left, const float right, const float bottom, const float top, const float znear, const float zfar);
Eigen::Quaternionf two_axis_rotation(const Eigen::Vector2f viewport_size, const float speed, const Eigen::Vector2f prev_mouse, const Eigen::Vector2f current_mouse);
};

Expand Down
15 changes: 11 additions & 4 deletions include/easy_pbr/Gui.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
// #include <glad/glad.h> // Initialize with gladLoadGL()
// Include glfw3.h after our OpenGL definitions
// #include <GLFW/glfw3.h>

#include "loguru_fwd_dec.h"
// //imgui
#include <imgui.h> //is needed to be included here because imguizmo needs it
// #include "imgui_impl_glfw.h"
Expand All @@ -23,8 +23,8 @@
#include "Texture2D.h"


class GLFWwindow;
class ImGuiContext;
struct GLFWwindow;
struct ImGuiContext;

namespace easy_pbr{

Expand Down Expand Up @@ -114,6 +114,13 @@ class Gui{
int m_traj_view_updates = 0;
std::shared_ptr<Camera> m_preview_camera;

std::vector<Eigen::Vector2d> m_selection_points;
ImGuizmo::MODE m_selection_guizmo_mode = ImGuizmo::LOCAL;
ImGuizmo::OPERATION m_selection_guizmo_operation = ImGuizmo::TRANSLATE;
bool m_selection_should_draw = false;
bool m_selection_edit = false;
int m_selected_selection_idx = 0;

void init_params(const std::string config_file);
void init_style();
void edit_transform(const std::shared_ptr<Mesh>& mesh);
Expand All @@ -127,7 +134,7 @@ class Gui{
void draw_profiler();
void draw_drag_drop_text();
void draw_trajectory(const std::string & trajectory_mesh_name, const std::string & frustum_mesh_name);

void edit_selection( const int & selection_idx );
};

} //namespace easy_pbr
4 changes: 3 additions & 1 deletion include/easy_pbr/LabelMngr.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,9 @@
#include <unordered_map>
#include <memory>

#include <configuru.hpp>
//#include <configuru.hpp>
#include "loguru_fwd_dec.h"
#include "configuru_fwd_dec.h"

//OpenCV
#include <opencv2/highgui/highgui.hpp>
Expand Down
8 changes: 6 additions & 2 deletions include/easy_pbr/Mesh.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
//better enums
#include <enum.h>

#include <loguru.hpp>
#include "loguru_fwd_dec.h"


namespace radu { namespace utils {
Expand All @@ -24,7 +24,7 @@ namespace radu { namespace utils {
namespace easy_pbr{

BETTER_ENUM(MeshColorType, int, Solid = 0, PerVertColor, Texture, SemanticPred, SemanticGT, NormalVector, Height, Intensity, UV, NormalViewCoords )

BETTER_ENUM(ColorSchemeType, int, Plasma = 0, Viridis, Magma )

class MeshGL; //we forward declare this so we can have from here a pointer to the gpu stuff
class LabelMngr;
Expand Down Expand Up @@ -56,6 +56,7 @@ struct VisOptions{
float m_line_width=1.0; //specified the width of of both line rendering and the wireframe rendering
float m_normals_scale=-1.0; //the scale of the arrows for the normal. It starts at -1.0 but it gets set during the first render to something depending on the mesh scale
MeshColorType m_color_type=MeshColorType::Solid;
ColorSchemeType m_color_scheme = ColorSchemeType::Plasma;
// Eigen::Vector3f m_point_color = Eigen::Vector3f(1.0, 215.0/255.0, 85.0/255.0);
Eigen::Vector3f m_point_color = Eigen::Vector3f(245.0/255.0, 175.0/255.0, 110.0/255.0);
Eigen::Vector3f m_line_color = Eigen::Vector3f(1.0, 0.0, 0.0); //used for lines and wireframes
Expand Down Expand Up @@ -252,6 +253,7 @@ class Mesh : public std::enable_shared_from_this<Mesh>{ //enable_shared_from is
void preallocate_L_pred(size_t max_nr_verts);
void preallocate_L_gt(size_t max_nr_verts);
void preallocate_I(size_t max_nr_verts);
void preallocate_T(size_t max_nr_verts);



Expand Down Expand Up @@ -363,9 +365,11 @@ class Mesh : public std::enable_shared_from_this<Mesh>{ //enable_shared_from is
Eigen::MatrixXd V_tangent_u; //for surfel rendering each vertex has a 2 vectors that are tangent defining the span of the elipsoid. For memory usage we don't store the 2 vectors directly because we alreayd have a normal vector, rather we store one tangent vector in full (vec3) and the other one we store only the norm of it because it's dirrection can be inferred as the cross product between the normal and the first tangent vector
Eigen::MatrixXd V_length_v;
Eigen::MatrixXd V_bitangent_v;
Eigen::MatrixXd S_pred; //predicted likelihood for each class per point, useful for semantic segmentation
Eigen::MatrixXi L_pred; //predicted labels for each point, useful for semantic segmentation
Eigen::MatrixXi L_gt; //ground truth labels for each point, useful for semantic segmentation
Eigen::MatrixXd I; //intensity value of each point in the cloud. Useful for laser scanner
Eigen::MatrixXi T; //time value of each point since start of the cloud. Useful for laser scanner
Eigen::MatrixXi VTI; //Vertex texture coordinate indices which is the coordinate that the vertices has towards the UV. check https://en.wikipedia.org/wiki/Wavefront_.obj_file
Eigen::MatrixXi VNI; //Vertex normal indices which is the coordinate that the vertices has towards the NV. check https://en.wikipedia.org/wiki/Wavefront_.obj_file
DataBlob<double> V_blob;
Expand Down
8 changes: 1 addition & 7 deletions include/easy_pbr/MeshGL.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,7 @@
#include <memory>
#include<stdarg.h>



//loguru
#define LOGURU_WITH_STREAMS 1
#define LOGURU_REPLACE_GLOG 1
#include <loguru.hpp>

#include "loguru_fwd_dec.h"

#include "Buf.h"
#include "Texture2D.h"
Expand Down
1 change: 1 addition & 0 deletions include/easy_pbr/Recorder.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
#include <thread>
#include <memory>
#include <unordered_map>
#include "loguru_fwd_dec.h"
#include "GBuffer.h"

#include "concurrentqueue.h"
Expand Down
2 changes: 1 addition & 1 deletion include/easy_pbr/Scene.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ class Scene{

public:
Scene();
static void show(const std::shared_ptr<Mesh> mesh, const std::string name); //adds to the scene and overwrites if it has the same name
static void show(const std::shared_ptr<Mesh> mesh, const std::string name, const bool overwrite_vis = false ); //adds to the scene and overwrites if it has the same name
static void hide_all();
static void show_all();
// static void show(const Mesh& mesh, const std::string name); //convenience function. adds to the scene and overwrites if it has the same name
Expand Down
Loading