mirror of
https://github.com/OpenSpace/OpenSpace.git
synced 2026-01-06 19:50:03 -06:00
Merging bugfixes with linux
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
bin/
|
||||
build/
|
||||
ext/SGCT
|
||||
ext/SGCT
|
||||
.DS_Store
|
||||
@@ -46,31 +46,17 @@ endif ()
|
||||
# Ghoul
|
||||
add_definitions(-DGHL_DEBUG)
|
||||
set(GHOUL_ROOT_DIR "${OPENSPACE_EXT_DIR}/ghoul")
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${GHOUL_ROOT_DIR}/ext)
|
||||
include_directories("${GHOUL_ROOT_DIR}/include")
|
||||
add_subdirectory(${GHOUL_ROOT_DIR})
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} Ghoul)
|
||||
|
||||
# SGCT (TODO: write cmake script)
|
||||
#set(SGCT_ROOT_DIR "$ENV{SGCT_ROOT_DIR}")
|
||||
#set(SGCT_ROOT_DIR "C:/Program Files/SGCT/SGCT_2.0.7")
|
||||
#set(SGCT_ROOT_DIR "C:/Program Files (x86)/SGCT/SGCT_2.0.5_x86")
|
||||
#set(SGCT_ROOT_DIR "C:/Program Files/SGCT/SGCT_2.0.7")
|
||||
# Add ghoul ext
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${GHOUL_ROOT_DIR}/ext)
|
||||
|
||||
#add_definitions(-D__WIN32__)
|
||||
add_definitions(-DGLEW_STATIC)
|
||||
include_directories("${OPENSPACE_EXT_DIR}/sgct/include")
|
||||
#set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${SGCT_ROOT_DOR}/bin/lib/msvc11)
|
||||
set(DEPENDENT_LIBS
|
||||
${DEPENDENT_LIBS}
|
||||
# "Ws2_32.lib"
|
||||
# optimized "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgct.lib"
|
||||
# debug "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgctd.lib"
|
||||
${OPENSPACE_EXT_DIR}/sgct/lib/libsgct_cpp11.a
|
||||
)
|
||||
|
||||
#add_subdirectory(${SGCT_ROOT_DIR})
|
||||
#set(DEPENDENT_LIBS ${DEPENDENT_LIBS} SGCT)
|
||||
# SGCT
|
||||
find_package(SGCT REQUIRED)
|
||||
include_directories(${SGCT_INCLUDE_DIRECTORIES})
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${SGCT_LIBRARIES})
|
||||
|
||||
# GLM
|
||||
set(GLM_ROOT_DIR "${GHOUL_ROOT_DIR}/ext/glm")
|
||||
@@ -80,18 +66,18 @@ include_directories(${GLM_INCLUDE_DIRS})
|
||||
# OpenGL
|
||||
#find_package(OpenGL REQUIRED)
|
||||
#include_directories(${OPENGL_INCLUDE_DIRS})
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${OPENGL_LIBRARIES})
|
||||
#set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${OPENGL_LIBRARIES})
|
||||
|
||||
# GLEW
|
||||
#find_package(GLEW REQUIRED)
|
||||
#include_directories(${GLEW_INCLUDE_DIRECTORIES})
|
||||
find_package(GLEW REQUIRED)
|
||||
include_directories(${GLEW_INCLUDE_DIRECTORIES})
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${GLEW_LIBRARIES})
|
||||
|
||||
# Lua
|
||||
set(LUA_ROOT_DIR "${GHOUL_ROOT_DIR}/ext/lua")
|
||||
include_directories("${LUA_ROOT_DIR}/include")
|
||||
#add_subdirectory(${LUA_ROOT_DIR})
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} Lua)
|
||||
#set(DEPENDENT_LIBS ${DEPENDENT_LIBS} Lua)
|
||||
|
||||
# Spice
|
||||
set(SPICE_ROOT_DIR "${OPENSPACE_EXT_DIR}/spice")
|
||||
@@ -99,26 +85,13 @@ include_directories("${SPICE_ROOT_DIR}/include")
|
||||
add_subdirectory(${SPICE_ROOT_DIR})
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} Spice)
|
||||
|
||||
# Threads
|
||||
find_library(PTHREADS_LIB pthread)
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${PTHREADS_LIB})
|
||||
|
||||
if (APPLE)
|
||||
include_directories(/Developer/Headers/FlatCarbon)
|
||||
find_library(CARBON_LIBRARY Carbon)
|
||||
find_library(COCOA_LIBRARY Cocoa)
|
||||
find_library(APP_SERVICES_LIBRARY ApplicationServices)
|
||||
find_library(APPKIT_LIBRARY AppKit)
|
||||
find_library(IOKIT_LIBRARY IOKit)
|
||||
mark_as_advanced(CARBON_LIBRARY COCOA_LIBRARY APP_SERVICES_LIBRARY IOKIT_LIBRARY)
|
||||
set(DEPENDENT_LIBS
|
||||
${DEPENDENT_LIBS}
|
||||
${CARBON_LIBRARY}
|
||||
${APPKIT_LIBRARY}
|
||||
${COCOA_LIBRARY}
|
||||
${APP_SERVICES_LIBRARY}
|
||||
${IOKIT_LIBRARY}
|
||||
)
|
||||
mark_as_advanced(CARBON_LIBRARY COCOA_LIBRARY APP_SERVICES_LIBRARY)
|
||||
set(DEPENDENT_LIBS ${DEPENDENT_LIBS} ${CARBON_LIBRARY} ${COCOA_LIBRARY} ${APP_SERVICES_LIBRARY})
|
||||
endif ()
|
||||
|
||||
#########################################################################################
|
||||
|
||||
94
ext/FindSGCT.cmake
Normal file
94
ext/FindSGCT.cmake
Normal file
@@ -0,0 +1,94 @@
|
||||
|
||||
|
||||
|
||||
|
||||
# Find the library
|
||||
if(WIN32)
|
||||
add_definitions(-D__WIN32__)
|
||||
file(GLOB SGCT_WINDOWS_PATHS "C:/Program Files/SGCT/SGCT_*")
|
||||
find_path(SGCT_ROOT_DIR include/sgct.h HINTS
|
||||
"${SGCT_WINDOWS_PATHS}"
|
||||
)
|
||||
set(DEPENDENT_LIBS
|
||||
${DEPENDENT_LIBS}
|
||||
"Ws2_32.lib"
|
||||
optimized "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgct.lib"
|
||||
debug "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgctd.lib"
|
||||
)
|
||||
else()
|
||||
find_path(SGCT_ROOT_DIR include/sgct.h HINTS
|
||||
"/opt/local/include/sgct"
|
||||
"/usr/local/include/sgct"
|
||||
"/usr/include/sgct"
|
||||
"/opt/local"
|
||||
"/usr/local"
|
||||
)
|
||||
find_library(SGCT_LIBRARY NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}sgct_cpp11${CMAKE_STATIC_LIBRARY_SUFFIX}
|
||||
HINTS "${SGCT_ROOT_DIR}/lib")
|
||||
|
||||
endif()
|
||||
|
||||
# make sure glew is static
|
||||
add_definitions(-DGLEW_STATIC)
|
||||
|
||||
if (APPLE)
|
||||
find_library(FRAMEWORK_IOKit
|
||||
NAMES IOKit
|
||||
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
|
||||
PATH_SUFFIXES Frameworks
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
find_library(FRAMEWORK_CoreVideo
|
||||
NAMES CoreVideo
|
||||
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
|
||||
PATH_SUFFIXES Frameworks
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
find_library(FRAMEWORK_Cocoa
|
||||
NAMES Cocoa
|
||||
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
|
||||
PATH_SUFFIXES Frameworks
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
set(SGCT_DEPENDENCIES ${SGCT_DEPENDENCIES} ${FRAMEWORK_IOKit} ${FRAMEWORK_CoreVideo} ${FRAMEWORK_Cocoa})
|
||||
endif (APPLE)
|
||||
|
||||
# includes
|
||||
set(SGCT_INCLUDES "${SGCT_ROOT_DIR}/include")
|
||||
include_directories(${SGCT_INCLUDE_DIRS})
|
||||
|
||||
# libraries
|
||||
set(SGCT_INCLUDE_DIRECTORIES ${SGCT_INCLUDES})
|
||||
set(SGCT_LIBRARIES ${SGCT_DEPENDENCIES} ${SGCT_LIBRARY})
|
||||
#set(SGCT_LIBRARIES "${SGCT_LIBRARY}")
|
||||
|
||||
# handle the QUIETLY and REQUIRED arguments and set SGCT_FOUND to TRUE
|
||||
# if all listed variables are TRUE
|
||||
find_package_handle_standard_args(SGCT DEFAULT_MSG
|
||||
SGCT_LIBRARY SGCT_INCLUDES)
|
||||
|
||||
mark_as_advanced(SGCT_INCLUDE_DIR SGCT_LIBRARY )
|
||||
|
||||
if(SGCT_FOUND)
|
||||
MESSAGE(STATUS "SGCT found: ${SGCT_INCLUDES}/sgct.h")
|
||||
MESSAGE(STATUS "SGCT SGCT_LIBRARY: ${SGCT_LIBRARY}")
|
||||
else()
|
||||
MESSAGE(FATAL_ERROR "SGCT not found!")
|
||||
endif(SGCT_FOUND)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# OLD STUFF. REMOVE WHEN ABOVE WORKS
|
||||
#set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${SGCT_ROOT_DOR}/bin/lib/msvc11)
|
||||
#set(DEPENDENT_LIBS
|
||||
# ${DEPENDENT_LIBS}
|
||||
# "Ws2_32.lib"
|
||||
# optimized "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgct.lib"
|
||||
# debug "${SGCT_ROOT_DIR}/lib/msvc11_x64/sgctd.lib"
|
||||
# )
|
||||
|
||||
#add_subdirectory(${SGCT_ROOT_DIR})
|
||||
#set(DEPENDENT_LIBS ${DEPENDENT_LIBS} SGCT)
|
||||
Submodule ext/ghoul updated: 881aa69183...4a8e9e5408
Submodule ext/spice updated: 784478de97...1947309fea
@@ -88,5 +88,28 @@ include_directories(${HEADER_ROOT_DIR})
|
||||
# hack:
|
||||
set(OPENSPACE_SOURCE ${OPENSPACE_SOURCE} ${OPENSPACE_EXT_DIR}/tinythread.cpp)
|
||||
|
||||
if (APPLE)
|
||||
find_library(FRAMEWORK_IOKit
|
||||
NAMES IOKit
|
||||
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
|
||||
PATH_SUFFIXES Frameworks
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
find_library(FRAMEWORK_CoreVideo
|
||||
NAMES CoreVideo
|
||||
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
|
||||
PATH_SUFFIXES Frameworks
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
find_library(FRAMEWORK_Cocoa
|
||||
NAMES Cocoa
|
||||
PATHS ${CMAKE_OSX_SYSROOT}/System/Library
|
||||
PATH_SUFFIXES Frameworks
|
||||
NO_DEFAULT_PATH
|
||||
)
|
||||
set(SGCT_DEPENDENCIES ${SGCT_DEPENDENCIES} ${FRAMEWORK_IOKit} ${FRAMEWORK_CoreVideo} ${FRAMEWORK_Cocoa})
|
||||
endif (APPLE)
|
||||
#add_definitions(-framework IOKit -framework CoreVideo)
|
||||
|
||||
add_executable(OpenSpace ${OPENSPACE_HEADER} ${OPENSPACE_SOURCE})
|
||||
target_link_libraries(OpenSpace ${DEPENDENT_LIBS})
|
||||
|
||||
@@ -66,7 +66,7 @@ void DeviceIdentifier::scanDevices() {
|
||||
//numberOfButtons_[i] = sgct::Engine::getJoystickParam( GLFW_JOYSTICK_1 + i, GLFW_BUTTONS );
|
||||
|
||||
// joystick found
|
||||
void* joystickName;
|
||||
void* joystickName = NULL;
|
||||
if( joystickName != NULL ) {
|
||||
// sgct::Engine::getJoystickAxes(SGCT_JOYSTICK_1 + i, &numberOfAxes_[i]);
|
||||
// sgct::Engine::getJoystickButtons(SGCT_JOYSTICK_1 + i, &numberOfButtons_[i]);
|
||||
|
||||
@@ -60,6 +60,8 @@ OpenSpaceEngine::~OpenSpaceEngine() {
|
||||
delete _configurationManager;
|
||||
delete _interactionHandler;
|
||||
delete _renderEngine;
|
||||
|
||||
// TODO deallocate scriptengine when starting to use it
|
||||
//delete _scriptEngine;
|
||||
|
||||
Spice::deinit();
|
||||
@@ -81,6 +83,20 @@ void OpenSpaceEngine::create(int argc, char** argv, int& newArgc, char**& newArg
|
||||
LogManager::initialize(LogManager::LogLevel::Debug);
|
||||
LogMgr.addLog(new ConsoleLog);
|
||||
|
||||
ghoul::filesystem::FileSystem::initialize();
|
||||
|
||||
#ifdef __WIN32__
|
||||
// Windows: Binary two folders down
|
||||
FileSys.registerPathToken("${BASE_PATH}", "../..");
|
||||
#else
|
||||
// OS X and linux: Binary three folders down
|
||||
FileSys.registerPathToken("${BASE_PATH}", "../../..");
|
||||
#endif
|
||||
FileSys.registerPathToken("${SCRIPTS}", "${BASE_PATH}/scripts");
|
||||
|
||||
// OLD
|
||||
//FileSys.registerPathToken("${SCRIPTS}", "${BASE_PATH}/openspace/scripts"); // FIX ME: tempoary path
|
||||
|
||||
_engine->_configurationManager = new ghoul::ConfigurationManager;
|
||||
_engine->_configurationManager->initialize();
|
||||
|
||||
@@ -88,14 +104,18 @@ void OpenSpaceEngine::create(int argc, char** argv, int& newArgc, char**& newArg
|
||||
newArgv = new char*[3];
|
||||
newArgv[0] = "prog";
|
||||
newArgv[1] = "-config";
|
||||
#ifdef __WIN32__
|
||||
// Windows uses fixed path to OpenSpace data
|
||||
#warning "Fixed path"
|
||||
newArgv[2] = "C:/openspace/config/single.xml"; // FIX ME: tempoary path
|
||||
#else
|
||||
// OS X and Linux uses local path to OpenSpace data
|
||||
newArgv[2] = "../../../config/single.xml";
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
ghoul::filesystem::FileSystem::initialize();
|
||||
FileSys.registerPathToken("${BASE_PATH}", "../../..");
|
||||
//FileSys.registerPathToken("${BASE_PATH}", "../..");
|
||||
FileSys.registerPathToken("${SCRIPTS}", "${BASE_PATH}/scripts");
|
||||
|
||||
|
||||
_engine->_renderEngine = new RenderEngine;
|
||||
|
||||
@@ -108,9 +128,9 @@ void OpenSpaceEngine::destroy() {
|
||||
}
|
||||
|
||||
bool OpenSpaceEngine::initialize() {
|
||||
_configurationManager->initialize();
|
||||
_configurationManager->loadConfiguration("${SCRIPTS}/config.lua");
|
||||
_configurationManager->loadConfiguration("${SCRIPTS}/config2.lua");
|
||||
//_configurationManager->initialize();
|
||||
//_configurationManager->loadConfiguration("${SCRIPTS}/config.lua");
|
||||
//_configurationManager->loadConfiguration("${SCRIPTS}/config2.lua");
|
||||
|
||||
Time::init();
|
||||
Spice::init();
|
||||
@@ -229,7 +249,7 @@ void RenderEngine::decode() {
|
||||
sgct::SharedDouble *shDouble = new sgct::SharedDouble();
|
||||
|
||||
// sync the time
|
||||
sharedDataInstance_->readDouble(shDouble);
|
||||
sharedDataInstance_->Double(shDouble);
|
||||
masterTime_ = shDouble->getVal();
|
||||
|
||||
// check that the camera has been allocated
|
||||
|
||||
@@ -144,8 +144,8 @@ void RenderEngine::postSynchronizationPreDraw() {
|
||||
_mainCamera->compileViewRotationMatrix();
|
||||
|
||||
// update and evaluate the scene starting from the root node
|
||||
_sceneGraph->update();
|
||||
_sceneGraph->evaluate(_mainCamera);
|
||||
//_sceneGraph->update();
|
||||
//_sceneGraph->evaluate(_mainCamera);
|
||||
}
|
||||
|
||||
void RenderEngine::render() {
|
||||
@@ -158,11 +158,11 @@ void RenderEngine::render() {
|
||||
view = glm::translate(view, eyePosition); // make sure the eye is in the center
|
||||
|
||||
// setup the camera for the current frame
|
||||
_mainCamera->setViewProjectionMatrix(projection*view);
|
||||
//_mainCamera->setViewProjectionMatrix(projection*view);
|
||||
|
||||
// render the scene starting from the root node
|
||||
_sceneGraph->render(_mainCamera);
|
||||
|
||||
//_sceneGraph->render(_mainCamera);
|
||||
/*
|
||||
if (sgct::Engine::instance()->isMaster()) {
|
||||
const glm::vec2 scaling = _mainCamera->getScaling();
|
||||
const glm::vec3 viewdirection = _mainCamera->getViewDirection();
|
||||
@@ -189,6 +189,7 @@ void RenderEngine::render() {
|
||||
"Distance to origin: (%.15f, %.2f)", pssl[0], pssl[1]
|
||||
);
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
SceneGraph* RenderEngine::sceneGraph() {
|
||||
|
||||
@@ -70,7 +70,8 @@ void SceneGraphNode::update() {
|
||||
void SceneGraphNode::evaluate(const Camera *camera, const psc & parentPosition) {
|
||||
|
||||
const psc thisPosition = parentPosition + position_;
|
||||
const psc toCamera = thisPosition - camera->getPosition();
|
||||
const psc camPos = camera->getPosition();
|
||||
const psc toCamera = thisPosition - camPos;
|
||||
|
||||
// init as not visible
|
||||
boundingSphereVisible_ = true;
|
||||
|
||||
Reference in New Issue
Block a user