diff options
| author | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-03-08 16:02:56 +0000 |
|---|---|---|
| committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2026-03-08 16:02:56 +0000 |
| commit | 00fc3cb9b2c06026fab0e4760609fe02e027b6df (patch) | |
| tree | b84b527824ac1d5c999fc4a974fcf2c356b422ab /game | |
| parent | Replace gl_traits glTexParameter with glTexture::parameter DSA wrapper (diff) | |
| download | ilt-00fc3cb9b2c06026fab0e4760609fe02e027b6df.tar.bz2 ilt-00fc3cb9b2c06026fab0e4760609fe02e027b6df.tar.xz ilt-00fc3cb9b2c06026fab0e4760609fe02e027b6df.zip | |
Move all low level texture operations to DSA helpers in glTexture
Diffstat (limited to 'game')
| -rw-r--r-- | game/network/rail.cpp | 2 | ||||
| -rw-r--r-- | game/scenary/foliage.cpp | 16 | ||||
| -rw-r--r-- | game/scenary/foliage.h | 4 | ||||
| -rw-r--r-- | game/scenary/illuminator.cpp | 2 | ||||
| -rw-r--r-- | game/terrain.cpp | 2 | ||||
| -rw-r--r-- | game/vehicles/railVehicleClass.cpp | 2 | ||||
| -rw-r--r-- | game/water.cpp | 2 |
7 files changed, 15 insertions, 15 deletions
diff --git a/game/network/rail.cpp b/game/network/rail.cpp index d0a8bdd..1ae5aca 100644 --- a/game/network/rail.cpp +++ b/game/network/rail.cpp @@ -169,7 +169,7 @@ void RailLinks::render(const SceneShader & shader, const Frustum &) const { if (auto _ = glDebugScope(0); !links.empty()) { - texture->bind(); + texture->bind(0); glEnable(GL_POLYGON_OFFSET_FILL); glPolygonOffset(-1, 0); renderType<RailLinkStraight>(*this, shader.networkStraight, GL_POINTS); diff --git a/game/scenary/foliage.cpp b/game/scenary/foliage.cpp index bd88a06..528d3e1 100644 --- a/game/scenary/foliage.cpp +++ b/game/scenary/foliage.cpp @@ -43,8 +43,8 @@ Foliage::postLoad() const auto & size = bodyMesh->getDimensions().size; billboardSize = billboardTextureSizeForObject(size); - ShadowStenciller::configureStencilTexture(shadowStencil, billboardSize, billboardSize); - BillboardPainter::configureBillBoardTextures(billboard, billboardSize, billboardSize); + ShadowStenciller::configureStencilTexture(shadowStencil, {billboardSize, billboardSize}); + BillboardPainter::configureBillBoardTextures(billboard, {billboardSize, billboardSize}); useMeshClipDist = (ASSUMED_VIEWPORT * OVER_SAMPLE_MULTIPLIER * size) / static_cast<RelativeDistance>(billboardSize); } @@ -98,9 +98,9 @@ Foliage::render(const SceneShader & shader, const Frustum &) const glDebugScope _ {0, "Billboard"}; const auto dimensions = bodyMesh->getDimensions(); shader.billboard.use(dimensions.size, dimensions.centre); - billboard[0].bind(GL_TEXTURE_2D_ARRAY, GL_TEXTURE0); - billboard[1].bind(GL_TEXTURE_2D_ARRAY, GL_TEXTURE1); - billboard[2].bind(GL_TEXTURE_2D_ARRAY, GL_TEXTURE2); + billboard[0].bind(0); + billboard[1].bind(1); + billboard[2].bind(2); glBindVertexArray(instancePointVAO); instancePointVAO.useBuffer(0, instances); glDrawArrays(GL_POINTS, static_cast<GLint>(instancePartitions.second.first), static_cast<GLsizei>(count)); @@ -110,7 +110,7 @@ Foliage::render(const SceneShader & shader, const Frustum &) const glDebugScope _ {0, "Mesh"}; shader.basicInst.use(); if (texture) { - texture->bind(); + texture->bind(0); } instanceVAO.useBuffer(1, instances); bodyMesh->drawInstanced(instanceVAO, static_cast<GLsizei>(count)); @@ -127,7 +127,7 @@ Foliage::shadows(const ShadowMapper & mapper, const Frustum &) const if (const auto count = instancePartitions.second.second - instancePartitions.second.first) { const auto dimensions = bodyMesh->getDimensions(); mapper.stencilShadowProgram.use(dimensions.centre, dimensions.size); - shadowStencil.bind(GL_TEXTURE_2D_ARRAY, GL_TEXTURE0); + shadowStencil.bind(0); glBindVertexArray(instancePointVAO); instancePointVAO.useBuffer(0, instances); glDrawArrays(GL_POINTS, static_cast<GLint>(instancePartitions.second.first), static_cast<GLsizei>(count)); @@ -135,7 +135,7 @@ Foliage::shadows(const ShadowMapper & mapper, const Frustum &) const } if (const auto count = instancePartitions.second.first) { if (texture) { - texture->bind(GL_TEXTURE3); + texture->bind(3); mapper.dynamicPointInstWithTextures.use(); } else { diff --git a/game/scenary/foliage.h b/game/scenary/foliage.h index 3d73573..bf98d55 100644 --- a/game/scenary/foliage.h +++ b/game/scenary/foliage.h @@ -38,9 +38,9 @@ protected: GLsizei billboardSize {}; RelativeDistance useMeshClipDist {}; mutable Direction2D shadowStencilDir {std::numeric_limits<Direction2D::value_type>::infinity()}; - glTexture shadowStencil; + glTexture<GL_TEXTURE_2D_ARRAY> shadowStencil; mutable Angle billboardAngle = std::numeric_limits<Angle>::infinity(); - glTextures<3> billboard; + glTextures<GL_TEXTURE_2D_ARRAY, 3> billboard; private: InstanceVertices<Foliage::LocationVertex>::PartitionResult instancePartitions; diff --git a/game/scenary/illuminator.cpp b/game/scenary/illuminator.cpp index 0c5919a..382cc60 100644 --- a/game/scenary/illuminator.cpp +++ b/game/scenary/illuminator.cpp @@ -72,7 +72,7 @@ Illuminator::render(const SceneShader & shader, const Frustum &) const if (const auto count = instances.size()) { shader.basicInst.use(); if (texture) { - texture->bind(); + texture->bind(0); } instanceVAO.useBuffer(1, instances); bodyMesh->drawInstanced(instanceVAO, static_cast<GLsizei>(count)); diff --git a/game/terrain.cpp b/game/terrain.cpp index 25ecca9..8bef36e 100644 --- a/game/terrain.cpp +++ b/game/terrain.cpp @@ -127,7 +127,7 @@ Terrain::afterChange() void Terrain::render(const SceneShader & shader, const Frustum & frustum) const { - grass->bind(); + grass->bind(0); const auto chunkBySurface = std::views::chunk_by([](const auto & itr1, const auto & itr2) { return itr1.first.surface == itr2.first.surface; diff --git a/game/vehicles/railVehicleClass.cpp b/game/vehicles/railVehicleClass.cpp index 6e8870a..21a5666 100644 --- a/game/vehicles/railVehicleClass.cpp +++ b/game/vehicles/railVehicleClass.cpp @@ -49,7 +49,7 @@ RailVehicleClass::render(const SceneShader & shader, const Frustum &) const { if (const auto count = static_cast<GLsizei>(instances.size())) { if (texture) { - texture->bind(); + texture->bind(0); } shader.basicInst.use(); instanceVAO.useBuffer(1, instances); diff --git a/game/water.cpp b/game/water.cpp index 0f72918..b5d7fc6 100644 --- a/game/water.cpp +++ b/game/water.cpp @@ -105,6 +105,6 @@ void Water::render(const SceneShader & shader, const Frustum &) const { shader.water.use(waveCycle); - water->bind(); + water->bind(0); meshes.apply(&MeshT<GlobalPosition3D>::draw); } |
