update cmake
This commit is contained in:
+48
-8
@@ -1,19 +1,59 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
set(CMAKE_CXX_COMPILER icpx)
|
||||
set(CMAKE_C_COMPILER icx)
|
||||
|
||||
project(polypartiCL LANGUAGES CXX)
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
set(CMAKE_CXX_STANDARD_REQUIRED 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")
|
||||
set(PROJECT_INCLUDE "${CMAKE_CURRENT_LIST_DIR/include/}")
|
||||
find_package(raylib 5.5 QUIET)
|
||||
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})
|
||||
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)
|
||||
include(FetchContent)
|
||||
FetchContent_Declare(
|
||||
raylib_cpp
|
||||
https://github.com/RobLoach/raylib-cpp.git
|
||||
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 blur(screenWidth, screenHeight);
|
||||
raylib::Shader blurShader("", "shaders/blur2.fs");
|
||||
raylib::Shader rotShader("", "shaders/rotate.fs");
|
||||
raylib::Vector2 mouse_i, mouse_f, mouse_d;
|
||||
raylib::Vector2 midpoint(screenWidth * 0.5, screenHeight * 0.5);
|
||||
|
||||
Reference in New Issue
Block a user