diff options
| author | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-03-07 11:42:46 +0000 |
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-03-07 11:42:46 +0000 |
| commit | c89a633f59d0e393695c10f28c4ba8635eadffba (patch) | |
| tree | 0e06a281efc2da637ebc19dca38f160e86516d9f /game/network | |
| parent | Remove VertexArrayObject and supporting non-DSA gl_traits helpers (diff) | |
| download | ilt-c89a633f59d0e393695c10f28c4ba8635eadffba.tar.bz2 ilt-c89a633f59d0e393695c10f28c4ba8635eadffba.tar.xz ilt-c89a633f59d0e393695c10f28c4ba8635eadffba.zip | |
Replace glContainer with glAllocator
glContainer is no longer required, as we can use std::vector with a
custom allocator which uses OpenGL buffers for storage. Minor irritation
is that the mapped buffers aren't guaranteed to be flushed in the tests,
so sometimes we're missing bits in a test render.
Diffstat (limited to 'game/network')
| -rw-r--r-- | game/network/rail.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/game/network/rail.cpp b/game/network/rail.cpp index 8d85f35..545620d 100644 --- a/game/network/rail.cpp +++ b/game/network/rail.cpp @@ -140,8 +140,7 @@ template<> NetworkLinkHolder<RailLinkStraight>::NetworkLinkHolder() { vao.configure() .addAttribs<RailLinkStraight::Vertex, &RailLinkStraight::Vertex::a, &RailLinkStraight::Vertex::b, - &RailLinkStraight::Vertex::rotation, &RailLinkStraight::Vertex::textureRepeats>( - 0, vertices.bufferName()); + &RailLinkStraight::Vertex::rotation, &RailLinkStraight::Vertex::textureRepeats>(0); } template<> NetworkLinkHolder<RailLinkCurve>::NetworkLinkHolder() @@ -149,7 +148,7 @@ template<> NetworkLinkHolder<RailLinkCurve>::NetworkLinkHolder() vao.configure() .addAttribs<RailLinkCurve::Vertex, &RailLinkCurve::Vertex::a, &RailLinkCurve::Vertex::b, &RailLinkCurve::Vertex::c, &RailLinkCurve::Vertex::textureRepeats, &RailLinkCurve::Vertex::aangle, - &RailLinkCurve::Vertex::bangle, &RailLinkCurve::Vertex::radius>(0, vertices.bufferName()); + &RailLinkCurve::Vertex::bangle, &RailLinkCurve::Vertex::radius>(0); } namespace { @@ -160,6 +159,8 @@ namespace { if (auto count = networkLinks.vertices.size()) { shader.use(RAIL_CROSS_SECTION, RAIL_TEXTURE_POS); glBindVertexArray(networkLinks.vao); + glVertexArrayVertexBuffer( + networkLinks.vao, 0, networkLinks.vertices.bufferName(), 0, sizeof(typename LinkType::Vertex)); glDrawArrays(mode, 0, static_cast<GLsizei>(count)); } }; |
