Skip to content

Commit 72fc35d

Browse files
committed
Dynamic
1 parent dfc3d85 commit 72fc35d

File tree

8 files changed

+85
-5
lines changed

8 files changed

+85
-5
lines changed

examples/bunny/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1-
set(EXECUTABLE_NAME bunny)
1+
set(EXECUTABLE_NAME f22)
22

3-
add_executable(${EXECUTABLE_NAME} ${EXECUTABLE_NAME}.cpp)
3+
file(GLOB_RECURSE PROJECT_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
4+
file(GLOB_RECURSE PROJECT_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp)
5+
message(STATUS "PROJECT_SRCS: ${PROJECT_SRCS}")
6+
message(STATUS "PROJECT_INCLUDES: ${PROJECT_INCLUDES}")
7+
8+
add_executable(${EXECUTABLE_NAME} ${PROJECT_SRCS})
9+
target_include_directories(${EXECUTABLE_NAME} PUBLIC ${PROJECT_INCLUDES})
410
target_link_libraries(${EXECUTABLE_NAME} PRIVATE ${PROJECT_NAME})
511

612
# Setting our output directory

examples/cube/CMakeLists.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
set(EXECUTABLE_NAME cube)
22

3-
add_executable(${EXECUTABLE_NAME} ${EXECUTABLE_NAME}.cpp)
3+
file(GLOB_RECURSE PROJECT_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
4+
file(GLOB_RECURSE PROJECT_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp)
5+
message(STATUS "PROJECT_SRCS: ${PROJECT_SRCS}")
6+
message(STATUS "PROJECT_INCLUDES: ${PROJECT_INCLUDES}")
7+
8+
add_executable(${EXECUTABLE_NAME} ${PROJECT_SRCS})
9+
target_include_directories(${EXECUTABLE_NAME} PUBLIC ${PROJECT_INCLUDES})
410
target_link_libraries(${EXECUTABLE_NAME} PRIVATE ${PROJECT_NAME})
511

612
# Setting our output directory

examples/f22 copy/CMakeLists.txt

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
set(EXECUTABLE_NAME f22)
2+
3+
file(GLOB_RECURSE PROJECT_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
4+
file(GLOB_RECURSE PROJECT_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp)
5+
message(STATUS "PROJECT_SRCS: ${PROJECT_SRCS}")
6+
message(STATUS "PROJECT_INCLUDES: ${PROJECT_INCLUDES}")
7+
8+
add_executable(${EXECUTABLE_NAME} ${PROJECT_SRCS})
9+
target_include_directories(${EXECUTABLE_NAME} PUBLIC ${PROJECT_INCLUDES})
10+
target_link_libraries(${EXECUTABLE_NAME} PRIVATE ${PROJECT_NAME})
11+
12+
# Setting our output directory
13+
set_target_properties(${EXECUTABLE_NAME} PROPERTIES
14+
RUNTIME_OUTPUT_DIRECTORY "${PROJECT_SOURCE_DIR}/target/release/"
15+
OUTPUT_NAME ${EXECUTABLE_NAME}
16+
)

examples/f22/CMakeLists.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
set(EXECUTABLE_NAME f22)
22

3-
add_executable(${EXECUTABLE_NAME} ${EXECUTABLE_NAME}.cpp)
4-
target_link_libraries(${EXECUTABLE_NAME} PRIVATE ${PROJECT_NAME} SDL2::SDL2)
3+
file(GLOB_RECURSE PROJECT_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
4+
file(GLOB_RECURSE PROJECT_INCLUDES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.hpp)
5+
message(STATUS "PROJECT_SRCS: ${PROJECT_SRCS}")
6+
message(STATUS "PROJECT_INCLUDES: ${PROJECT_INCLUDES}")
7+
8+
add_executable(${EXECUTABLE_NAME} ${PROJECT_SRCS})
9+
target_include_directories(${EXECUTABLE_NAME} PUBLIC ${PROJECT_INCLUDES})
10+
target_link_libraries(${EXECUTABLE_NAME} PRIVATE ${PROJECT_NAME})
511

612
# Setting our output directory
713
set_target_properties(${EXECUTABLE_NAME} PROPERTIES

examples/f22/src/f22.cpp

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
#include <stddef.h>
2+
#include <stdio.h>
3+
4+
#include <iostream>
5+
#include <kiwigl/kiwigl.hpp>
6+
7+
#ifdef USE_METAL
8+
#include <cassert>
9+
10+
#define NS_PRIVATE_IMPLEMENTATION
11+
#define MTL_PRIVATE_IMPLEMENTATION
12+
#define MTK_PRIVATE_IMPLEMENTATION
13+
#define CA_PRIVATE_IMPLEMENTATION
14+
#include <simd/simd.h>
15+
16+
#include <AppKit/AppKit.hpp>
17+
#include <Metal/Metal.hpp>
18+
#include <MetalKit/MetalKit.hpp>
19+
#endif
20+
21+
//------------------------------------------------------------------------------------
22+
// Program main entry point
23+
//------------------------------------------------------------------------------------
24+
int main(int argc, char** argv) {
25+
// Initialization of display
26+
#ifndef BENCHMARK_MODE
27+
kiwigl::Display display;
28+
#else
29+
kiwigl::Display display(10000);
30+
#endif
31+
// Load the F-22 mesh
32+
display.loadMesh("./assets/f22.obj");
33+
34+
// Main graphics loop
35+
// Loop until window close button is pressed
36+
while (!display.shouldClose()) {
37+
#ifdef BENCHMARK_MODE
38+
display.update();
39+
#else
40+
display.processInput();
41+
display.update();
42+
display.render();
43+
#endif
44+
}
45+
return 0;
46+
}

0 commit comments

Comments
 (0)