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:
parent
3e6a28e534
commit
0d9f0f609b
4 changed files with 44 additions and 1 deletions
libraries
entities-renderer
render/src/render
|
@ -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)
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <set>
|
||||
#include <map>
|
||||
#include <AABox.h>
|
||||
#include <RenderArgs.h>
|
||||
#include <atomic>
|
||||
#include <mutex>
|
||||
#include <queue>
|
||||
|
|
Loading…
Reference in a new issue