Skip to content

Instantly share code, notes, and snippets.

@fu5ha
Created September 18, 2017 17:34
Show Gist options
  • Save fu5ha/3747beb7f41432f85002ec839a4cab3a to your computer and use it in GitHub Desktop.
Save fu5ha/3747beb7f41432f85002ec839a4cab3a to your computer and use it in GitHub Desktop.
// WINDOW SETUP
let gl = video.gl_attr();
gl.set_context_version(GL_MAJOR_VERSION, GL_MINOR_VERSION);
gl.set_context_profile(sdl2::video::GLProfile::Core);
gl.set_red_size(5);
gl.set_green_size(5);
gl.set_blue_size(5);
gl.set_alpha_size(8);
gl.set_multisample_buffers(1);
gl.set_multisample_samples(4);
let mut window_builder = video.window(window_title, screen_width, screen_height);
if window_mode.resizable {
window_builder.resizable();
}
let (window, gl_context, device, mut factory, color_view, depth_view) =
gfx_window_sdl::init(window_builder)?;
// println!("Vsync enabled: {}", vsync);
GraphicsContext::set_vsync(&video, window_mode.vsync);
let display_index = window.display_index()?;
let dpi = window.subsystem().display_dpi(display_index)?;
// GFX SETUP
let encoder: gfx::Encoder<gfx_device_gl::Resources, gfx_device_gl::CommandBuffer> =
factory.create_command_buffer().into();
let shader_set = factory.create_shader_set(
include_bytes!("shader/basic_150.glslv"),
include_bytes!("shader/basic_150.glslf")
).unwrap();
let rasterizer = gfx::state::Rasterizer {
front_face: gfx::state::FrontFace::CounterClockwise,
cull_face: gfx::state::CullFace::Nothing,
method: gfx::state::RasterMethod::Fill,
offset: None,
samples: Some(gfx::state::MultiSample)
};
let pso = factory
.create_pipeline_state(
&shader_set,
gfx::Primitive::TriangleList,
rasterizer,
pipe::new()
)?;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment