mirror of
https://github.com/overte-org/overte.git
synced 2025-08-10 00:13:29 +02:00
expand out SIMPLE_RENDERABLE macro
This commit is contained in:
parent
97cd5b8b99
commit
f8617bab2d
2 changed files with 30 additions and 1 deletions
|
@ -399,6 +399,27 @@ void RenderablePolyVoxEntityItem::getModel() {
|
||||||
_needsModelReload = false;
|
_needsModelReload = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RenderablePolyVoxEntityItem::addToScene(EntityItemPointer self,
|
||||||
|
std::shared_ptr<render::Scene> scene,
|
||||||
|
render::PendingChanges& pendingChanges) {
|
||||||
|
_myItem = scene->allocateID();
|
||||||
|
|
||||||
|
auto renderData = RenderableEntityItemProxy::Pointer(new RenderableEntityItemProxy(self));
|
||||||
|
auto renderPayload = render::PayloadPointer(new RenderableEntityItemProxy::Payload(renderData));
|
||||||
|
|
||||||
|
pendingChanges.resetItem(_myItem, renderPayload);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void RenderablePolyVoxEntityItem::removeFromScene(EntityItemPointer self,
|
||||||
|
std::shared_ptr<render::Scene> scene,
|
||||||
|
render::PendingChanges& pendingChanges) {
|
||||||
|
pendingChanges.removeItem(_myItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void RenderablePolyVoxEntityItem::render(RenderArgs* args) {
|
void RenderablePolyVoxEntityItem::render(RenderArgs* args) {
|
||||||
PerformanceTimer perfTimer("RenderablePolyVoxEntityItem::render");
|
PerformanceTimer perfTimer("RenderablePolyVoxEntityItem::render");
|
||||||
assert(getType() == EntityTypes::PolyVox);
|
assert(getType() == EntityTypes::PolyVox);
|
||||||
|
|
|
@ -70,12 +70,20 @@ public:
|
||||||
|
|
||||||
virtual void setVoxelInVolume(glm::vec3 position, uint8_t toValue);
|
virtual void setVoxelInVolume(glm::vec3 position, uint8_t toValue);
|
||||||
|
|
||||||
SIMPLE_RENDERABLE();
|
virtual bool addToScene(EntityItemPointer self,
|
||||||
|
std::shared_ptr<render::Scene> scene,
|
||||||
|
render::PendingChanges& pendingChanges);
|
||||||
|
virtual void removeFromScene(EntityItemPointer self,
|
||||||
|
std::shared_ptr<render::Scene> scene,
|
||||||
|
render::PendingChanges& pendingChanges);
|
||||||
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual void updateVoxelSurfaceStyle(PolyVoxSurfaceStyle voxelSurfaceStyle);
|
virtual void updateVoxelSurfaceStyle(PolyVoxSurfaceStyle voxelSurfaceStyle);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
render::ItemID _myItem;
|
||||||
|
|
||||||
// The PolyVoxEntityItem class has _voxelData which contains dimensions and compressed voxel data. The dimensions
|
// The PolyVoxEntityItem class has _voxelData which contains dimensions and compressed voxel data. The dimensions
|
||||||
// may not match _voxelVolumeSize.
|
// may not match _voxelVolumeSize.
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue