mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
configurable viewport draw range
This commit is contained in:
@@ -854,6 +854,7 @@ global_settings::ConfigParse(cParser &Parser) {
|
||||
|
||||
extraviewport_config conf;
|
||||
Parser >> conf.monitor >> conf.width >> conf.height;
|
||||
Parser >> conf.draw_range;
|
||||
for (size_t i = 0; i < 16; i++)
|
||||
Parser >> conf.transform[i / 4][i % 4];
|
||||
|
||||
|
||||
@@ -208,6 +208,7 @@ struct global_settings {
|
||||
std::string monitor;
|
||||
int width, height;
|
||||
glm::mat4 transform;
|
||||
float draw_range;
|
||||
};
|
||||
std::vector<extraviewport_config> extra_viewports;
|
||||
|
||||
|
||||
@@ -2260,7 +2260,8 @@ void TMoverParameters::SecuritySystemCheck(double dt)
|
||||
if (Battery) {
|
||||
SecuritySystem.update(dt, Vel);
|
||||
}
|
||||
else
|
||||
|
||||
if (!Battery || !Radio)
|
||||
{ // wyłączenie baterii deaktywuje sprzęt
|
||||
RadiostopSwitch(false);
|
||||
}
|
||||
|
||||
@@ -166,6 +166,7 @@ bool opengl_renderer::Init(GLFWwindow *Window)
|
||||
default_viewport.height = Global.gfx_framebuffer_height;
|
||||
default_viewport.main = true;
|
||||
default_viewport.window = m_window;
|
||||
default_viewport.draw_range = 1.0f;
|
||||
|
||||
if (!init_viewport(default_viewport))
|
||||
return false;
|
||||
@@ -297,6 +298,7 @@ bool opengl_renderer::AddViewport(const global_settings::extraviewport_config &c
|
||||
vp.height = conf.height;
|
||||
vp.window = Application.window(-1, true, vp.width, vp.height, Application.find_monitor(conf.monitor));
|
||||
vp.camera_transform = conf.transform;
|
||||
vp.draw_range = conf.draw_range;
|
||||
|
||||
bool ret = init_viewport(vp);
|
||||
glfwMakeContextCurrent(m_window);
|
||||
@@ -1051,6 +1053,9 @@ void opengl_renderer::setup_pass(viewport_config &Viewport, renderpass_config &C
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Config.draw_range *= Viewport.draw_range;
|
||||
|
||||
// setup camera
|
||||
auto &camera = Config.pass_camera;
|
||||
|
||||
|
||||
@@ -241,6 +241,8 @@ class opengl_renderer
|
||||
int width;
|
||||
int height;
|
||||
|
||||
float draw_range;
|
||||
|
||||
bool main = false;
|
||||
GLFWwindow *window = nullptr;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user