summaryrefslogtreecommitdiff
path: root/game/network
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2026-03-07 11:50:47 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2026-03-07 11:50:47 +0000
commitadb0096046d357a6463ae2ce66c182546c8de9c2 (patch)
tree0e06a281efc2da637ebc19dca38f160e86516d9f /game/network
parentUpdate stencils and billboards less often (diff)
parentReplace glContainer with glAllocator (diff)
downloadilt-adb0096046d357a6463ae2ce66c182546c8de9c2.tar.bz2
ilt-adb0096046d357a6463ae2ce66c182546c8de9c2.tar.xz
ilt-adb0096046d357a6463ae2ce66c182546c8de9c2.zip
Merge branch 'glalloc'
Diffstat (limited to 'game/network')
-rw-r--r--game/network/network.h1
-rw-r--r--game/network/rail.cpp12
2 files changed, 7 insertions, 6 deletions
diff --git a/game/network/network.h b/game/network/network.h
index 4f5d2b0..46b84d4 100644
--- a/game/network/network.h
+++ b/game/network/network.h
@@ -1,6 +1,7 @@
#pragma once
#include "collection.h"
+#include "gfx/gl/glVertexArray.h"
#include "gfx/gl/instanceVertices.h"
#include "gfx/models/texture.h"
#include "gfx/renderable.h"
diff --git a/game/network/rail.cpp b/game/network/rail.cpp
index f265d6b..545620d 100644
--- a/game/network/rail.cpp
+++ b/game/network/rail.cpp
@@ -3,7 +3,6 @@
#include "network.h"
#include <game/network/network.impl.h> // IWYU pragma: keep
#include <gfx/gl/sceneShader.h>
-#include <gfx/gl/vertexArrayObject.h>
#include <gfx/models/texture.h>
template class NetworkOf<RailLink, RailLinkStraight, RailLinkCurve>;
@@ -139,18 +138,17 @@ RailLink::vehiclePositionOffset() const
template<> NetworkLinkHolder<RailLinkStraight>::NetworkLinkHolder()
{
- VertexArrayObject {vao}
+ vao.configure()
.addAttribs<RailLinkStraight::Vertex, &RailLinkStraight::Vertex::a, &RailLinkStraight::Vertex::b,
- &RailLinkStraight::Vertex::rotation, &RailLinkStraight::Vertex::textureRepeats>(
- vertices.bufferName());
+ &RailLinkStraight::Vertex::rotation, &RailLinkStraight::Vertex::textureRepeats>(0);
}
template<> NetworkLinkHolder<RailLinkCurve>::NetworkLinkHolder()
{
- VertexArrayObject {vao}
+ 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>(vertices.bufferName());
+ &RailLinkCurve::Vertex::bangle, &RailLinkCurve::Vertex::radius>(0);
}
namespace {
@@ -161,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));
}
};