summaryrefslogtreecommitdiff
path: root/game/scenary
diff options
context:
space:
mode:
Diffstat (limited to 'game/scenary')
-rw-r--r--game/scenary/foliage.cpp16
-rw-r--r--game/scenary/foliage.h4
-rw-r--r--game/scenary/illuminator.cpp2
3 files changed, 11 insertions, 11 deletions
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));