diff options
Diffstat (limited to 'game/scenary/foliage.cpp')
-rw-r--r-- | game/scenary/foliage.cpp | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/game/scenary/foliage.cpp b/game/scenary/foliage.cpp index a0ec576..140c4e5 100644 --- a/game/scenary/foliage.cpp +++ b/game/scenary/foliage.cpp @@ -2,6 +2,16 @@ #include "gfx/gl/sceneShader.h" #include "gfx/gl/shadowMapper.h" #include "gfx/gl/vertexArrayObject.h" +#include <location.h> + +static_assert(std::is_constructible_v<Foliage>); + +std::any +Foliage::createAt(const Location & position) const +{ + return std::make_shared<InstanceVertices<LocationVertex>::InstanceProxy>( + instances.acquire(position.getRotationTransform(), position.rot.y, position.pos)); +} bool Foliage::persist(Persistence::PersistenceStore & store) @@ -29,7 +39,7 @@ Foliage::updateStencil(const ShadowStenciller & ss) const } void -Foliage::render(const SceneShader & shader) const +Foliage::render(const SceneShader & shader, const Frustum &) const { if (const auto count = instances.size()) { shader.basicInst.use(); @@ -41,7 +51,7 @@ Foliage::render(const SceneShader & shader) const } void -Foliage::shadows(const ShadowMapper & mapper) const +Foliage::shadows(const ShadowMapper & mapper, const Frustum &) const { if (const auto count = instances.size()) { const auto dimensions = bodyMesh->getDimensions(); |