30 TransparentRenderFacesGroup::TransparentRenderFacesGroup()
33 this->
model =
nullptr;
62 for (
auto j = 0; j < engine->
lights.size(); j++) {
63 engine->
lights[j]->update(contextIdx);
84 batchRendererTriangles->render();
85 batchRendererTriangles->clear();
86 batchRendererTriangles->release();
Color 4 definition class.
const array< float, 4 > & getArray() const
void set(float r, float g, float b, float a)
Sets this color by its components.
array< unique_ptr< Light >, LIGHTS_MAX > lights
Representation of a 3D model.
array< float, 4 > & getEffectColorAdd(int contextIdx)
Get effect color add.
Matrix3x3 & getTextureMatrix(int contextIdx)
Get texture matrix.
virtual void onUpdateShader(int contextIdx)=0
On update shader.
array< float, 4 > & getEffectColorMul(int contextIdx)
Get effect color mul.
virtual void unbindBufferObjects(int contextIdx)=0
Unbind buffer objects.
const string & getShader(int contextIdx)
Get shader.
virtual void onUpdateTextureMatrix(int contextIdx)=0
Update texture matrix for active texture unit event.
void setShader(int contextIdx, const string &id)
Set shader.
Matrix4x4 & getModelViewMatrix()
virtual void onUpdateModelViewMatrix(int contextIdx)=0
Update model view matrix event.
virtual void onUpdateEffect(int contextIdx)=0
Update material.
Batch renderer for transparent triangles.
static constexpr int32_t RENDERTYPE_ALL
void setupMaterial(int contextIdx, ObjectNode *objectNode, int32_t facesEntityIdx, int32_t renderTypes, bool updateOnly, string &materialKey, const string ¤tMaterialKey=string())
Set ups a material for rendering.
Object node specifically for rendering.
Transparent render faces group.
EntityRenderer * objectRenderer
void set(EntityRenderer *objectRenderer, Model *model, ObjectNode *objectNode, int32_t facesEntityIdx, const Color4 &effectColorAdd, const Color4 &effectColorMul, const Material *material, bool textureCoordinates, const string &shader)
Set transparent render faces group.
const Material * material
vector< BatchRendererTriangles * > batchRenderers
void render(Engine *engine, Renderer *renderer, int contextIdx)
Render this transparent render faces node.
Matrix3x3 & identity()
Creates identity matrix.
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Matrix4x4 & identity()
Creates identity matrix.
Matrix4x4 & set(float r0c0, float r0c1, float r0c2, float r0c3, float r1c0, float r1c1, float r1c2, float r1c3, float r2c0, float r2c1, float r2c2, float r2c3, float r3c0, float r3c1, float r3c2, float r3c3)
Sets this matrix by its components.