52 ObjectInternal::setTransform(transform);
59 ObjectInternal::update();
67 if (this->enabled ==
enabled)
return;
82 ObjectInternal::setEnabled(
enabled);
93 if (this->frustumCulling ==
true) {
108 ObjectInternal::dispose();
113 ObjectInternal::initialize();
118 shaderId = StringTools::startsWith(
id,
"pbr-") ==
true ||
id.empty() ==
true?
id:
"pbr-" +
id;
122 shaderId = StringTools::startsWith(
id,
"pbr-") ==
true?StringTools::substring(
id,
string(
"pbr-").size()):
id;
unique_ptr< Partition > partition
static LightingShader * getLightingShader()
void updateEntityRegistration(Entity *entity)
Updates registration of engine by performing deregisterEntity() and registerEntity()
void deregisterEntity(Entity *entity)
Removes a entity from internal lists, those entities can also be sub entities from entity hierarchy o...
static uint8_t getUniqueShaderId(const string &shaderId)
void registerEntity(Entity *entity)
Adds a entity to internal lists, those entities can also be sub entities from entity hierarchy or par...
void setShader(const string &shaderId)
Set shader.
Object to be used with engine class.
void dispose() override
Dispose this entity.
void setShader(const string &id)
Set shader.
void initialize() override
Initiates this entity.
EntityShaderParameters shaderParameters
void update() override
Update transform.
Object(const string &id, Model *model, int instances)
Public constructor.
bool requiresForwardShading
void setTransform(const Transform &transform) override
Set transform.
void setFrustumCulling(bool frustumCulling) override
Set frustum culling.
void setEngine(Engine *engine) override
Set up engine.
void setEnabled(bool enabled) override
Enable/disable rendering.
bool isFrustumCulling() override
void setRenderer(Renderer *renderer) override
Set up renderer.
Representation of a 3D model.
ShaderModel * getShaderModel()
Interface to lighting shader program.
bool hasShader(const string &shaderId)
Returns if shader with given shader id does exist.
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Quaternion class representing quaternion mathematical structure and operations with x,...
Vector3 class representing vector3 mathematical structure and operations with x, y,...