diff options
Diffstat (limited to 'game/scenary')
| -rw-r--r-- | game/scenary/foliage.cpp | 3 | ||||
| -rw-r--r-- | game/scenary/foliage.h | 3 | ||||
| -rw-r--r-- | game/scenary/plant.cpp | 2 | ||||
| -rw-r--r-- | game/scenary/plant.h | 2 | 
4 files changed, 6 insertions, 4 deletions
| diff --git a/game/scenary/foliage.cpp b/game/scenary/foliage.cpp index 702a52c..c258b77 100644 --- a/game/scenary/foliage.cpp +++ b/game/scenary/foliage.cpp @@ -15,7 +15,8 @@ void  Foliage::postLoad()  {  	texture = getTexture(); -	bodyMesh->configureVAO(instanceVAO).addAttribs<glm::mat4>(instances.bufferName(), 1); +	bodyMesh->configureVAO(instanceVAO) +			.addAttribs<LocationVertex, &LocationVertex::first, &LocationVertex::second>(instances.bufferName(), 1);  }  void diff --git a/game/scenary/foliage.h b/game/scenary/foliage.h index b72a9c2..5a9d2de 100644 --- a/game/scenary/foliage.h +++ b/game/scenary/foliage.h @@ -15,7 +15,8 @@ class Foliage : public Asset, public Renderable, public StdTypeDefs<Foliage> {  	glVertexArray instanceVAO;  public: -	mutable InstanceVertices<glm::mat4> instances; +	using LocationVertex = std::pair<glm::mat4, Position3D>; +	mutable InstanceVertices<LocationVertex> instances;  	void render(const SceneShader &) const override;  	void shadows(const ShadowMapper &) const override; diff --git a/game/scenary/plant.cpp b/game/scenary/plant.cpp index 4fb3cb5..b39c28b 100644 --- a/game/scenary/plant.cpp +++ b/game/scenary/plant.cpp @@ -2,6 +2,6 @@  #include "location.h"  Plant::Plant(std::shared_ptr<const Foliage> type, const Location & position) : -	type {std::move(type)}, location {this->type->instances.acquire(position.getTransform())} +	type {std::move(type)}, location {this->type->instances.acquire(position.getRotationTransform(), position.pos)}  {  } diff --git a/game/scenary/plant.h b/game/scenary/plant.h index 82ab0e5..77c9ff7 100644 --- a/game/scenary/plant.h +++ b/game/scenary/plant.h @@ -7,7 +7,7 @@ class Location;  class Plant : public WorldObject {  	std::shared_ptr<const Foliage> type; -	InstanceVertices<glm::mat4>::InstanceProxy location; +	InstanceVertices<Foliage::LocationVertex>::InstanceProxy location;  	void  	tick(TickDuration) override | 
