3
0
Fork 0
mirror of https://github.com/JulianGro/overte.git synced 2025-04-15 17:03:18 +02:00

first cut at RenderableEnitityItem payload

This commit is contained in:
ZappoMan 2015-05-21 16:22:23 -07:00
parent 3e6a28e534
commit 0d9f0f609b
4 changed files with 44 additions and 1 deletions
libraries

View file

@ -12,4 +12,4 @@ find_package(Bullet REQUIRED)
target_include_directories(${TARGET_NAME} SYSTEM PRIVATE ${BULLET_INCLUDE_DIRS})
target_link_libraries(${TARGET_NAME} ${BULLET_LIBRARIES})
link_hifi_libraries(shared gpu script-engine render-utils)
link_hifi_libraries(shared gpu script-engine render render-utils)

View file

@ -1190,3 +1190,16 @@ void EntityTreeRenderer::entityCollisionWithEntity(const EntityItemID& idA, cons
}
}
template <> const render::Item::Key render::payloadGetKey(const RenderableEnitityItem* payload) {
return payload->getKey();
}
template <> const render::Item::Bound render::payloadGetBound(const RenderableEnitityItem* payload) {
return payload->getBounds();
}
template <> void render::payloadRender(const RenderableEnitityItem* payload, Context& context, RenderArgs* args) {
return payload->render(context, args);
}

View file

@ -19,6 +19,7 @@
#include <EntityScriptingInterface.h> // for RayToEntityIntersectionResult
#include <MouseEvent.h>
#include <OctreeRenderer.h>
#include <render/Scene.h>
#include <ScriptCache.h>
#include <AbstractAudioInterface.h>
@ -190,4 +191,32 @@ private:
};
class RenderableEnitityItem {
public:
RenderableEnitityItem(EntityItem* entity) {
_entity = entity;
}
const render::Item::Key& getKey() const {
_myKey.set(render::Item::TYPE_SHAPE);
return _myKey;
}
const render::Item::Bound getBounds() const {
return _entity->getAABox();
}
void render(render::Context& context, RenderArgs* args) const {
_entity->render(args);
}
private:
mutable render::Item::Key _myKey;
EntityItem* _entity = nullptr;
};
typedef render::Payload<RenderableEnitityItem> RenderableEnitityItemPayload;
#endif // hifi_EntityTreeRenderer_h

View file

@ -18,6 +18,7 @@
#include <set>
#include <map>
#include <AABox.h>
#include <RenderArgs.h>
#include <atomic>
#include <mutex>
#include <queue>