TESTSKYBOX: new test application for the Skybox class
parent
58d8fefea9
commit
aa88152251
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
Binary file not shown.
After Width: | Height: | Size: 13 KiB |
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
|
@ -16,4 +16,5 @@ add_subdirectory(testvoxelfont)
|
|||
add_subdirectory(testvoxelgpu)
|
||||
add_subdirectory(testcomputetexture3d)
|
||||
add_subdirectory(testtraze)
|
||||
add_subdirectory(testskybox)
|
||||
#add_subdirectory(testtemplate)
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
project(testskybox)
|
||||
set(SRCS
|
||||
TestSkybox.h TestSkybox.cpp
|
||||
)
|
||||
set(FILES
|
||||
testskybox/test_bk.png
|
||||
testskybox/test_dn.png
|
||||
testskybox/test_ft.png
|
||||
testskybox/test_lf.png
|
||||
testskybox/test_rt.png
|
||||
testskybox/test_up.png
|
||||
)
|
||||
|
||||
engine_add_executable(TARGET ${PROJECT_NAME} SRCS ${SRCS} FILES ${FILES} WINDOWED NOINSTALL)
|
||||
engine_target_link_libraries(TARGET ${PROJECT_NAME} DEPENDENCIES testcore)
|
|
@ -0,0 +1,51 @@
|
|||
/**
|
||||
* @file
|
||||
*/
|
||||
|
||||
#include "TestSkybox.h"
|
||||
#include "core/io/Filesystem.h"
|
||||
|
||||
TestSkybox::TestSkybox(const metric::MetricPtr& metric, const io::FilesystemPtr& filesystem,
|
||||
const core::EventBusPtr& eventBus, const core::TimeProviderPtr& timeProvider) :
|
||||
Super(metric, filesystem, eventBus, timeProvider) {
|
||||
init(ORGANISATION, "testskybox");
|
||||
}
|
||||
|
||||
core::AppState TestSkybox::onConstruct() {
|
||||
core::AppState state = Super::onConstruct();
|
||||
_skyboxVar = core::Var::get("skybox", "bluecloud");
|
||||
return state;
|
||||
}
|
||||
|
||||
core::AppState TestSkybox::onInit() {
|
||||
core::AppState state = Super::onInit();
|
||||
if (state != core::AppState::Running) {
|
||||
return state;
|
||||
}
|
||||
|
||||
_camera.setPosition(glm::backward);
|
||||
_camera.lookAt(glm::forward);
|
||||
if (!_skybox.init(_skyboxVar->strVal().c_str())) {
|
||||
Log::error("Failed to initialize the skybox");
|
||||
return core::AppState::InitFailure;
|
||||
}
|
||||
|
||||
return state;
|
||||
}
|
||||
|
||||
core::AppState TestSkybox::onCleanup() {
|
||||
core::AppState state = Super::onCleanup();
|
||||
_skybox.shutdown();
|
||||
return state;
|
||||
}
|
||||
|
||||
void TestSkybox::doRender() {
|
||||
if (_skyboxVar->isDirty()) {
|
||||
_skybox.shutdown();
|
||||
_skybox.init(_skyboxVar->strVal().c_str());
|
||||
_skyboxVar->markClean();
|
||||
}
|
||||
_skybox.render(_camera);
|
||||
}
|
||||
|
||||
TEST_APP(TestSkybox)
|
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* @file
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "testcore/TestApp.h"
|
||||
#include "render/Skybox.h"
|
||||
#include "core/Var.h"
|
||||
|
||||
/**
|
||||
* https://learnopengl.com/Advanced-OpenGL/Cubemaps
|
||||
*/
|
||||
class TestSkybox: public TestApp {
|
||||
private:
|
||||
using Super = TestApp;
|
||||
render::Skybox _skybox;
|
||||
core::VarPtr _skyboxVar;
|
||||
|
||||
void doRender() override;
|
||||
public:
|
||||
TestSkybox(const metric::MetricPtr& metric, const io::FilesystemPtr& filesystem, const core::EventBusPtr& eventBus, const core::TimeProviderPtr& timeProvider);
|
||||
|
||||
virtual core::AppState onConstruct() override;
|
||||
virtual core::AppState onInit() override;
|
||||
virtual core::AppState onCleanup() override;
|
||||
};
|
Loading…
Reference in New Issue