Skip to content

Commit e01cc04

Browse files
committed
Move new rendering code into a proper library
1 parent 84917ae commit e01cc04

21 files changed

+54
-37
lines changed

app/next/CMakeLists.txt

+1-19
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,17 @@
11

22
set(SOURCES
3-
src/renderer2/backend/opengl/render_backend.cpp
4-
src/renderer2/backend/vulkan/render_backend.cpp
5-
src/renderer2/vulkan/vulkan_instance.cpp
6-
src/renderer2/render_engine.cpp
73
src/main.cpp
84
src/main_window.cpp
95
)
106

117
set(HEADERS
12-
src/shader/triangle.frag.h
13-
src/shader/triangle.vert.h
148
src/main_window.hpp
159
)
1610

17-
set(HEADERS_PUBLIC
18-
include/zephyr/renderer2/backend/render_backend.hpp
19-
include/zephyr/renderer2/backend/render_backend_ogl.hpp
20-
include/zephyr/renderer2/backend/render_backend_vk.hpp
21-
include/zephyr/renderer2/vulkan/vulkan_instance.hpp
22-
include/zephyr/renderer2/vulkan/src/vulkan_physical_device.hpp
23-
include/zephyr/renderer2/render_engine.hpp
24-
)
25-
2611
find_package(SDL2 REQUIRED)
27-
find_package(Vulkan REQUIRED)
28-
find_package(OpenGL REQUIRED)
29-
find_package(GLEW REQUIRED)
3012

3113
add_executable(zephyr-next ${SOURCES} ${HEADERS})
3214

33-
target_link_libraries(zephyr-next PRIVATE zephyr zephyr-cxx-opts SDL2::SDL2 Vulkan::Vulkan OpenGL::GL GLEW::GLEW)
15+
target_link_libraries(zephyr-next PRIVATE zephyr)
3416
target_include_directories(zephyr-next PRIVATE include)
3517
target_include_directories(zephyr-next PRIVATE src)

app/next/include/.gitkeep

Whitespace-only changes.

app/next/src/main_window.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

2-
#include <zephyr/renderer2/backend/render_backend_ogl.hpp>
3-
#include <zephyr/renderer2/backend/render_backend_vk.hpp>
2+
#include <zephyr/renderer/backend/render_backend_ogl.hpp>
3+
#include <zephyr/renderer/backend/render_backend_vk.hpp>
44

55
#include "main_window.hpp"
66

app/next/src/main_window.hpp

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
#include <algorithm>
22
#include <zephyr/logger/sink/console.hpp>
33
#include <zephyr/logger/logger.hpp>
4-
#include <zephyr/renderer2/vulkan/vulkan_instance.hpp>
5-
#include <zephyr/renderer2/render_engine.hpp>
4+
#include <zephyr/renderer/vulkan/vulkan_instance.hpp>
5+
#include <zephyr/renderer/render_engine.hpp>
66
#include <zephyr/scene/node.hpp>
77
#include <zephyr/float.hpp>
88
#include <zephyr/integer.hpp>
@@ -15,7 +15,7 @@
1515

1616
#undef main
1717

18-
//#define ZEPHYR_OPENGL
18+
#define ZEPHYR_OPENGL
1919

