mirror of
https://github.com/brunoherbelin/vimix.git
synced 2025-12-12 02:40:00 +01:00
Categories of Settings to make things more clear.
This commit is contained in:
@@ -51,7 +51,7 @@ void FrameBuffer::init()
|
|||||||
glBindFramebuffer(GL_FRAMEBUFFER, framebufferid_);
|
glBindFramebuffer(GL_FRAMEBUFFER, framebufferid_);
|
||||||
|
|
||||||
// take settings into account: no multisampling for level 0
|
// take settings into account: no multisampling for level 0
|
||||||
use_multi_sampling_ &= Settings::application.render_multisampling > 0;
|
use_multi_sampling_ &= Settings::application.render.multisampling > 0;
|
||||||
|
|
||||||
if (use_multi_sampling_){
|
if (use_multi_sampling_){
|
||||||
|
|
||||||
@@ -60,7 +60,7 @@ void FrameBuffer::init()
|
|||||||
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, intermediate_textureid_);
|
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, intermediate_textureid_);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
|
||||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
|
||||||
glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, Settings::application.render_multisampling,
|
glTexImage2DMultisample(GL_TEXTURE_2D_MULTISAMPLE, Settings::application.render.multisampling,
|
||||||
use_alpha_ ? GL_RGBA : GL_RGB, attrib_.viewport.x, attrib_.viewport.y, GL_TRUE);
|
use_alpha_ ? GL_RGBA : GL_RGB, attrib_.viewport.x, attrib_.viewport.y, GL_TRUE);
|
||||||
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, 0);
|
glBindTexture(GL_TEXTURE_2D_MULTISAMPLE, 0);
|
||||||
|
|
||||||
|
|||||||
@@ -286,7 +286,7 @@ void ImGuiVisitor::visit (MediaSource& s)
|
|||||||
else {
|
else {
|
||||||
ImGui::Text("Video File");
|
ImGui::Text("Video File");
|
||||||
if ( ImGui::Button(IMGUI_TITLE_MEDIAPLAYER, ImVec2(IMGUI_RIGHT_ALIGN, 0)) )
|
if ( ImGui::Button(IMGUI_TITLE_MEDIAPLAYER, ImVec2(IMGUI_RIGHT_ALIGN, 0)) )
|
||||||
Settings::application.media_player = true;
|
Settings::application.widget.media_player = true;
|
||||||
}
|
}
|
||||||
ImGuiToolkit::ButtonOpenUrl( SystemToolkit::path_filename(s.path()).c_str(), ImVec2(IMGUI_RIGHT_ALIGN, 0) );
|
ImGuiToolkit::ButtonOpenUrl( SystemToolkit::path_filename(s.path()).c_str(), ImVec2(IMGUI_RIGHT_ALIGN, 0) );
|
||||||
}
|
}
|
||||||
@@ -306,7 +306,7 @@ void ImGuiVisitor::visit (RenderSource& s)
|
|||||||
{
|
{
|
||||||
ImGui::Text("Rendering Output");
|
ImGui::Text("Rendering Output");
|
||||||
if ( ImGui::Button(IMGUI_TITLE_PREVIEW, ImVec2(IMGUI_RIGHT_ALIGN, 0)) )
|
if ( ImGui::Button(IMGUI_TITLE_PREVIEW, ImVec2(IMGUI_RIGHT_ALIGN, 0)) )
|
||||||
Settings::application.preview = true;
|
Settings::application.widget.preview = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImGuiVisitor::visit (CloneSource& s)
|
void ImGuiVisitor::visit (CloneSource& s)
|
||||||
|
|||||||
@@ -135,7 +135,7 @@ bool Rendering::init()
|
|||||||
//
|
//
|
||||||
// OpenGL Multisampling main window
|
// OpenGL Multisampling main window
|
||||||
//
|
//
|
||||||
glfwWindowHint(GLFW_SAMPLES, Settings::application.render_multisampling);
|
glfwWindowHint(GLFW_SAMPLES, Settings::application.render.multisampling);
|
||||||
main_.init(0);
|
main_.init(0);
|
||||||
// set application icon
|
// set application icon
|
||||||
main_.setIcon("images/vimix_256x256.png");
|
main_.setIcon("images/vimix_256x256.png");
|
||||||
@@ -594,7 +594,7 @@ bool RenderingWindow::init(int id, GLFWwindow *share)
|
|||||||
// if not main window
|
// if not main window
|
||||||
if ( master_ != NULL ) {
|
if ( master_ != NULL ) {
|
||||||
// Disable vsync
|
// Disable vsync
|
||||||
glfwSwapInterval(Settings::application.render_vsync);
|
glfwSwapInterval(Settings::application.render.vsync);
|
||||||
// no need for multisampling
|
// no need for multisampling
|
||||||
glDisable(GL_MULTISAMPLE);
|
glDisable(GL_MULTISAMPLE);
|
||||||
// clear to black
|
// clear to black
|
||||||
@@ -606,7 +606,7 @@ bool RenderingWindow::init(int id, GLFWwindow *share)
|
|||||||
// Enable vsync on main window
|
// Enable vsync on main window
|
||||||
glfwSwapInterval(0);
|
glfwSwapInterval(0);
|
||||||
// enable Antialiasing multisampling
|
// enable Antialiasing multisampling
|
||||||
if (Settings::application.render_multisampling > 0) {
|
if (Settings::application.render.multisampling > 0) {
|
||||||
glEnable(GL_MULTISAMPLE);
|
glEnable(GL_MULTISAMPLE);
|
||||||
glHint(GL_MULTISAMPLE_FILTER_HINT_NV, GL_NICEST);
|
glHint(GL_MULTISAMPLE_FILTER_HINT_NV, GL_NICEST);
|
||||||
}
|
}
|
||||||
@@ -665,7 +665,7 @@ void RenderingWindow::draw(FrameBuffer *fb)
|
|||||||
glClear(GL_COLOR_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
// blit framebuffer
|
// blit framebuffer
|
||||||
if (Settings::application.render_blit) {
|
if (Settings::application.render.blit) {
|
||||||
|
|
||||||
if ( textureid_ != fb->texture()) {
|
if ( textureid_ != fb->texture()) {
|
||||||
|
|
||||||
|
|||||||
78
Settings.cpp
78
Settings.cpp
@@ -51,28 +51,37 @@ void Settings::Save()
|
|||||||
pRoot->InsertEndChild(windowsNode);
|
pRoot->InsertEndChild(windowsNode);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// General application preferences
|
||||||
XMLElement *applicationNode = xmlDoc.NewElement( "Application" );
|
XMLElement *applicationNode = xmlDoc.NewElement( "Application" );
|
||||||
applicationNode->SetAttribute("scale", application.scale);
|
applicationNode->SetAttribute("scale", application.scale);
|
||||||
applicationNode->SetAttribute("accent_color", application.accent_color);
|
applicationNode->SetAttribute("accent_color", application.accent_color);
|
||||||
applicationNode->SetAttribute("preview", application.preview);
|
|
||||||
applicationNode->SetAttribute("media_player", application.media_player);
|
|
||||||
applicationNode->SetAttribute("shader_editor", application.shader_editor);
|
|
||||||
applicationNode->SetAttribute("pannel_stick", application.pannel_stick);
|
applicationNode->SetAttribute("pannel_stick", application.pannel_stick);
|
||||||
applicationNode->SetAttribute("stats", application.stats);
|
|
||||||
applicationNode->SetAttribute("stats_corner", application.stats_corner);
|
|
||||||
applicationNode->SetAttribute("logs", application.logs);
|
|
||||||
applicationNode->SetAttribute("toolbox", application.toolbox);
|
|
||||||
applicationNode->SetAttribute("framebuffer_ar", application.framebuffer_ar);
|
|
||||||
applicationNode->SetAttribute("framebuffer_h", application.framebuffer_h);
|
|
||||||
applicationNode->SetAttribute("render_vsync", application.render_vsync);
|
|
||||||
applicationNode->SetAttribute("render_multisampling", application.render_multisampling);
|
|
||||||
applicationNode->SetAttribute("render_blit", application.render_blit);
|
|
||||||
pRoot->InsertEndChild(applicationNode);
|
pRoot->InsertEndChild(applicationNode);
|
||||||
|
|
||||||
|
// Widgets
|
||||||
|
XMLElement *widgetsNode = xmlDoc.NewElement( "Widgets" );
|
||||||
|
widgetsNode->SetAttribute("preview", application.widget.preview);
|
||||||
|
widgetsNode->SetAttribute("media_player", application.widget.media_player);
|
||||||
|
widgetsNode->SetAttribute("shader_editor", application.widget.shader_editor);
|
||||||
|
widgetsNode->SetAttribute("stats", application.widget.stats);
|
||||||
|
widgetsNode->SetAttribute("stats_corner", application.widget.stats_corner);
|
||||||
|
widgetsNode->SetAttribute("logs", application.widget.logs);
|
||||||
|
widgetsNode->SetAttribute("toolbox", application.widget.toolbox);
|
||||||
|
pRoot->InsertEndChild(widgetsNode);
|
||||||
|
|
||||||
|
// Render
|
||||||
|
XMLElement *RenderNode = xmlDoc.NewElement( "Render" );
|
||||||
|
RenderNode->SetAttribute("vsync", application.render.vsync);
|
||||||
|
RenderNode->SetAttribute("multisampling", application.render.multisampling);
|
||||||
|
RenderNode->SetAttribute("blit", application.render.blit);
|
||||||
|
pRoot->InsertEndChild(RenderNode);
|
||||||
|
|
||||||
// bloc views
|
// bloc views
|
||||||
{
|
{
|
||||||
XMLElement *viewsNode = xmlDoc.NewElement( "Views" );
|
XMLElement *viewsNode = xmlDoc.NewElement( "Views" );
|
||||||
viewsNode->SetAttribute("current", application.current_view);
|
viewsNode->SetAttribute("current", application.current_view);
|
||||||
|
viewsNode->SetAttribute("render_view_ar", application.render_view_ar);
|
||||||
|
viewsNode->SetAttribute("render_view_h", application.render_view_h);
|
||||||
|
|
||||||
map<int, Settings::ViewConfig>::iterator iter;
|
map<int, Settings::ViewConfig>::iterator iter;
|
||||||
for (iter=application.views.begin(); iter != application.views.end(); iter++)
|
for (iter=application.views.begin(); iter != application.views.end(); iter++)
|
||||||
@@ -157,23 +166,32 @@ void Settings::Load()
|
|||||||
// different root name
|
// different root name
|
||||||
return;
|
return;
|
||||||
|
|
||||||
XMLElement * pElement = pRoot->FirstChildElement("Application");
|
XMLElement * applicationNode = pRoot->FirstChildElement("Application");
|
||||||
if (pElement == nullptr) return;
|
if (applicationNode != nullptr) {
|
||||||
pElement->QueryFloatAttribute("scale", &application.scale);
|
applicationNode->QueryFloatAttribute("scale", &application.scale);
|
||||||
pElement->QueryIntAttribute("accent_color", &application.accent_color);
|
applicationNode->QueryIntAttribute("accent_color", &application.accent_color);
|
||||||
pElement->QueryBoolAttribute("preview", &application.preview);
|
applicationNode->QueryBoolAttribute("pannel_stick", &application.pannel_stick);
|
||||||
pElement->QueryBoolAttribute("media_player", &application.media_player);
|
}
|
||||||
pElement->QueryBoolAttribute("shader_editor", &application.shader_editor);
|
|
||||||
pElement->QueryBoolAttribute("pannel_stick", &application.pannel_stick);
|
// Widgets
|
||||||
pElement->QueryBoolAttribute("stats", &application.stats);
|
XMLElement * widgetsNode = pRoot->FirstChildElement("Widgets");
|
||||||
pElement->QueryBoolAttribute("logs", &application.logs);
|
if (widgetsNode != nullptr) {
|
||||||
pElement->QueryBoolAttribute("toolbox", &application.toolbox);
|
widgetsNode->QueryBoolAttribute("preview", &application.widget.preview);
|
||||||
pElement->QueryIntAttribute("stats_corner", &application.stats_corner);
|
widgetsNode->QueryBoolAttribute("media_player", &application.widget.media_player);
|
||||||
pElement->QueryIntAttribute("framebuffer_ar", &application.framebuffer_ar);
|
widgetsNode->QueryBoolAttribute("shader_editor", &application.widget.shader_editor);
|
||||||
pElement->QueryIntAttribute("framebuffer_h", &application.framebuffer_h);
|
widgetsNode->QueryBoolAttribute("stats", &application.widget.stats);
|
||||||
pElement->QueryIntAttribute("render_vsync", &application.render_vsync);
|
widgetsNode->QueryIntAttribute("stats_corner", &application.widget.stats_corner);
|
||||||
pElement->QueryIntAttribute("render_multisampling", &application.render_multisampling);
|
widgetsNode->QueryBoolAttribute("logs", &application.widget.logs);
|
||||||
pElement->QueryBoolAttribute("render_blit", &application.render_blit);
|
widgetsNode->QueryBoolAttribute("toolbox", &application.widget.toolbox);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Render
|
||||||
|
XMLElement * rendernode = pRoot->FirstChildElement("Render");
|
||||||
|
if (rendernode != nullptr) {
|
||||||
|
rendernode->QueryIntAttribute("vsync", &application.render.vsync);
|
||||||
|
rendernode->QueryIntAttribute("multisampling", &application.render.multisampling);
|
||||||
|
rendernode->QueryBoolAttribute("blit", &application.render.blit);
|
||||||
|
}
|
||||||
|
|
||||||
// bloc windows
|
// bloc windows
|
||||||
{
|
{
|
||||||
@@ -206,6 +224,8 @@ void Settings::Load()
|
|||||||
if (pElement)
|
if (pElement)
|
||||||
{
|
{
|
||||||
pElement->QueryIntAttribute("current", &application.current_view);
|
pElement->QueryIntAttribute("current", &application.current_view);
|
||||||
|
pElement->QueryIntAttribute("render_view_ar", &application.render_view_ar);
|
||||||
|
pElement->QueryIntAttribute("render_view_h", &application.render_view_h);
|
||||||
|
|
||||||
XMLElement* viewNode = pElement->FirstChildElement("View");
|
XMLElement* viewNode = pElement->FirstChildElement("View");
|
||||||
for( ; viewNode ; viewNode=viewNode->NextSiblingElement())
|
for( ; viewNode ; viewNode=viewNode->NextSiblingElement())
|
||||||
|
|||||||
71
Settings.h
71
Settings.h
@@ -11,6 +11,27 @@
|
|||||||
|
|
||||||
namespace Settings {
|
namespace Settings {
|
||||||
|
|
||||||
|
struct WidgetsConfig
|
||||||
|
{
|
||||||
|
bool stats;
|
||||||
|
int stats_corner;
|
||||||
|
bool logs;
|
||||||
|
bool preview;
|
||||||
|
bool media_player;
|
||||||
|
bool shader_editor;
|
||||||
|
bool toolbox;
|
||||||
|
|
||||||
|
WidgetsConfig() {
|
||||||
|
stats = false;
|
||||||
|
stats_corner = 1;
|
||||||
|
logs = false;
|
||||||
|
preview = false;
|
||||||
|
media_player = false;
|
||||||
|
shader_editor = false;
|
||||||
|
toolbox = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
struct WindowConfig
|
struct WindowConfig
|
||||||
{
|
{
|
||||||
std::string name;
|
std::string name;
|
||||||
@@ -55,6 +76,19 @@ struct History
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct RenderConfig
|
||||||
|
{
|
||||||
|
int vsync;
|
||||||
|
int multisampling;
|
||||||
|
bool blit;
|
||||||
|
|
||||||
|
RenderConfig() {
|
||||||
|
vsync = 1; // todo GUI selection
|
||||||
|
multisampling = 2; // todo GUI selection
|
||||||
|
blit = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
struct Application
|
struct Application
|
||||||
{
|
{
|
||||||
// Verification
|
// Verification
|
||||||
@@ -63,23 +97,19 @@ struct Application
|
|||||||
// Global settings Application interface
|
// Global settings Application interface
|
||||||
float scale;
|
float scale;
|
||||||
int accent_color;
|
int accent_color;
|
||||||
bool stats;
|
|
||||||
int stats_corner;
|
|
||||||
bool logs;
|
|
||||||
bool preview;
|
|
||||||
bool media_player;
|
|
||||||
bool shader_editor;
|
|
||||||
bool pannel_stick;
|
bool pannel_stick;
|
||||||
bool toolbox;
|
|
||||||
|
// Settings of widgets
|
||||||
|
WidgetsConfig widget;
|
||||||
|
|
||||||
// Settings of Views
|
// Settings of Views
|
||||||
int current_view;
|
int current_view;
|
||||||
|
int render_view_ar;
|
||||||
|
int render_view_h;
|
||||||
std::map<int, ViewConfig> views;
|
std::map<int, ViewConfig> views;
|
||||||
int framebuffer_ar;
|
|
||||||
int framebuffer_h;
|
// settings render
|
||||||
int render_vsync;
|
RenderConfig render;
|
||||||
int render_multisampling;
|
|
||||||
bool render_blit;
|
|
||||||
|
|
||||||
// multiple windows handling
|
// multiple windows handling
|
||||||
std::vector<WindowConfig> windows;
|
std::vector<WindowConfig> windows;
|
||||||
@@ -91,21 +121,12 @@ struct Application
|
|||||||
Application() : name(APP_NAME){
|
Application() : name(APP_NAME){
|
||||||
scale = 1.f;
|
scale = 1.f;
|
||||||
accent_color = 0;
|
accent_color = 0;
|
||||||
stats = false;
|
|
||||||
stats_corner = 1;
|
|
||||||
logs = false;
|
|
||||||
preview = false;
|
|
||||||
media_player = false;
|
|
||||||
shader_editor = false;
|
|
||||||
pannel_stick = false;
|
pannel_stick = false;
|
||||||
toolbox = false;
|
|
||||||
current_view = 1;
|
current_view = 1;
|
||||||
framebuffer_ar = 3;
|
render_view_ar = 3;
|
||||||
framebuffer_h = 1;
|
render_view_h = 1;
|
||||||
render_vsync = 1; // todo GUI selection
|
|
||||||
render_multisampling = 2; // todo GUI selection
|
|
||||||
render_blit = false;
|
|
||||||
std::vector<int> second (4,100);
|
|
||||||
windows = std::vector<WindowConfig>(3);
|
windows = std::vector<WindowConfig>(3);
|
||||||
windows[0].name = APP_NAME APP_TITLE;
|
windows[0].name = APP_NAME APP_TITLE;
|
||||||
windows[0].w = 1600;
|
windows[0].w = 1600;
|
||||||
|
|||||||
@@ -235,19 +235,19 @@ void UserInterface::handleKeyboard()
|
|||||||
}
|
}
|
||||||
else if (ImGui::IsKeyPressed( GLFW_KEY_L )) {
|
else if (ImGui::IsKeyPressed( GLFW_KEY_L )) {
|
||||||
// Logs
|
// Logs
|
||||||
Settings::application.logs = !Settings::application.logs;
|
Settings::application.widget.logs = !Settings::application.widget.logs;
|
||||||
}
|
}
|
||||||
else if (ImGui::IsKeyPressed( GLFW_KEY_T )) {
|
else if (ImGui::IsKeyPressed( GLFW_KEY_T )) {
|
||||||
// Logs
|
// Logs
|
||||||
Settings::application.toolbox = !Settings::application.toolbox;
|
Settings::application.widget.toolbox = !Settings::application.widget.toolbox;
|
||||||
}
|
}
|
||||||
else if (ImGui::IsKeyPressed( GLFW_KEY_P )) {
|
else if (ImGui::IsKeyPressed( GLFW_KEY_P )) {
|
||||||
// Logs
|
// Logs
|
||||||
Settings::application.preview = !Settings::application.preview;
|
Settings::application.widget.preview = !Settings::application.widget.preview;
|
||||||
}
|
}
|
||||||
else if (ImGui::IsKeyPressed( GLFW_KEY_M )) {
|
else if (ImGui::IsKeyPressed( GLFW_KEY_M )) {
|
||||||
// Logs
|
// Logs
|
||||||
Settings::application.media_player = !Settings::application.media_player;
|
Settings::application.widget.media_player = !Settings::application.widget.media_player;
|
||||||
}
|
}
|
||||||
else if (ImGui::IsKeyPressed( GLFW_KEY_A )) {
|
else if (ImGui::IsKeyPressed( GLFW_KEY_A )) {
|
||||||
// select all
|
// select all
|
||||||
@@ -536,18 +536,18 @@ void UserInterface::Render()
|
|||||||
Log::Render();
|
Log::Render();
|
||||||
|
|
||||||
// windows
|
// windows
|
||||||
if (Settings::application.toolbox)
|
if (Settings::application.widget.toolbox)
|
||||||
toolbox.Render();
|
toolbox.Render();
|
||||||
if (Settings::application.preview)
|
if (Settings::application.widget.preview)
|
||||||
RenderPreview();
|
RenderPreview();
|
||||||
if (Settings::application.media_player)
|
if (Settings::application.widget.media_player)
|
||||||
RenderMediaPlayer();
|
RenderMediaPlayer();
|
||||||
if (Settings::application.shader_editor)
|
if (Settings::application.widget.shader_editor)
|
||||||
RenderShaderEditor();
|
RenderShaderEditor();
|
||||||
if (Settings::application.stats)
|
if (Settings::application.widget.stats)
|
||||||
ImGuiToolkit::ShowStats(&Settings::application.stats, &Settings::application.stats_corner);
|
ImGuiToolkit::ShowStats(&Settings::application.widget.stats, &Settings::application.widget.stats_corner);
|
||||||
if (Settings::application.logs)
|
if (Settings::application.widget.logs)
|
||||||
Log::ShowLogWindow(&Settings::application.logs);
|
Log::ShowLogWindow(&Settings::application.widget.logs);
|
||||||
|
|
||||||
// about
|
// about
|
||||||
if (show_about)
|
if (show_about)
|
||||||
@@ -582,9 +582,9 @@ void UserInterface::showMenuFile()
|
|||||||
navigator.hidePannel();
|
navigator.hidePannel();
|
||||||
}
|
}
|
||||||
ImGui::SetNextItemWidth( ImGui::GetContentRegionAvail().x );
|
ImGui::SetNextItemWidth( ImGui::GetContentRegionAvail().x );
|
||||||
ImGui::Combo("##AR", &Settings::application.framebuffer_ar, FrameBuffer::aspect_ratio_name, IM_ARRAYSIZE(FrameBuffer::aspect_ratio_name) );
|
ImGui::Combo("##AR", &Settings::application.render_view_ar, FrameBuffer::aspect_ratio_name, IM_ARRAYSIZE(FrameBuffer::aspect_ratio_name) );
|
||||||
ImGui::SetNextItemWidth( ImGui::GetContentRegionAvail().x );
|
ImGui::SetNextItemWidth( ImGui::GetContentRegionAvail().x );
|
||||||
ImGui::Combo("##HEIGHT", &Settings::application.framebuffer_h, FrameBuffer::resolution_name, IM_ARRAYSIZE(FrameBuffer::resolution_name) );
|
ImGui::Combo("##HEIGHT", &Settings::application.render_view_h, FrameBuffer::resolution_name, IM_ARRAYSIZE(FrameBuffer::resolution_name) );
|
||||||
|
|
||||||
ImGui::Separator();
|
ImGui::Separator();
|
||||||
|
|
||||||
@@ -672,7 +672,7 @@ void ToolBox::Render()
|
|||||||
ImGui::SetNextWindowPos(ImVec2(40, 40), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(40, 40), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSize(ImVec2(400, 300), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowSize(ImVec2(400, 300), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(350, 300), ImVec2(FLT_MAX, FLT_MAX));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(350, 300), ImVec2(FLT_MAX, FLT_MAX));
|
||||||
if ( !ImGui::Begin(IMGUI_TITLE_TOOLBOX, &Settings::application.toolbox, ImGuiWindowFlags_MenuBar) )
|
if ( !ImGui::Begin(IMGUI_TITLE_TOOLBOX, &Settings::application.widget.toolbox, ImGuiWindowFlags_MenuBar) )
|
||||||
{
|
{
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
return;
|
return;
|
||||||
@@ -686,8 +686,8 @@ void ToolBox::Render()
|
|||||||
if ( ImGui::MenuItem( ICON_FA_CAMERA_RETRO " Screenshot") )
|
if ( ImGui::MenuItem( ICON_FA_CAMERA_RETRO " Screenshot") )
|
||||||
UserInterface::manager().StartScreenshot();
|
UserInterface::manager().StartScreenshot();
|
||||||
|
|
||||||
ImGui::MenuItem("Blit", nullptr, &Settings::application.render_blit);
|
ImGui::MenuItem("Blit", nullptr, &Settings::application.render.blit);
|
||||||
ImGui::MenuItem("Multisampling", nullptr, (Settings::application.render_multisampling > 0), false);
|
ImGui::MenuItem("Multisampling", nullptr, (Settings::application.render.multisampling > 0), false);
|
||||||
|
|
||||||
ImGui::EndMenu();
|
ImGui::EndMenu();
|
||||||
}
|
}
|
||||||
@@ -714,8 +714,8 @@ void ToolBox::Render()
|
|||||||
|
|
||||||
const GLFWvidmode* mode = glfwGetVideoMode(Rendering::manager().outputWindow().monitor());
|
const GLFWvidmode* mode = glfwGetVideoMode(Rendering::manager().outputWindow().monitor());
|
||||||
refresh_rate = float(mode->refreshRate);
|
refresh_rate = float(mode->refreshRate);
|
||||||
if (Settings::application.render_vsync > 0)
|
if (Settings::application.render.vsync > 0)
|
||||||
refresh_rate /= Settings::application.render_vsync;
|
refresh_rate /= Settings::application.render.vsync;
|
||||||
else
|
else
|
||||||
refresh_rate = 0.f;
|
refresh_rate = 0.f;
|
||||||
max_fps = refresh_rate + 5.f;
|
max_fps = refresh_rate + 5.f;
|
||||||
@@ -787,7 +787,7 @@ void UserInterface::RenderPreview()
|
|||||||
ImGui::SetNextWindowPos(ImVec2(1180, 20), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(1180, 20), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSize(ImVec2(400, 260), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowSize(ImVec2(400, 260), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(300, 200), ImVec2(FLT_MAX, FLT_MAX), CustomConstraints::AspectRatio, &ar);
|
ImGui::SetNextWindowSizeConstraints(ImVec2(300, 200), ImVec2(FLT_MAX, FLT_MAX), CustomConstraints::AspectRatio, &ar);
|
||||||
ImGui::Begin(ICON_FA_LAPTOP " Preview", &Settings::application.preview, ImGuiWindowFlags_NoScrollbar);
|
ImGui::Begin(ICON_FA_LAPTOP " Preview", &Settings::application.widget.preview, ImGuiWindowFlags_NoScrollbar);
|
||||||
float width = ImGui::GetContentRegionAvail().x;
|
float width = ImGui::GetContentRegionAvail().x;
|
||||||
|
|
||||||
ImVec2 imagesize ( width, width / ar);
|
ImVec2 imagesize ( width, width / ar);
|
||||||
@@ -829,7 +829,7 @@ void UserInterface::RenderMediaPlayer()
|
|||||||
ImGui::SetNextWindowPos(ImVec2(1180, 400), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowPos(ImVec2(1180, 400), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSize(ImVec2(400, 400), ImGuiCond_FirstUseEver);
|
ImGui::SetNextWindowSize(ImVec2(400, 400), ImGuiCond_FirstUseEver);
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(350, 300), ImVec2(FLT_MAX, FLT_MAX));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(350, 300), ImVec2(FLT_MAX, FLT_MAX));
|
||||||
if ( !ImGui::Begin(IMGUI_TITLE_MEDIAPLAYER, &Settings::application.media_player, ImGuiWindowFlags_NoScrollbar ) || !show)
|
if ( !ImGui::Begin(IMGUI_TITLE_MEDIAPLAYER, &Settings::application.widget.media_player, ImGuiWindowFlags_NoScrollbar ) || !show)
|
||||||
{
|
{
|
||||||
ImGui::End();
|
ImGui::End();
|
||||||
return;
|
return;
|
||||||
@@ -986,7 +986,7 @@ void UserInterface::RenderShaderEditor()
|
|||||||
{
|
{
|
||||||
static bool show_statusbar = true;
|
static bool show_statusbar = true;
|
||||||
|
|
||||||
ImGui::Begin(IMGUI_TITLE_SHADEREDITOR, &Settings::application.shader_editor, ImGuiWindowFlags_HorizontalScrollbar | ImGuiWindowFlags_MenuBar);
|
ImGui::Begin(IMGUI_TITLE_SHADEREDITOR, &Settings::application.widget.shader_editor, ImGuiWindowFlags_HorizontalScrollbar | ImGuiWindowFlags_MenuBar);
|
||||||
ImGui::SetWindowSize(ImVec2(800, 600), ImGuiCond_FirstUseEver);
|
ImGui::SetWindowSize(ImVec2(800, 600), ImGuiCond_FirstUseEver);
|
||||||
if (ImGui::BeginMenuBar())
|
if (ImGui::BeginMenuBar())
|
||||||
{
|
{
|
||||||
@@ -1495,14 +1495,14 @@ void Navigator::RenderMainPannel()
|
|||||||
|
|
||||||
ImGui::Text(" ");
|
ImGui::Text(" ");
|
||||||
ImGui::Text("Windows");
|
ImGui::Text("Windows");
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_PREVIEW, &Settings::application.preview, CTRL_MOD "P");
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_PREVIEW, &Settings::application.widget.preview, CTRL_MOD "P");
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_MEDIAPLAYER, &Settings::application.media_player, CTRL_MOD "M");
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_MEDIAPLAYER, &Settings::application.widget.media_player, CTRL_MOD "M");
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_SHADEREDITOR, &Settings::application.shader_editor);
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_SHADEREDITOR, &Settings::application.shader_editor);
|
||||||
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_TOOLBOX, &Settings::application.toolbox, CTRL_MOD "T");
|
ImGuiToolkit::ButtonSwitch( IMGUI_TITLE_TOOLBOX, &Settings::application.toolbox, CTRL_MOD "T");
|
||||||
#endif
|
#endif
|
||||||
ImGuiToolkit::ButtonSwitch( ICON_FA_LIST " Logs", &Settings::application.logs, CTRL_MOD "L");
|
ImGuiToolkit::ButtonSwitch( ICON_FA_LIST " Logs", &Settings::application.widget.logs, CTRL_MOD "L");
|
||||||
ImGuiToolkit::ButtonSwitch( ICON_FA_TACHOMETER_ALT " Metrics", &Settings::application.stats);
|
ImGuiToolkit::ButtonSwitch( ICON_FA_TACHOMETER_ALT " Metrics", &Settings::application.widget.stats);
|
||||||
|
|
||||||
ImGui::Text(" ");
|
ImGui::Text(" ");
|
||||||
ImGui::Text("Appearance");
|
ImGui::Text("Appearance");
|
||||||
|
|||||||
2
View.cpp
2
View.cpp
@@ -306,7 +306,7 @@ RenderView::~RenderView()
|
|||||||
void RenderView::setResolution(glm::vec3 resolution)
|
void RenderView::setResolution(glm::vec3 resolution)
|
||||||
{
|
{
|
||||||
if (resolution.x < 128.f || resolution.y < 128.f)
|
if (resolution.x < 128.f || resolution.y < 128.f)
|
||||||
resolution = FrameBuffer::getResolutionFromParameters(Settings::application.framebuffer_ar, Settings::application.framebuffer_h);
|
resolution = FrameBuffer::getResolutionFromParameters(Settings::application.render_view_ar, Settings::application.render_view_h);
|
||||||
|
|
||||||
if (frame_buffer_)
|
if (frame_buffer_)
|
||||||
delete frame_buffer_;
|
delete frame_buffer_;
|
||||||
|
|||||||
Reference in New Issue
Block a user