update cmake
This commit is contained in:
+48
-8
@@ -1,19 +1,59 @@
|
|||||||
cmake_minimum_required(VERSION 3.20)
|
cmake_minimum_required(VERSION 3.20)
|
||||||
|
set(CMAKE_CXX_COMPILER icpx)
|
||||||
|
set(CMAKE_C_COMPILER icx)
|
||||||
|
|
||||||
project(polypartiCL LANGUAGES CXX)
|
project(polypartiCL LANGUAGES CXX)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
find_package(IntelSYCL REQUIRED)
|
add_compile_options(-fsycl -fsycl-targets=spir64)
|
||||||
|
add_link_options(-fsycl -fsycl-targets=spir64)
|
||||||
|
|
||||||
file(GLOB_RECURSE PROJECT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/*.cpp")
|
find_package(raylib 5.5 QUIET)
|
||||||
set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR/include/}")
|
if (NOT raylib FOUND)
|
||||||
|
include(FetchContent)
|
||||||
|
FetchContent_Declare(
|
||||||
|
raylib
|
||||||
|
GIT_REPOSITORY https://github.com/raysan5/raylib.git
|
||||||
|
GIT_TAG 5.5
|
||||||
|
)
|
||||||
|
set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)
|
||||||
|
set(BUILD_GAMES OFF CACHE BOOL "" FORCE)
|
||||||
|
FetchContent_MakeAvailable(raylib)
|
||||||
|
endif()
|
||||||
|
|
||||||
add_executable(${PROJECT_NAME})
|
include(FetchContent)
|
||||||
target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCES})
|
FetchContent_Declare(
|
||||||
target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE})
|
raylib_cpp
|
||||||
add_sycl_to_target(TARGET ${PROJECT_NAME} SOURCES polypartiCL.hpp)
|
https://github.com/RobLoach/raylib-cpp.git
|
||||||
target_link_libraries(${PROJECT_NAME} PRIVATE raylib)
|
GIT_TAG master
|
||||||
|
)
|
||||||
|
|
||||||
|
FetchContent_MakeAvailable(raylib_cpp)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME}
|
||||||
|
src/main.cpp
|
||||||
|
src/polypartiCL.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
target_include_directories(${PROJECT_NAME} PRIVATE
|
||||||
|
${raylib_cpp_SOURCE_DIR}/include
|
||||||
|
${CMAKE_SOURCE_DIR}/src
|
||||||
|
)
|
||||||
|
|
||||||
|
target_link_libraries(polyparti PRIVATE raylib)
|
||||||
|
|
||||||
|
#find_package(IntelSYCL REQUIRED)
|
||||||
|
|
||||||
|
#file(GLOB_RECURSE PROJECT_SOURCES CONFIGURE_DEPENDS "${CMAKE_CURRENT_LIST_DIR}/*.cpp")
|
||||||
|
#set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR/include/}")
|
||||||
|
|
||||||
|
#add_executable(${PROJECT_NAME})
|
||||||
|
#target_sources(${PROJECT_NAME} PRIVATE ${PROJECT_SOURCES})
|
||||||
|
#target_include_directories(${PROJECT_NAME} PRIVATE ${PROJECT_INCLUDE})
|
||||||
|
#add_sycl_to_target(TARGET ${PROJECT_NAME} SOURCES polypartiCL.hpp)
|
||||||
|
#target_link_libraries(${PROJECT_NAME} PRIVATE raylib)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
#version 330
|
||||||
|
|
||||||
|
in vec2 fragTexCoord;
|
||||||
|
|
||||||
|
uniform sampler2D texture0;
|
||||||
|
uniform vec2 resolution;
|
||||||
|
uniform float angle;
|
||||||
|
|
||||||
|
out vec4 rotOut;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
vec2 uv_space = fragTexCoord - 0.5;
|
||||||
|
uv_space.x *= resolution.x / resolution.y;
|
||||||
|
|
||||||
|
float i = cos(-angle);
|
||||||
|
float j = sin(-angle);
|
||||||
|
|
||||||
|
vec2 rot = vec2((uv_space.x * i) - (uv_space.y * j), (uv_space.x * j) + (uv_space.y * i));
|
||||||
|
|
||||||
|
rot.x /= resolution.x / resolution.y;
|
||||||
|
rot += 0.5;
|
||||||
|
|
||||||
|
if (rot.x < 0.0 || rot.x > 1.0 || rot.y < 0.0 || rot.y > 1.0) {
|
||||||
|
rotOut = vec4(0.0, 0.0, 0.0, 1.0);
|
||||||
|
} else {
|
||||||
|
rotOut = texture(texture0, rot);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -49,6 +49,7 @@ int main(int argc, char* argv[]) {
|
|||||||
raylib::RenderTexture2D renderTarget(screenWidth, screenHeight);
|
raylib::RenderTexture2D renderTarget(screenWidth, screenHeight);
|
||||||
raylib::RenderTexture2D blur(screenWidth, screenHeight);
|
raylib::RenderTexture2D blur(screenWidth, screenHeight);
|
||||||
raylib::Shader blurShader("", "shaders/blur2.fs");
|
raylib::Shader blurShader("", "shaders/blur2.fs");
|
||||||
|
raylib::Shader rotShader("", "shaders/rotate.fs");
|
||||||
raylib::Vector2 mouse_i, mouse_f, mouse_d;
|
raylib::Vector2 mouse_i, mouse_f, mouse_d;
|
||||||
raylib::Vector2 midpoint(screenWidth * 0.5, screenHeight * 0.5);
|
raylib::Vector2 midpoint(screenWidth * 0.5, screenHeight * 0.5);
|
||||||
|
|
||||||
Reference in New Issue
Block a user