diff options
| author | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-02-06 19:56:46 +0000 |
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-02-06 19:56:46 +0000 |
| commit | 99f5033fdc6e2701bf5bb76e89e100a846cbba80 (patch) | |
| tree | b72ec7920738132166daab88b6fdb895819dac04 /game | |
| parent | Add glDebugScope (diff) | |
| parent | Make similar array tidy-up to networkStraight shaders (diff) | |
| download | ilt-99f5033fdc6e2701bf5bb76e89e100a846cbba80.tar.bz2 ilt-99f5033fdc6e2701bf5bb76e89e100a846cbba80.tar.xz ilt-99f5033fdc6e2701bf5bb76e89e100a846cbba80.zip | |
Merge branch 'glmax'
Diffstat (limited to 'game')
| -rw-r--r-- | game/network/rail.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/game/network/rail.cpp b/game/network/rail.cpp index c0e597d..f265d6b 100644 --- a/game/network/rail.cpp +++ b/game/network/rail.cpp @@ -156,12 +156,12 @@ template<> NetworkLinkHolder<RailLinkCurve>::NetworkLinkHolder() namespace { template<typename LinkType> void - renderType(const NetworkLinkHolder<LinkType> & networkLinks, auto & shader) + renderType(const NetworkLinkHolder<LinkType> & networkLinks, auto & shader, GLenum mode) { if (auto count = networkLinks.vertices.size()) { shader.use(RAIL_CROSS_SECTION, RAIL_TEXTURE_POS); glBindVertexArray(networkLinks.vao); - glDrawArrays(GL_POINTS, 0, static_cast<GLsizei>(count)); + glDrawArrays(mode, 0, static_cast<GLsizei>(count)); } }; } @@ -169,12 +169,13 @@ namespace { void RailLinks::render(const SceneShader & shader, const Frustum &) const { - if (!links.empty()) { + if (auto _ = glDebugScope(0); !links.empty()) { texture->bind(); glEnable(GL_POLYGON_OFFSET_FILL); glPolygonOffset(-1, 0); - renderType<RailLinkStraight>(*this, shader.networkStraight); - renderType<RailLinkCurve>(*this, shader.networkCurve); + renderType<RailLinkStraight>(*this, shader.networkStraight, GL_POINTS); + glPatchParameteri(GL_PATCH_VERTICES, 1); + renderType<RailLinkCurve>(*this, shader.networkCurve, GL_PATCHES); glDisable(GL_POLYGON_OFFSET_FILL); glBindVertexArray(0); } |