2020
namespace zephyr {
2121

@@ -43,7 +43,6 @@ namespace zephyr {
4343

4444
SDL_Window* m_window{};
4545
std::shared_ptr<VulkanInstance> m_vk_instance{};
46-
VulkanPhysicalDevice* m_vk_physical_device{};
4746
VkSurfaceKHR m_vk_surface{VK_NULL_HANDLE};
4847
};
4948

zephyr/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
add_subdirectory(common)
33
add_subdirectory(logger)
44
add_subdirectory(math)
5+
add_subdirectory(renderer)
56
add_subdirectory(scene)
67

78
add_library(zephyr INTERFACE)
89

9-
target_link_libraries(zephyr INTERFACE zephyr-common zephyr-logger zephyr-math zephyr-scene)
10+
target_link_libraries(zephyr INTERFACE zephyr-common zephyr-logger zephyr-math zephyr-renderer zephyr-scene)

zephyr/renderer/CMakeLists.txt

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
2+
# TODO: split this up into multiple libraries in the future (i.e. one core library and one library per backend)
3+
# TODO: remove dependency on SDL2 if possible
4+
5+
set(SOURCES
6+
src/backend/opengl/render_backend.cpp
7+
src/backend/vulkan/render_backend.cpp
8+
src/vulkan/vulkan_instance.cpp
9+
src/render_engine.cpp
10+
)
11+
12+
set(HEADERS
13+
src/backend/vulkan/shader/triangle.frag.h
14+
src/backend/vulkan/shader/triangle.vert.h
15+
)
16+
17+
set(HEADERS_PUBLIC
18+
include/zephyr/renderer/backend/render_backend.hpp
19+
include/zephyr/renderer/backend/render_backend_ogl.hpp
20+
include/zephyr/renderer/backend/render_backend_vk.hpp
21+
include/zephyr/renderer/vulkan/vulkan_instance.hpp
22+
include/zephyr/renderer/vulkan/vulkan_physical_device.hpp
23+
include/zephyr/renderer/render_engine.hpp
24+
)
25+
26+
find_package(SDL2 REQUIRED)
27+
find_package(Vulkan REQUIRED)
28+
find_package(OpenGL REQUIRED)
29+
find_package(GLEW REQUIRED)
30+
31+
add_library(zephyr-renderer ${SOURCES} ${HEADERS} ${HEADERS_PUBLIC})
32+
33+
target_include_directories(zephyr-renderer PUBLIC include)
34+
target_include_directories(zephyr-renderer PRIVATE src)
35+
target_link_libraries(zephyr-renderer PUBLIC zephyr-common zephyr-logger zephyr-math zephyr-scene zephyr-cxx-opts SDL2::SDL2 Vulkan::Vulkan OpenGL::GL GLEW::GLEW)

app/next/include/zephyr/renderer2/backend/render_backend_ogl.hpp renamed to zephyr/renderer/include/zephyr/renderer/backend/render_backend_ogl.hpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
#pragma once
33

4-
#include <zephyr/renderer2/backend/render_backend.hpp>
4+
#include <zephyr/renderer/backend/render_backend.hpp>
55
#include <memory>
66
#include <SDL.h>
77

app/next/include/zephyr/renderer2/backend/render_backend_vk.hpp renamed to zephyr/renderer/include/zephyr/renderer/backend/render_backend_vk.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
#pragma once
33

4-
#include <zephyr/renderer2/backend/render_backend.hpp>
5-
#include <zephyr/renderer2/vulkan/vulkan_instance.hpp>
4+
#include <zephyr/renderer/backend/render_backend.hpp>
5+
#include <zephyr/renderer/vulkan/vulkan_instance.hpp>
66
#include <zephyr/integer.hpp>
77
#include <memory>
88
#include <vulkan/vulkan.h>

app/next/include/zephyr/renderer2/render_engine.hpp renamed to zephyr/renderer/include/zephyr/renderer/render_engine.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
#pragma once
33

44
#include <zephyr/math/matrix4.hpp>
5-
#include <zephyr/renderer2/backend/render_backend.hpp>
5+
#include <zephyr/renderer/backend/render_backend.hpp>
66
#include <zephyr/scene/node.hpp>
77
#include <atomic>
88
#include <semaphore>
@@ -15,7 +15,7 @@ namespace zephyr {
1515

1616
class RenderEngine {
1717
public:
18-
RenderEngine(std::unique_ptr<RenderBackend> render_backend);
18+
explicit RenderEngine(std::unique_ptr<RenderBackend> render_backend);
1919
~RenderEngine();
2020

2121
void RenderScene(SceneNode* scene_root);

app/next/include/zephyr/renderer2/vulkan/vulkan_physical_device.hpp renamed to zephyr/renderer/include/zephyr/renderer/vulkan/vulkan_physical_device.hpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
#pragma once
33

4-
#include "zephyr/integer.hpp"
5-
#include "zephyr/panic.hpp"
4+
#include <zephyr/integer.hpp>
5+
#include <zephyr/panic.hpp>
66
#include <algorithm>
77
#include <cstring>
88
#include <span>

app/next/src/renderer2/backend/opengl/render_backend.cpp renamed to zephyr/renderer/src/backend/opengl/render_backend.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
#include <zephyr/renderer2/backend/render_backend_ogl.hpp>
2+
#include <zephyr/renderer/backend/render_backend_ogl.hpp>
33
#include <zephyr/panic.hpp>
44
#include <GL/glew.h>
55
#include <GL/gl.h>

app/next/src/renderer2/backend/vulkan/render_backend.cpp renamed to zephyr/renderer/src/backend/vulkan/render_backend.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
#include <zephyr/renderer2/backend/render_backend_vk.hpp>
2+
#include <zephyr/renderer/backend/render_backend_vk.hpp>
33
#include <zephyr/logger/logger.hpp>
44
#include <zephyr/float.hpp>
55
#include <zephyr/panic.hpp>

app/next/src/renderer2/render_engine.cpp renamed to zephyr/renderer/src/render_engine.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
#include <zephyr/renderer2/render_engine.hpp>
2+
#include <zephyr/renderer/render_engine.hpp>
33
#include <fmt/format.h>
44

55
namespace zephyr {

app/next/src/renderer2/vulkan/vulkan_instance.cpp renamed to zephyr/renderer/src/vulkan/vulkan_instance.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
#include <zephyr/renderer2/vulkan/vulkan_instance.hpp>
2+
#include <zephyr/renderer/vulkan/vulkan_instance.hpp>
33

44
namespace zephyr {
55

0 commit comments

Comments
 (0)