11 #ifndef hifi_RenderableGridEntityItem_h
12 #define hifi_RenderableGridEntityItem_h
14 #include "RenderableEntityItem.h"
16 #include <GridEntityItem.h>
18 namespace render {
namespace entities {
20 class GridEntityRenderer :
public TypedEntityRenderer<GridEntityItem> {
21 using Parent = TypedEntityRenderer<GridEntityItem>;
22 using Pointer = std::shared_ptr<GridEntityRenderer>;
24 GridEntityRenderer(
const EntityItemPointer& entity);
25 ~GridEntityRenderer();
28 Item::Bound getBound(RenderArgs* args)
override;
29 ShapeKey getShapeKey()
override;
31 bool isTransparent()
const override;
34 virtual void doRenderUpdateSynchronousTyped(
const ScenePointer& scene, Transaction& transaction,
const TypedEntityPointer& entity)
override;
35 virtual void doRenderUpdateAsynchronousTyped(
const TypedEntityPointer& entity)
override;
36 virtual void doRender(RenderArgs* args)
override;
40 PulsePropertyGroup _pulseProperties;
42 bool _followCamera {
false };
43 uint32_t _majorGridEvery;
44 float _minorGridEvery {
false };
46 glm::vec3 _dimensions;
48 int _geometryId { 0 };