mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 00:49:19 +02:00
Revert scaling changes. It breaks pickbuffers on Windows with DPI scaling. Needs more investigation.
This reverts commit d901177489.
This commit is contained in:
@@ -113,8 +113,6 @@ struct global_settings {
|
|||||||
// gfx
|
// gfx
|
||||||
int iWindowWidth{ 800 };
|
int iWindowWidth{ 800 };
|
||||||
int iWindowHeight{ 600 };
|
int iWindowHeight{ 600 };
|
||||||
float fWindowXScale { 1.0f };
|
|
||||||
float fWindowYScale { 1.0f };
|
|
||||||
float fDistanceFactor{ 1.f }; // baza do przeliczania odległości dla LoD
|
float fDistanceFactor{ 1.f }; // baza do przeliczania odległości dla LoD
|
||||||
float targetfps{ 0.0f };
|
float targetfps{ 0.0f };
|
||||||
bool bFullScreen{ false };
|
bool bFullScreen{ false };
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
This Source Code Form is subject to the
|
This Source Code Form is subject to the
|
||||||
terms of the Mozilla Public License, v.
|
terms of the Mozilla Public License, v.
|
||||||
2.0. If a copy of the MPL was not
|
2.0. If a copy of the MPL was not
|
||||||
@@ -69,16 +69,13 @@ void focus_callback( GLFWwindow *window, int focus ) {
|
|||||||
void window_resize_callback( GLFWwindow *window, int w, int h ) {
|
void window_resize_callback( GLFWwindow *window, int w, int h ) {
|
||||||
// NOTE: we have two variables which basically do the same thing as we don't have dynamic fullscreen toggle
|
// NOTE: we have two variables which basically do the same thing as we don't have dynamic fullscreen toggle
|
||||||
// TBD, TODO: merge them?
|
// TBD, TODO: merge them?
|
||||||
#if GLFW_VERSION_MAJOR > 3 || (GLFW_VERSION_MAJOR == 3 && GLFW_VERSION_MINOR >= 3)
|
|
||||||
glfwGetWindowContentScale(window, &Global.fWindowXScale, &Global.fWindowYScale);
|
|
||||||
#endif
|
|
||||||
Global.iWindowWidth = w;
|
Global.iWindowWidth = w;
|
||||||
Global.iWindowHeight = h;
|
Global.iWindowHeight = h;
|
||||||
glViewport( 0, 0, w, h );
|
glViewport( 0, 0, w, h );
|
||||||
}
|
}
|
||||||
|
|
||||||
void cursor_pos_callback( GLFWwindow *window, double x, double y ) {
|
void cursor_pos_callback( GLFWwindow *window, double x, double y ) {
|
||||||
Application.on_cursor_pos( x * Global.fWindowXScale, y * Global.fWindowXScale);
|
Application.on_cursor_pos( x, y );
|
||||||
}
|
}
|
||||||
|
|
||||||
void mouse_button_callback( GLFWwindow* window, int button, int action, int mods )
|
void mouse_button_callback( GLFWwindow* window, int button, int action, int mods )
|
||||||
@@ -486,7 +483,7 @@ eu07_application::set_cursor( int const Mode ) {
|
|||||||
void
|
void
|
||||||
eu07_application::set_cursor_pos( double const Horizontal, double const Vertical ) {
|
eu07_application::set_cursor_pos( double const Horizontal, double const Vertical ) {
|
||||||
|
|
||||||
glfwSetCursorPos( m_windows.front(), Horizontal / Global.fWindowXScale, Vertical / Global.fWindowYScale);
|
glfwSetCursorPos( m_windows.front(), Horizontal, Vertical );
|
||||||
}
|
}
|
||||||
|
|
||||||
glm::dvec2
|
glm::dvec2
|
||||||
@@ -496,9 +493,6 @@ eu07_application::get_cursor_pos() const {
|
|||||||
if( !m_windows.empty() ) {
|
if( !m_windows.empty() ) {
|
||||||
glfwGetCursorPos( m_windows.front(), &pos.x, &pos.y );
|
glfwGetCursorPos( m_windows.front(), &pos.x, &pos.y );
|
||||||
}
|
}
|
||||||
|
|
||||||
pos.x *= Global.fWindowXScale;
|
|
||||||
pos.y *= Global.fWindowYScale;
|
|
||||||
return pos;
|
return pos;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -506,9 +500,6 @@ void
|
|||||||
eu07_application::get_cursor_pos( double &Horizontal, double &Vertical ) const {
|
eu07_application::get_cursor_pos( double &Horizontal, double &Vertical ) const {
|
||||||
|
|
||||||
glfwGetCursorPos( m_windows.front(), &Horizontal, &Vertical );
|
glfwGetCursorPos( m_windows.front(), &Horizontal, &Vertical );
|
||||||
|
|
||||||
Horizontal *= Global.fWindowXScale;
|
|
||||||
Vertical *= Global.fWindowYScale;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/*
|
/*
|
||||||
This Source Code Form is subject to the
|
This Source Code Form is subject to the
|
||||||
terms of the Mozilla Public License, v.
|
terms of the Mozilla Public License, v.
|
||||||
2.0. If a copy of the MPL was not
|
2.0. If a copy of the MPL was not
|
||||||
@@ -3999,8 +3999,6 @@ opengl_renderer::Update_Pick_Control() {
|
|||||||
// determine point to examine
|
// determine point to examine
|
||||||
glm::dvec2 mousepos;
|
glm::dvec2 mousepos;
|
||||||
glfwGetCursorPos( m_window, &mousepos.x, &mousepos.y );
|
glfwGetCursorPos( m_window, &mousepos.x, &mousepos.y );
|
||||||
mousepos.x *= Global.fWindowXScale;
|
|
||||||
mousepos.y *= Global.fWindowYScale;
|
|
||||||
mousepos.y = Global.iWindowHeight - mousepos.y; // cursor coordinates are flipped compared to opengl
|
mousepos.y = Global.iWindowHeight - mousepos.y; // cursor coordinates are flipped compared to opengl
|
||||||
|
|
||||||
#ifdef EU07_USE_PICKING_FRAMEBUFFER
|
#ifdef EU07_USE_PICKING_FRAMEBUFFER
|
||||||
@@ -4008,8 +4006,8 @@ opengl_renderer::Update_Pick_Control() {
|
|||||||
if( true == m_framebuffersupport ) {
|
if( true == m_framebuffersupport ) {
|
||||||
// ::glReadBuffer( GL_COLOR_ATTACHMENT0_EXT );
|
// ::glReadBuffer( GL_COLOR_ATTACHMENT0_EXT );
|
||||||
pickbufferpos = glm::ivec2{
|
pickbufferpos = glm::ivec2{
|
||||||
mousepos.x * EU07_PICKBUFFERSIZE / std::max( 1, Global.iWindowWidth),
|
mousepos.x * EU07_PICKBUFFERSIZE / std::max( 1, Global.iWindowWidth ),
|
||||||
mousepos.y * EU07_PICKBUFFERSIZE / std::max( 1, Global.iWindowHeight) };
|
mousepos.y * EU07_PICKBUFFERSIZE / std::max( 1, Global.iWindowHeight ) };
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// ::glReadBuffer( GL_BACK );
|
// ::glReadBuffer( GL_BACK );
|
||||||
@@ -4365,10 +4363,8 @@ opengl_renderer::Init_caps() {
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
char* extensions = (char*)glGetString( GL_EXTENSIONS );
|
|
||||||
|
|
||||||
WriteLog( "Supported extensions: \n"
|
WriteLog( "Supported extensions: \n"
|
||||||
+ std::string(extensions ? extensions : "") );
|
+ std::string((char *)glGetString( GL_EXTENSIONS )) );
|
||||||
|
|
||||||
WriteLog( std::string("render path: ") + ( Global.bUseVBO ? "VBO" : "Display lists" ) );
|
WriteLog( std::string("render path: ") + ( Global.bUseVBO ? "VBO" : "Display lists" ) );
|
||||||
if( GL_EXT_framebuffer_object ) {
|
if( GL_EXT_framebuffer_object ) {
|
||||||
|
|||||||
Reference in New Issue
Block a user