Added EGL linking and useage for the linux cl_khr_gl_sharing
interaction. This still crashes on my machine but at least its getting closer to working. Fixed some warnings and errors while compiling with clang++
This commit is contained in:
@@ -23,20 +23,30 @@ message(STATUS "SFML found: ${SFML_FOUND}")
|
|||||||
find_package( OpenCL REQUIRED )
|
find_package( OpenCL REQUIRED )
|
||||||
message(STATUS "OpenCL found: ${OPENCL_FOUND}")
|
message(STATUS "OpenCL found: ${OPENCL_FOUND}")
|
||||||
|
|
||||||
|
# Find OpenGL
|
||||||
|
find_package( OpenGL REQUIRED)
|
||||||
|
message(STATUS "OpenGL found: ${OPENGL_FOUND}")
|
||||||
|
|
||||||
|
# Windows requires us to use GLEW to link the GL shit
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
# Find GLEW
|
# Find GLEW
|
||||||
find_package(GLEW REQUIRED)
|
find_package(GLEW REQUIRED)
|
||||||
message(STATUS "GLEW found: ${GLEW_FOUND}")
|
message(STATUS "GLEW found: ${GLEW_FOUND}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# Find OpenGL
|
# beignet only supports EGL and not GLX for the cl_khr_gl_sharing extension
|
||||||
find_package( OpenGL REQUIRED)
|
if (UNIX)
|
||||||
message(STATUS "OpenGL found: ${OPENGL_FOUND}")
|
find_package(EGL REQUIRED)
|
||||||
|
message(STATUS "EGL found: ${EGL_FOUND}")
|
||||||
|
endif (UNIX)
|
||||||
|
|
||||||
# Include the directories for the main program, GL, CL and SFML's headers
|
# Include the directories for the main program, GL, CL and SFML's headers
|
||||||
include_directories(${SFML_INCLUDE_DIR})
|
include_directories(${SFML_INCLUDE_DIR})
|
||||||
include_directories(${OpenCL_INCLUDE_DIRS})
|
include_directories(${OpenCL_INCLUDE_DIRS})
|
||||||
include_directories(${OpenGL_INCLUDE_DIRS})
|
include_directories(${OpenGL_INCLUDE_DIRS})
|
||||||
|
if (UNIX)
|
||||||
|
include_directories(${EGL_INCLUDE_DIRS})
|
||||||
|
endif()
|
||||||
include_directories(include)
|
include_directories(include)
|
||||||
|
|
||||||
# Glob all thr sources into their values
|
# Glob all thr sources into their values
|
||||||
@@ -116,6 +126,10 @@ target_link_libraries (${PNAME} ${SFML_LIBRARIES} ${SFML_DEPENDENCIES})
|
|||||||
target_link_libraries (${PNAME} ${OpenCL_LIBRARY})
|
target_link_libraries (${PNAME} ${OpenCL_LIBRARY})
|
||||||
target_link_libraries (${PNAME} ${OPENGL_LIBRARIES})
|
target_link_libraries (${PNAME} ${OPENGL_LIBRARIES})
|
||||||
|
|
||||||
|
if (UNIX)
|
||||||
|
target_link_libraries (${PNAME} ${EGL_LIBRARIES})
|
||||||
|
endif()
|
||||||
|
|
||||||
if (WIN32)
|
if (WIN32)
|
||||||
target_link_libraries (${PNAME} ${GLEW_LIBRARIES})
|
target_link_libraries (${PNAME} ${GLEW_LIBRARIES})
|
||||||
endif()
|
endif()
|
||||||
|
|||||||
469
FindEGL.cmake
Normal file
469
FindEGL.cmake
Normal file
@@ -0,0 +1,469 @@
|
|||||||
|
# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)# - Try to Find EGL
|
||||||
|
# Once done, this will define
|
||||||
|
#
|
||||||
|
# EGL_FOUND - system has EGL installed.
|
||||||
|
# EGL_INCLUDE_DIRS - directories which contain the EGL headers.
|
||||||
|
# EGL_LIBRARIES - libraries required to link against EGL.
|
||||||
|
# EGL_DEFINITIONS - Compiler switches required for using EGL.
|
||||||
|
#
|
||||||
|
# Copyright (C) 2012 Intel Corporation. All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met:
|
||||||
|
# 1. Redistributions of source code must retain the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer.
|
||||||
|
# 2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
# notice, this list of conditions and the following disclaimer in the
|
||||||
|
# documentation and/or other materials provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
|
||||||
|
# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
|
||||||
|
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
|
||||||
|
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||||
|
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||||
|
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||||
|
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
pkg_check_modules(PC_EGL egl)
|
||||||
|
|
||||||
|
if (PC_EGL_FOUND)
|
||||||
|
set(EGL_DEFINITIONS ${PC_EGL_CFLAGS_OTHER})
|
||||||
|
endif ()
|
||||||
|
|
||||||
|
find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
|
||||||
|
HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
set(EGL_NAMES ${EGL_NAMES} egl EGL)
|
||||||
|
find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
|
||||||
|
HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
|
|
||||||
|
mark_as_advanced(EGL_INCLUDE_DIRS EGL_LIBRARIES)
|
||||||
@@ -15,7 +15,8 @@
|
|||||||
#ifdef linux
|
#ifdef linux
|
||||||
#include <CL/cl.h>
|
#include <CL/cl.h>
|
||||||
#include <CL/opencl.h>
|
#include <CL/opencl.h>
|
||||||
#include <GL/glx.h>
|
#include <EGL/egl.h>
|
||||||
|
//#include <GL/glx.h>
|
||||||
|
|
||||||
#elif defined _WIN32
|
#elif defined _WIN32
|
||||||
#include <CL/cl_gl.h>
|
#include <CL/cl_gl.h>
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#include <string>
|
#include <string>
|
||||||
#include <filesystem>
|
#include <experimental/filesystem>
|
||||||
|
|
||||||
class ConfigDB {
|
class ConfigDB {
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ public:
|
|||||||
enum LogDest { STDOUT, FILE };
|
enum LogDest { STDOUT, FILE };
|
||||||
|
|
||||||
// Log auto, takes a string and the severity of the log level and either prints it or tosses it
|
// Log auto, takes a string and the severity of the log level and either prints it or tosses it
|
||||||
static void log(std::string log_string, LogLevel severity, uint32_t line_number = 0, char* file_name = nullptr);
|
static void log(std::string log_string, LogLevel severity, uint32_t line_number = 0, const char* file_name = nullptr);
|
||||||
|
|
||||||
static void set_log_level(LogLevel log_level);
|
static void set_log_level(LogLevel log_level);
|
||||||
static void set_log_destination(LogDest log_destination);
|
static void set_log_destination(LogDest log_destination);
|
||||||
|
|||||||
@@ -23,14 +23,14 @@ public:
|
|||||||
// Gets a voxel at the 3D position in the octree
|
// Gets a voxel at the 3D position in the octree
|
||||||
char getVoxel(sf::Vector3i pos);
|
char getVoxel(sf::Vector3i pos);
|
||||||
|
|
||||||
std::vector<std::tuple<sf::Vector3i, char>> Map::CastRayOctree(
|
std::vector<std::tuple<sf::Vector3i, char>> CastRayOctree(
|
||||||
Octree *octree,
|
Octree *octree,
|
||||||
sf::Vector3i* map_dim,
|
sf::Vector3i* map_dim,
|
||||||
sf::Vector2f* cam_dir,
|
sf::Vector2f* cam_dir,
|
||||||
sf::Vector3f* cam_pos
|
sf::Vector3f* cam_pos
|
||||||
);
|
);
|
||||||
|
|
||||||
std::vector<std::tuple<sf::Vector3i, char>> Map::CastRayCharArray(
|
std::vector<std::tuple<sf::Vector3i, char>> CastRayCharArray(
|
||||||
char *map,
|
char *map,
|
||||||
sf::Vector3i* map_dim,
|
sf::Vector3i* map_dim,
|
||||||
sf::Vector2f* cam_dir,
|
sf::Vector2f* cam_dir,
|
||||||
|
|||||||
@@ -364,11 +364,11 @@ __kernel void raycaster(
|
|||||||
|
|
||||||
// Test for out of bounds contions, add fog
|
// Test for out of bounds contions, add fog
|
||||||
if (any(voxel >= *map_dim)){
|
if (any(voxel >= *map_dim)){
|
||||||
write_imagef(image, pixel, white_light(mix(fog_color, overshoot_color, 1.0 - max(dist / 700.0f, (float)0)), (float3)(lights[7], lights[8], lights[9]), face_mask));
|
//write_imagef(image, pixel, white_light(mix(fog_color, overshoot_color, 1.0 - max(dist / 700.0f, (float)0)), (float3)(lights[7], lights[8], lights[9]), face_mask));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (any(voxel < 0)) {
|
if (any(voxel < 0)) {
|
||||||
write_imagef(image, pixel, white_light(mix(fog_color, overshoot_color_2, 1.0 - max(dist / 700.0f, (float)0)), (float3)(lights[7], lights[8], lights[9]), face_mask));
|
//write_imagef(image, pixel, white_light(mix(fog_color, overshoot_color_2, 1.0 - max(dist / 700.0f, (float)0)), (float3)(lights[7], lights[8], lights[9]), face_mask));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -171,11 +171,11 @@ bool Application::game_loop() {
|
|||||||
sf::Vector2f dir = camera->get_direction();
|
sf::Vector2f dir = camera->get_direction();
|
||||||
sf::Vector3f pos = camera->get_position();
|
sf::Vector3f pos = camera->get_position();
|
||||||
|
|
||||||
ImGui::Text(std::to_string(dir.x).c_str());
|
ImGui::Text("%f", dir.x);
|
||||||
ImGui::Text(std::to_string(dir.y).c_str());
|
ImGui::Text("%f", dir.y);
|
||||||
ImGui::Text(std::to_string(pos.x).c_str());
|
ImGui::Text("%f", pos.x);
|
||||||
ImGui::Text(std::to_string(pos.y).c_str());
|
ImGui::Text("%f", pos.y);
|
||||||
ImGui::Text(std::to_string(pos.z).c_str());
|
ImGui::Text("%f", pos.z);
|
||||||
|
|
||||||
ImGui::NextColumn();
|
ImGui::NextColumn();
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,5 @@
|
|||||||
#include "CLCaster.h"
|
#include "CLCaster.h"
|
||||||
|
|
||||||
|
|
||||||
CLCaster::CLCaster() {}
|
CLCaster::CLCaster() {}
|
||||||
CLCaster::~CLCaster() {}
|
CLCaster::~CLCaster() {}
|
||||||
|
|
||||||
@@ -570,8 +569,10 @@ bool CLCaster::create_shared_context()
|
|||||||
#ifdef linux
|
#ifdef linux
|
||||||
|
|
||||||
cl_context_properties context_properties[] = {
|
cl_context_properties context_properties[] = {
|
||||||
CL_GL_CONTEXT_KHR, (cl_context_properties)glXGetCurrentContext(),
|
//CL_GL_CONTEXT_KHR, (cl_context_properties)glXGetCurrentContext(),
|
||||||
CL_GLX_DISPLAY_KHR, (cl_context_properties)glXGetCurrentDisplay(),
|
//CL_GLX_DISPLAY_KHR, (cl_context_properties)glXGetCurrentDisplay(),
|
||||||
|
CL_GL_CONTEXT_KHR, (cl_context_properties)eglGetCurrentContext(),
|
||||||
|
CL_EGL_DISPLAY_KHR, (cl_context_properties)eglGetCurrentDisplay(),
|
||||||
CL_CONTEXT_PLATFORM, (cl_context_properties)platform_id,
|
CL_CONTEXT_PLATFORM, (cl_context_properties)platform_id,
|
||||||
0
|
0
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -13,8 +13,8 @@ ConfigDB::~ConfigDB()
|
|||||||
|
|
||||||
bool ConfigDB::init(std::string root_config_path) {
|
bool ConfigDB::init(std::string root_config_path) {
|
||||||
|
|
||||||
for (auto& p : std::experimental::filesystem::directory_iterator("../config"))
|
//for (auto& p : std::experimental::filesystem::directory_iterator("../config"))
|
||||||
std::cout << p << '\n';
|
// std::cout << p << '\n';
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ Logger::LogDest Logger::log_destination = LogDest::STDOUT;
|
|||||||
Logger::LogLevel Logger::log_level = LogLevel::INFO;
|
Logger::LogLevel Logger::log_level = LogLevel::INFO;
|
||||||
std::ofstream Logger::log_file;
|
std::ofstream Logger::log_file;
|
||||||
|
|
||||||
void Logger::log(std::string log_string, LogLevel severity, uint32_t line_number, char* file_name) {
|
void Logger::log(std::string log_string, LogLevel severity, uint32_t line_number,const char* file_name) {
|
||||||
|
|
||||||
if (severity < log_level)
|
if (severity < log_level)
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user