summaryrefslogtreecommitdiff
path: root/game/network/rail.cpp
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2026-03-07 11:42:46 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2026-03-07 11:42:46 +0000
commitc89a633f59d0e393695c10f28c4ba8635eadffba (patch)
tree0e06a281efc2da637ebc19dca38f160e86516d9f /game/network/rail.cpp
parentRemove VertexArrayObject and supporting non-DSA gl_traits helpers (diff)
downloadilt-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/rail.cpp')
-rw-r--r--game/network/rail.cpp7
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));
}
};