mirror of
https://github.com/griffi-gh/kubi.git
synced 2024-11-13 19:08:41 -06:00
always request latest gl, set min physical size to 640x480
This commit is contained in:
parent
74bb3ee2eb
commit
282fd7bdcb
|
@ -5,7 +5,7 @@ use glium::{
|
||||||
glutin::{
|
glutin::{
|
||||||
event_loop::EventLoop,
|
event_loop::EventLoop,
|
||||||
window::{WindowBuilder, Fullscreen},
|
window::{WindowBuilder, Fullscreen},
|
||||||
ContextBuilder, GlProfile,
|
ContextBuilder, GlProfile, GlRequest, dpi::PhysicalSize
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
use glam::{Vec3, UVec2};
|
use glam::{Vec3, UVec2};
|
||||||
|
@ -32,8 +32,11 @@ impl Renderer {
|
||||||
pub fn init(event_loop: &EventLoop<()>, settings: &GameSettings) -> Self {
|
pub fn init(event_loop: &EventLoop<()>, settings: &GameSettings) -> Self {
|
||||||
log::info!("initializing display");
|
log::info!("initializing display");
|
||||||
|
|
||||||
|
|
||||||
let wb = WindowBuilder::new()
|
let wb = WindowBuilder::new()
|
||||||
.with_title("uwu")
|
.with_title("kubi")
|
||||||
|
.with_maximized(true)
|
||||||
|
.with_min_inner_size(PhysicalSize::new(640, 480))
|
||||||
.with_fullscreen({
|
.with_fullscreen({
|
||||||
if let Some(fs_settings) = &settings.fullscreen {
|
if let Some(fs_settings) = &settings.fullscreen {
|
||||||
let monitor = event_loop.primary_monitor().or_else(|| {
|
let monitor = event_loop.primary_monitor().or_else(|| {
|
||||||
|
@ -47,6 +50,7 @@ impl Renderer {
|
||||||
Some(Fullscreen::Borderless(Some(monitor)))
|
Some(Fullscreen::Borderless(Some(monitor)))
|
||||||
},
|
},
|
||||||
FullscreenMode::Exclusive => {
|
FullscreenMode::Exclusive => {
|
||||||
|
log::warn!("exclusive fullscreen mode is experimental");
|
||||||
log::info!("starting in exclusive fullscreen mode");
|
log::info!("starting in exclusive fullscreen mode");
|
||||||
//TODO: grabbing the first video mode is probably not the best idea...
|
//TODO: grabbing the first video mode is probably not the best idea...
|
||||||
monitor.video_modes().next()
|
monitor.video_modes().next()
|
||||||
|
@ -68,14 +72,14 @@ impl Renderer {
|
||||||
log::info!("starting in windowed mode");
|
log::info!("starting in windowed mode");
|
||||||
None
|
None
|
||||||
}
|
}
|
||||||
})
|
});
|
||||||
.with_maximized(true);
|
|
||||||
|
|
||||||
let cb = ContextBuilder::new()
|
let cb = ContextBuilder::new()
|
||||||
.with_depth_buffer(24)
|
.with_depth_buffer(24)
|
||||||
.with_multisampling(settings.msaa.unwrap_or_default())
|
.with_multisampling(settings.msaa.unwrap_or_default())
|
||||||
.with_vsync(settings.vsync)
|
.with_vsync(settings.vsync)
|
||||||
.with_gl_profile(GlProfile::Core);
|
.with_gl_profile(GlProfile::Core)
|
||||||
|
.with_gl(GlRequest::Latest);
|
||||||
|
|
||||||
let display = Display::new(wb, cb, event_loop)
|
let display = Display::new(wb, cb, event_loop)
|
||||||
.expect("Failed to create a glium Display");
|
.expect("Failed to create a glium Display");
|
||||||
|
@ -89,7 +93,7 @@ impl Renderer {
|
||||||
if display.is_robust() { log::warn!("OpenGL implementation is not robust") }
|
if display.is_robust() { log::warn!("OpenGL implementation is not robust") }
|
||||||
if display.is_debug() { log::info!("OpenGL context is in debug mode") }
|
if display.is_debug() { log::info!("OpenGL context is in debug mode") }
|
||||||
|
|
||||||
assert!(display.is_glsl_version_supported(&Version(Api::GlEs, 3, 0)), "GLES 3.0 is not supported");
|
assert!(display.is_glsl_version_supported(&Version(Api::GlEs, 3, 0)), "GLSL ES 3.0 is not supported");
|
||||||
|
|
||||||
Self { display }
|
Self { display }
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue