Vireo  0.0
Vireo 3D Rendering Hardware Interface
Setting up the project

First, clone the following projects somewhere in your computer :

Then add a .env.cmake file containing the following variable at the root of your project template project:

set(VIREO_PROJECT_DIR "path_to_the_cloned_vireo_directory")

In the src directory creates :

A new MyApp.ixx interface file for your application :

#include "Libraries.h"
export module myapp;
import app;
export class MyApp : public Application {
public:
void onInit() override;
void onRender() override;
void onResize() override;
void onDestroy() override;
}

A new MyApp.cpp implementation file :

#include "Libraries.h"
module myapp;
void MyApp::onInit() {
}
void MyApp::onRender() {
}
void MyApp::onResize() {
}
void MyApp::onDestroy() {
}

And a new MyAppMain.cpp source file :

#include "Macros.h"
import myapp;
APP(std::make_shared<MyApp>(), L"Hello, Vireo !", 1280, 720);

Update the CMakeLists.txt file by uncommenting the last part :

...
#######################################################
set(MY_TARGET_SRC
${SRC_DIR}/MyApp.cpp
${SRC_DIR}/MyAppMain.cpp)
set(MY_TARGET_MODULES ${SRC_DIR}/MyApp.ixx)
build_target(myapp "${MY_TARGET_SRC}" ${MY_TARGET_MODULES})

Then reload the CMake project and build the myapp target.

Execute the application (from the project root directory), it will display the graphic API selection dialog :

backend_select.png

Select an API and an empty window will be displayed :

empty_window.png

Next : The Vireo class