Remove redundancies
This commit is contained in:
@@ -31,10 +31,9 @@ namespace OpenVulkano
|
||||
class BillboardExampleAppImpl final : public BillboardExampleApp
|
||||
{
|
||||
public:
|
||||
|
||||
void Init() override
|
||||
{
|
||||
auto engineConfig = OpenVulkano::EngineConfiguration::GetEngineConfiguration();
|
||||
auto engineConfig = EngineConfiguration::GetEngineConfiguration();
|
||||
engineConfig->SetPreferFramebufferFormatSRGB(false);
|
||||
engineConfig->SetFpsCap(0); // monitor's refresh rate
|
||||
engineConfig->SetVSync(true);
|
||||
@@ -44,17 +43,17 @@ namespace OpenVulkano
|
||||
m_cam.Init(70, 16, 9, 0.1f, 100);
|
||||
m_scene.SetCamera(&m_cam);
|
||||
|
||||
m_quadBillboardShader.AddShaderProgram(OpenVulkano::ShaderProgramType::VERTEX, "Shader/billboardFromSinglePoint");
|
||||
m_quadBillboardShader.AddShaderProgram(OpenVulkano::ShaderProgramType::GEOMETRY, "Shader/billboardFromSinglePoint");
|
||||
m_quadBillboardShader.AddShaderProgram(OpenVulkano::ShaderProgramType::FRAGMENT, "Shader/basic");
|
||||
m_quadBillboardShader.AddVertexInputDescription(OpenVulkano::Vertex::GetVertexInputDescription());
|
||||
m_quadBillboardShader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/billboardFromSinglePoint");
|
||||
m_quadBillboardShader.AddShaderProgram(ShaderProgramType::GEOMETRY, "Shader/billboardFromSinglePoint");
|
||||
m_quadBillboardShader.AddShaderProgram(ShaderProgramType::FRAGMENT, "Shader/basic");
|
||||
m_quadBillboardShader.AddVertexInputDescription(Vertex::GetVertexInputDescription());
|
||||
m_quadBillboardShader.AddDescriptorSetLayoutBinding(Texture::DESCRIPTOR_SET_LAYOUT_BINDING);
|
||||
m_quadBillboardShader.AddDescriptorSetLayoutBinding(UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING, 4);
|
||||
m_quadBillboardShader.topology = Topology::POINT_LIST;
|
||||
|
||||
m_shader.AddShaderProgram(OpenVulkano::ShaderProgramType::VERTEX, "Shader/billboard");
|
||||
m_shader.AddShaderProgram(OpenVulkano::ShaderProgramType::FRAGMENT, "Shader/basic");
|
||||
m_shader.AddVertexInputDescription(OpenVulkano::Vertex::GetVertexInputDescription());
|
||||
m_shader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/billboard");
|
||||
m_shader.AddShaderProgram(ShaderProgramType::FRAGMENT, "Shader/basic");
|
||||
m_shader.AddVertexInputDescription(Vertex::GetVertexInputDescription());
|
||||
m_shader.AddDescriptorSetLayoutBinding(Texture::DESCRIPTOR_SET_LAYOUT_BINDING);
|
||||
m_shader.AddDescriptorSetLayoutBinding(UniformBuffer::DESCRIPTOR_SET_LAYOUT_BINDING, 4);
|
||||
m_shader.cullMode = CullMode::NONE;
|
||||
@@ -85,13 +84,13 @@ namespace OpenVulkano
|
||||
geo->vertices[0].color = glm::vec4(1, 1, 1, 1);
|
||||
else
|
||||
geo->vertices[0].color = glm::vec4(1, 0, 0, 1);
|
||||
m_nodesPool[i].SetMatrix(Math::Utils::translate(glm::mat4x4(1.f), Vector3f(-5 + std::rand() % 5, -5 + std::rand() % 5, std::rand() % 5)));
|
||||
m_nodesPool[i].SetMatrix(translate(glm::mat4x4(1.f), Vector3f(-5 + std::rand() % 5, -5 + std::rand() % 5, std::rand() % 5)));
|
||||
m_drawablesPool[i].Init(&m_quadBillboardShader, geo, &m_texturedMat, &m_uniBuffer);
|
||||
}
|
||||
else
|
||||
{
|
||||
*geo = GeometryFactory::MakePyramid(1, 1, glm::vec4(0, 1, 0, 1));
|
||||
m_nodesPool[i].SetMatrix(Math::Utils::translate(glm::mat4x4(1.f), Vector3f(-5 + std::rand() % 5, -5 + std::rand() % 5, -std::rand() % 10)));
|
||||
m_nodesPool[i].SetMatrix(translate(glm::mat4x4(1.f), Vector3f(-5 + std::rand() % 5, -5 + std::rand() % 5, -std::rand() % 10)));
|
||||
m_drawablesPool[i].Init(&m_shader, geo, &m_mat, &m_uniBuffer);
|
||||
}
|
||||
m_scene.GetRoot()->AddChild(&m_nodesPool[i]);
|
||||
@@ -105,8 +104,8 @@ namespace OpenVulkano
|
||||
m_camController.SetPosition({ 0, 0, 5 });
|
||||
m_camController.SetBoostFactor(5);
|
||||
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo =
|
||||
std::make_shared<OpenVulkano::Scene::UI::PerformanceInfo>();
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo =
|
||||
std::make_shared<UI::PerformanceInfo>();
|
||||
m_ui.AddElement(m_perfInfo);
|
||||
GetGraphicsAppManager()->GetRenderer()->SetActiveUi(&m_ui);
|
||||
}
|
||||
@@ -125,7 +124,7 @@ namespace OpenVulkano
|
||||
BillboardControlBlock m_bbContolBlock;
|
||||
PerspectiveCamera m_cam;
|
||||
UniformBuffer m_uniBuffer;
|
||||
OpenVulkano::FreeCamCameraController m_camController;
|
||||
FreeCamCameraController m_camController;
|
||||
Material m_mat;
|
||||
Material m_texturedMat;
|
||||
Shader m_shader;
|
||||
@@ -133,9 +132,9 @@ namespace OpenVulkano
|
||||
std::vector<SimpleDrawable> m_drawablesPool;
|
||||
std::vector<Node> m_nodesPool;
|
||||
Vector3f_SIMD m_position = { 0, 0, -10 };
|
||||
OpenVulkano::Scene::UI::SimpleUi m_ui;
|
||||
UI::SimpleUi m_ui;
|
||||
std::vector<Geometry> m_geo;
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo;
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo;
|
||||
};
|
||||
|
||||
IGraphicsApp* BillboardExampleApp::Create() { return new BillboardExampleAppImpl(); }
|
||||
|
||||
@@ -36,7 +36,7 @@ namespace OpenVulkano
|
||||
{
|
||||
OpenVulkano::Scene::Scene scene;
|
||||
PerspectiveCamera cam;
|
||||
OpenVulkano::FreeCamCameraController camController;
|
||||
FreeCamCameraController camController;
|
||||
Material mat;
|
||||
Shader shader;
|
||||
std::vector<SimpleDrawable> drawablesPool;
|
||||
@@ -44,13 +44,13 @@ namespace OpenVulkano
|
||||
Vector3f_SIMD position = {0, 0, -10};
|
||||
std::vector<Geometry> m_geos;
|
||||
|
||||
OpenVulkano::Scene::UI::SimpleUi m_ui;
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo;
|
||||
UI::SimpleUi m_ui;
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo;
|
||||
|
||||
public:
|
||||
void Init() override
|
||||
{
|
||||
auto engineConfig = OpenVulkano::EngineConfiguration::GetEngineConfiguration();
|
||||
auto engineConfig = EngineConfiguration::GetEngineConfiguration();
|
||||
//engineConfig->SetNumThreads(4);
|
||||
engineConfig->SetPreferFramebufferFormatSRGB(false);
|
||||
|
||||
@@ -58,9 +58,9 @@ namespace OpenVulkano
|
||||
scene.Init();
|
||||
cam.Init(70, 16, 9, 0.1f, 100);
|
||||
scene.SetCamera(&cam);
|
||||
shader.AddShaderProgram(OpenVulkano::ShaderProgramType::VERTEX, "Shader/basic");
|
||||
shader.AddShaderProgram(OpenVulkano::ShaderProgramType::FRAGMENT, "Shader/basic");
|
||||
shader.AddVertexInputDescription(OpenVulkano::Vertex::GetVertexInputDescription());
|
||||
shader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/basic");
|
||||
shader.AddShaderProgram(ShaderProgramType::FRAGMENT, "Shader/basic");
|
||||
shader.AddVertexInputDescription(Vertex::GetVertexInputDescription());
|
||||
drawablesPool.resize(GEOS);
|
||||
m_geos.reserve(GEOS);
|
||||
for (uint32_t i = 0; i < GEOS; i++)
|
||||
@@ -78,7 +78,7 @@ namespace OpenVulkano
|
||||
scene.GetRoot()->AddChild(&nodesPool[i]);
|
||||
if (i < DYNAMIC) nodesPool[i].SetUpdateFrequency(UpdateFrequency::Always);
|
||||
nodesPool[i].AddDrawable(&drawablesPool[std::rand() % GEOS]);
|
||||
nodesPool[i].SetMatrix(Math::Utils::translate(glm::mat4x4(1), Vector3f((std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5)));
|
||||
nodesPool[i].SetMatrix(translate(glm::mat4x4(1), Vector3f((std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5)));
|
||||
}
|
||||
|
||||
GetGraphicsAppManager()->GetRenderer()->SetScene(&scene);
|
||||
@@ -87,7 +87,7 @@ namespace OpenVulkano
|
||||
camController.SetDefaultKeybindings();
|
||||
camController.SetPosition({0, 0, 10});
|
||||
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo = std::make_shared<OpenVulkano::Scene::UI::PerformanceInfo>();
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo = std::make_shared<UI::PerformanceInfo>();
|
||||
m_ui.AddElement(m_perfInfo);
|
||||
GetGraphicsAppManager()->GetRenderer()->SetActiveUi(&m_ui);
|
||||
}
|
||||
@@ -96,7 +96,7 @@ namespace OpenVulkano
|
||||
{
|
||||
for (uint32_t i = 0; i < DYNAMIC; i++)
|
||||
{
|
||||
nodesPool[i].SetMatrix(glm::translate(glm::mat4x4(1), glm::vec3((std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5)));
|
||||
nodesPool[i].SetMatrix(translate(glm::mat4x4(1), glm::vec3((std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5, (std::rand() % 10000) / 1000.0f - 5)));
|
||||
}
|
||||
|
||||
camController.Tick();
|
||||
|
||||
@@ -7,14 +7,8 @@
|
||||
#include "LabelDrawableExampleApp.hpp"
|
||||
#include "Scene/Scene.hpp"
|
||||
#include "Scene/Shader/Shader.hpp"
|
||||
#include "Scene/Geometry.hpp"
|
||||
#include "Scene/TextDrawable.hpp"
|
||||
#include "Scene/GeometryFactory.hpp"
|
||||
#include "Scene/Material.hpp"
|
||||
#include "Scene/Vertex.hpp"
|
||||
#include "Scene/SimpleDrawable.hpp"
|
||||
#include "Scene/UI/PerformanceInfo.hpp"
|
||||
#include "Scene/UniformBuffer.hpp"
|
||||
#include "Scene/Prefabs/LabelDrawable.hpp"
|
||||
#include "Input/InputManager.hpp"
|
||||
#include "Host/GraphicsAppManager.hpp"
|
||||
@@ -23,9 +17,7 @@
|
||||
#include "Math/Math.hpp"
|
||||
#include "Base/EngineConfiguration.hpp"
|
||||
#include "Controller/FreeCamCameraController.hpp"
|
||||
#include "Image/ImageLoaderPng.hpp"
|
||||
#include "Scene/SdfFontAtlasGenerator.hpp"
|
||||
#include "Scene/IFontAtlasGenerator.hpp"
|
||||
#include <filesystem>
|
||||
|
||||
#ifdef _WIN32
|
||||
@@ -45,9 +37,7 @@ namespace OpenVulkano
|
||||
|
||||
void Init() override
|
||||
{
|
||||
auto engineConfig = OpenVulkano::EngineConfiguration::GetEngineConfiguration();
|
||||
engineConfig->SetNumThreads(1);
|
||||
engineConfig->SetPreferFramebufferFormatSRGB(false);
|
||||
EngineConfiguration::GetEngineConfiguration()->SetPreferFramebufferFormatSRGB(false);
|
||||
|
||||
std::srand(1); // Fix seed for random numbers
|
||||
m_scene.Init();
|
||||
@@ -74,10 +64,10 @@ namespace OpenVulkano
|
||||
}
|
||||
else
|
||||
{
|
||||
labelSettings.hasRoundedCorners = (i % 2 == 0 ? 0 : 1);
|
||||
labelSettings.hasArrow = (i % 2 == 0 ? 1 : 0);
|
||||
labelSettings.hasRoundedCorners = i % 2 == 0 ? 0 : 1;
|
||||
labelSettings.hasArrow = i % 2 == 0 ? 1 : 0;
|
||||
}
|
||||
bool isBillboard = (i % 2 == 0 ? 1 : 0);
|
||||
bool isBillboard = i % 2 == 0 ? 1 : 0;
|
||||
LabelDrawable& label = m_drawablesPool.emplace_back(textDrawable.GetAtlasData(), labelSettings, isBillboard);
|
||||
label.SetBillboardSettings(billboardSettings);
|
||||
label.AddText(texts[i]);
|
||||
@@ -100,8 +90,8 @@ namespace OpenVulkano
|
||||
m_camController.SetPosition({ 0, 0, 10 });
|
||||
m_camController.SetBoostFactor(5);
|
||||
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo =
|
||||
std::make_shared<OpenVulkano::Scene::UI::PerformanceInfo>();
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo =
|
||||
std::make_shared<UI::PerformanceInfo>();
|
||||
m_ui.AddElement(m_perfInfo);
|
||||
GetGraphicsAppManager()->GetRenderer()->SetActiveUi(&m_ui);
|
||||
}
|
||||
@@ -116,12 +106,12 @@ namespace OpenVulkano
|
||||
private:
|
||||
OpenVulkano::Scene::Scene m_scene;
|
||||
PerspectiveCamera m_cam;
|
||||
OpenVulkano::FreeCamCameraController m_camController;
|
||||
FreeCamCameraController m_camController;
|
||||
std::vector<LabelDrawable> m_drawablesPool;
|
||||
std::vector<Node> m_nodesPool;
|
||||
Vector3f_SIMD m_position = { 0, 0, -10 };
|
||||
OpenVulkano::Scene::UI::SimpleUi m_ui;
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo;
|
||||
UI::SimpleUi m_ui;
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo;
|
||||
};
|
||||
|
||||
IGraphicsApp* LabelDrawableExampleApp::Create() { return new LabelDrawableExampleAppImpl(); }
|
||||
|
||||
@@ -17,16 +17,12 @@
|
||||
#include "Scene/SimpleAnimationController.hpp"
|
||||
#include "Scene/SequenceAnimationController.hpp"
|
||||
#include "Scene/MorphableCameraController.hpp"
|
||||
#include "Scene/PlaneCameraController.hpp"
|
||||
#include "Scene/UI/PerformanceInfo.hpp"
|
||||
#include "Scene/SceneIntersectionTestController.hpp"
|
||||
#include "Input/InputManager.hpp"
|
||||
#include "Host/GraphicsAppManager.hpp"
|
||||
#include "Base/EngineConfiguration.hpp"
|
||||
#include "Base/Logger.hpp"
|
||||
#include "Controller/FreeCamCameraController.hpp"
|
||||
#include "Scene/Prefabs/LabelDrawable.hpp"
|
||||
#include "Scene/SimpleDrawable.hpp"
|
||||
#include "Scene/Ray.hpp"
|
||||
|
||||
#define USE_PLANE_CAM_CONTROL 0
|
||||
|
||||
@@ -9,12 +9,8 @@
|
||||
#include "Scene/Shader/Shader.hpp"
|
||||
#include "Scene/Geometry.hpp"
|
||||
#include "Scene/TextDrawable.hpp"
|
||||
#include "Scene/GeometryFactory.hpp"
|
||||
#include "Scene/Material.hpp"
|
||||
#include "Scene/Vertex.hpp"
|
||||
#include "Scene/SimpleDrawable.hpp"
|
||||
#include "Scene/UI/PerformanceInfo.hpp"
|
||||
#include "Scene/UniformBuffer.hpp"
|
||||
#include "Input/InputManager.hpp"
|
||||
#include "Host/GraphicsAppManager.hpp"
|
||||
#include "Host/GLFW/WindowGLFW.hpp"
|
||||
@@ -22,9 +18,7 @@
|
||||
#include "Math/Math.hpp"
|
||||
#include "Base/EngineConfiguration.hpp"
|
||||
#include "Controller/FreeCamCameraController.hpp"
|
||||
#include "Image/ImageLoaderPng.hpp"
|
||||
#include "Scene/SdfFontAtlasGenerator.hpp"
|
||||
#include "Scene/IFontAtlasGenerator.hpp"
|
||||
#include "Scene/BitmapFontAtlasGenerator.hpp"
|
||||
#include <filesystem>
|
||||
|
||||
@@ -45,11 +39,9 @@ namespace OpenVulkano
|
||||
class TextExampleAppImpl final : public TextExampleApp
|
||||
{
|
||||
public:
|
||||
|
||||
void Init() override
|
||||
{
|
||||
auto engineConfig = OpenVulkano::EngineConfiguration::GetEngineConfiguration();
|
||||
engineConfig->SetPreferFramebufferFormatSRGB(false);
|
||||
EngineConfiguration::GetEngineConfiguration()->SetPreferFramebufferFormatSRGB(false);
|
||||
|
||||
std::srand(1); // Fix seed for random numbers
|
||||
m_scene.Init();
|
||||
@@ -72,6 +64,7 @@ namespace OpenVulkano
|
||||
|
||||
if constexpr (CREATE_BITMAP_ATLAS)
|
||||
{
|
||||
// ReSharper disable once CppDFAUnreachableCode
|
||||
std::set<uint32_t> s = BitmapFontAtlasGenerator::LoadAllGlyphs(fontPath);
|
||||
BitmapFontAtlasGenerator generator;
|
||||
generator.GenerateAtlas(fontPath, s);
|
||||
@@ -133,10 +126,10 @@ namespace OpenVulkano
|
||||
//TextDrawable* t = new TextDrawable(metadataInfo, &tex, texts[i].second);
|
||||
#endif // MSDFGEN_AVAILABLE
|
||||
t->GenerateText(texts[textIdx].first);
|
||||
m_drawablesPool[i] = t;
|
||||
m_drawablesPool[i].reset(t);
|
||||
m_nodesPool[i].Init();
|
||||
m_nodesPool[i].SetMatrix(Math::Utils::translate(glm::mat4x4(1.f), Vector3f(xOffset, 2 - textIdx * 2, 0)));
|
||||
m_nodesPool[i].AddDrawable(m_drawablesPool[i]);
|
||||
m_nodesPool[i].AddDrawable(m_drawablesPool[i].get());
|
||||
m_scene.GetRoot()->AddChild(&m_nodesPool[i]);
|
||||
}
|
||||
GetGraphicsAppManager()->GetRenderer()->SetScene(&m_scene);
|
||||
@@ -145,8 +138,8 @@ namespace OpenVulkano
|
||||
m_camController.SetPosition({ 10, 0, 15 });
|
||||
m_camController.SetBoostFactor(5);
|
||||
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo =
|
||||
std::make_shared<OpenVulkano::Scene::UI::PerformanceInfo>();
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo =
|
||||
std::make_shared<UI::PerformanceInfo>();
|
||||
m_ui.AddElement(m_perfInfo);
|
||||
GetGraphicsAppManager()->GetRenderer()->SetActiveUi(&m_ui);
|
||||
}
|
||||
@@ -158,26 +151,22 @@ namespace OpenVulkano
|
||||
|
||||
void Close() override
|
||||
{
|
||||
for (Drawable* d: m_drawablesPool)
|
||||
{
|
||||
d->Close();
|
||||
delete d;
|
||||
}
|
||||
m_drawablesPool.clear();
|
||||
}
|
||||
|
||||
private:
|
||||
OpenVulkano::Scene::Scene m_scene;
|
||||
PerspectiveCamera m_cam;
|
||||
OpenVulkano::FreeCamCameraController m_camController;
|
||||
FreeCamCameraController m_camController;
|
||||
#ifdef MSDFGEN_AVAILABLE
|
||||
SdfFontAtlasGenerator m_atlasGenerator;
|
||||
MsdfFontAtlasGenerator m_msdfAtlasGenerator;
|
||||
#endif
|
||||
std::vector<Drawable*> m_drawablesPool;
|
||||
std::vector<std::unique_ptr<Drawable>> m_drawablesPool;
|
||||
std::vector<Node> m_nodesPool;
|
||||
Vector3f_SIMD m_position = { 0, 0, -10 };
|
||||
OpenVulkano::Scene::UI::SimpleUi m_ui;
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo;
|
||||
UI::SimpleUi m_ui;
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo;
|
||||
};
|
||||
|
||||
IGraphicsApp* TextExampleApp::Create() { return new TextExampleAppImpl(); }
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
#include "Input/InputManager.hpp"
|
||||
#include "Host/GraphicsAppManager.hpp"
|
||||
#include "Math/Math.hpp"
|
||||
#include "Base/EngineConfiguration.hpp"
|
||||
#include "Controller/FreeCamCameraController.hpp"
|
||||
#include "Base/FrameMetadata.hpp"
|
||||
|
||||
@@ -30,14 +29,14 @@ namespace OpenVulkano
|
||||
{
|
||||
OpenVulkano::Scene::Scene scene;
|
||||
PerspectiveCamera cam;
|
||||
OpenVulkano::FreeCamCameraController camController;
|
||||
FreeCamCameraController camController;
|
||||
Material mat;
|
||||
Shader shader;
|
||||
SimpleDrawable drawable;
|
||||
Node node;
|
||||
|
||||
OpenVulkano::Scene::UI::SimpleUi m_ui;
|
||||
std::shared_ptr<OpenVulkano::Scene::UI::PerformanceInfo> m_perfInfo;
|
||||
UI::SimpleUi m_ui;
|
||||
std::shared_ptr<UI::PerformanceInfo> m_perfInfo;
|
||||
|
||||
public:
|
||||
void Init() override
|
||||
@@ -45,9 +44,9 @@ namespace OpenVulkano
|
||||
scene.Init();
|
||||
cam.Init(70, 16, 9, 0.1f, 100);
|
||||
scene.SetCamera(&cam);
|
||||
shader.AddShaderProgram(OpenVulkano::ShaderProgramType::VERTEX, "Shader/basic");
|
||||
shader.AddShaderProgram(OpenVulkano::ShaderProgramType::FRAGMENT, "Shader/basicTexture");
|
||||
shader.AddVertexInputDescription(OpenVulkano::Vertex::GetVertexInputDescription());
|
||||
shader.AddShaderProgram(ShaderProgramType::VERTEX, "Shader/basic");
|
||||
shader.AddShaderProgram(ShaderProgramType::FRAGMENT, "Shader/basicTexture");
|
||||
shader.AddVertexInputDescription(Vertex::GetVertexInputDescription());
|
||||
shader.AddDescriptorSetLayoutBinding(Texture::DESCRIPTOR_SET_LAYOUT_BINDING);
|
||||
static Geometry geo = GeometryFactory::MakeCube();
|
||||
mat.texture = &Texture::PLACEHOLDER;
|
||||
@@ -63,7 +62,7 @@ namespace OpenVulkano
|
||||
//camController.SetDefaultKeybindings();
|
||||
camController.SetPosition({0, 0, 2});
|
||||
|
||||
m_perfInfo = std::make_shared<OpenVulkano::Scene::UI::PerformanceInfo>();
|
||||
m_perfInfo = std::make_shared<UI::PerformanceInfo>();
|
||||
m_ui.AddElement(m_perfInfo);
|
||||
GetGraphicsAppManager()->GetRenderer()->SetActiveUi(&m_ui);
|
||||
}
|
||||
@@ -73,9 +72,9 @@ namespace OpenVulkano
|
||||
{
|
||||
t += CURRENT_FRAME.frameTime * 0.25;
|
||||
|
||||
Math::Matrix4f rotation = Math::Utils::rotate(t, Math::Vector3f_SIMD{1.0f, 0.0f, 0.0f});
|
||||
rotation *= Math::Utils::rotate(t, Math::Vector3f_SIMD{0.0f, 1.0f, 0.0f});
|
||||
rotation *= Math::Utils::rotate(t, Math::Vector3f_SIMD{0.0f, 0.0f, 1.0f});
|
||||
Matrix4f rotation = Math::Utils::rotate(t, Vector3f_SIMD{1.0f, 0.0f, 0.0f});
|
||||
rotation *= Math::Utils::rotate(t, Vector3f_SIMD{0.0f, 1.0f, 0.0f});
|
||||
rotation *= Math::Utils::rotate(t, Vector3f_SIMD{0.0f, 0.0f, 1.0f});
|
||||
node.SetMatrix(rotation);
|
||||
|
||||
camController.Tick();
|
||||
|
||||
@@ -29,27 +29,12 @@ int main(int argc, char** argv)
|
||||
int selectedExample = 0;
|
||||
ftxui::MenuOption option;
|
||||
auto screen = ftxui::ScreenInteractive::TerminalOutput();
|
||||
screen.ForceHandleCtrlC(true);
|
||||
//screen.ForceHandleCtrlZ(true);
|
||||
option.on_enter = screen.ExitLoopClosure();
|
||||
auto menu = ftxui::Menu(&examples, &selectedExample, option);
|
||||
bool shouldExit = false;
|
||||
menu |= ftxui::CatchEvent(
|
||||
[&](ftxui::Event event)
|
||||
{
|
||||
if (event == ftxui::Event::CtrlC || event == ftxui::Event::CtrlZ)
|
||||
{
|
||||
screen.ExitLoopClosure()();
|
||||
shouldExit = true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
bool shouldExit = true;
|
||||
option.on_enter = [&] { shouldExit = false; screen.ExitLoopClosure(); };
|
||||
screen.Loop(menu);
|
||||
|
||||
if (shouldExit)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (shouldExit) return 0;
|
||||
|
||||
if (selectedExample >= examples.size())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user