16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 00:49:19 +02:00

geometry shader changes

This commit is contained in:
milek7
2019-03-17 23:17:35 +01:00
parent 4383b0c7e0
commit a0738d109b
5 changed files with 35 additions and 18 deletions

View File

@@ -16,11 +16,14 @@ ui::map_panel::map_panel() : ui_panel(LOC_STR(ui_map), false)
gl::shader vert("map.vert");
gl::shader frag("map.frag");
gl::shader poi_frag("map_poi.frag");
gl::shader poi_geom("map_poi.geom");
m_track_shader = std::unique_ptr<gl::program>(new gl::program({vert, frag}));
m_poi_shader = std::unique_ptr<gl::program>(new gl::program({vert, poi_frag, poi_geom}));
m_icon_atlas = GfxRenderer.Fetch_Texture("map_icons");
if (GLAD_GL_EXT_geometry_shader) {
gl::shader poi_frag("map_poi.frag");
gl::shader poi_geom("map_poi.geom");
m_poi_shader = std::unique_ptr<gl::program>(new gl::program({vert, poi_frag, poi_geom}));
m_icon_atlas = GfxRenderer.Fetch_Texture("map_icons");
}
m_tex = std::make_unique<opengl_texture>();
m_tex->alloc_rendertarget(GL_RGB8, GL_RGB, fb_size, fb_size);
@@ -120,9 +123,11 @@ void ui::map_panel::render_map_texture(glm::mat4 transform, glm::vec2 surface_si
scene_ubo->update(scene_ubs);
GfxRenderer.Draw_Geometry(m_switch_handles.begin(), m_switch_handles.end());
GfxRenderer.Bind_Texture(0, m_icon_atlas);
m_poi_shader->bind();
scene_ubs.scene_extra = glm::vec3(1.0f / (surface_size / 200.0f), 1.0f);
if (GLAD_GL_EXT_geometry_shader) {
GfxRenderer.Bind_Texture(0, m_icon_atlas);
m_poi_shader->bind();
scene_ubs.scene_extra = glm::vec3(1.0f / (surface_size / 200.0f), 1.0f);
}
scene_ubs.time = 1.0f;
scene_ubo->update(scene_ubs);