testing game export
This commit is contained in:
@@ -5,6 +5,22 @@ if(${CMAKE_VERSION} VERSION_LESS 3.12)
|
||||
endif()
|
||||
set(CMAKE_CXX_STANDARD 20)
|
||||
|
||||
project(${GAME_TITLE})
|
||||
project(@GAME_TITLE@)
|
||||
|
||||
add_executable(${GAME_TITLE} main.cpp )
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY @GAME_DESTINATION@)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG @GAME_DESTINATION@)
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE @GAME_DESTINATION@)
|
||||
|
||||
find_package(Vulkan REQUIRED)
|
||||
find_package(Threads REQUIRED)
|
||||
find_package(Seele REQUIRED)
|
||||
|
||||
link_directories(${Seele_DIR}/lib)
|
||||
|
||||
add_executable(@GAME_TITLE@ main.cpp)
|
||||
target_link_libraries(@GAME_TITLE@ PUBLIC Seele::Engine)
|
||||
|
||||
add_custom_command(TARGET @GAME_TITLE@ POST_BUILD
|
||||
COMMAND ${CMAKE_COMMAND} -E copy -t @GAME_DESTINATION@ $<TARGET_RUNTIME_DLLS:@GAME_TITLE@>
|
||||
COMMAND_EXPAND_LISTS
|
||||
)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
configure_file(cmake/main.cpp.in ${GAME_DESTINATION}/cmake/main.cpp @ONLY)
|
||||
configure_file(cmake/CMakeLists.txt.in ${GAME_DESTINATION}/cmake/CMakeLists.txt @ONLY)
|
||||
+27
-22
@@ -1,29 +1,34 @@
|
||||
#include "Window/WindowManager.h"
|
||||
#include ""
|
||||
#include "Asset/AssetRegistry.h"
|
||||
#include <Window/WindowManager.h>
|
||||
#include <Asset/AssetRegistry.h>
|
||||
#include <Window/GameView.h>
|
||||
#include <Graphics/Vulkan/VulkanGraphics.h>
|
||||
|
||||
using namespace Seele;
|
||||
|
||||
int main()
|
||||
{
|
||||
Gfx::PGraphics graphics = new Vulkan::Graphics();
|
||||
GraphicsInitializer initializer;
|
||||
graphics->init(initializer);
|
||||
|
||||
PWindowManager windowManager = new WindowManager();
|
||||
AssetRegistry::load("registry");
|
||||
WindowCreateInfo gameWindowInfo = {
|
||||
.title = ${GAME_TITLE},
|
||||
.width = 1280,
|
||||
.height = 720,
|
||||
.bFullscreen = false,
|
||||
.numSamples = 1,
|
||||
.pixelFormat = Gfx::SE_FORMAT_B8G8R8A8_UNORM,
|
||||
};
|
||||
auto window = windowManager->addWindow(gameWindowInfo);
|
||||
ViewportCreateInfo gameViewinfo = {
|
||||
.dimensions = {
|
||||
.size = {
|
||||
.x = 1280,
|
||||
.y = 720,
|
||||
},
|
||||
},
|
||||
};
|
||||
new GameView(windowManager->getGraphics(), window, gameViewInfo, ${DLL_PATH});
|
||||
AssetRegistry::init("Assets", graphics);
|
||||
|
||||
WindowCreateInfo mainWindowInfo;
|
||||
mainWindowInfo.title = "@GAME_TITLE@";
|
||||
mainWindowInfo.width = 1280;
|
||||
mainWindowInfo.height = 720;
|
||||
mainWindowInfo.bFullscreen = false;
|
||||
mainWindowInfo.numSamples = 1;
|
||||
mainWindowInfo.pixelFormat = Gfx::SE_FORMAT_B8G8R8A8_UNORM;
|
||||
auto window = windowManager->addWindow(graphics, mainWindowInfo);
|
||||
ViewportCreateInfo sceneViewInfo;
|
||||
sceneViewInfo.dimensions.size.x = 1280;
|
||||
sceneViewInfo.dimensions.size.y = 720;
|
||||
sceneViewInfo.dimensions.offset.x = 0;
|
||||
sceneViewInfo.dimensions.offset.y = 0;
|
||||
PGameView sceneView = new GameView(graphics, window, sceneViewInfo, "@GAME_BINARY@");
|
||||
sceneView->setFocused();
|
||||
window->render();
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user