96 inline static const tuple<Model*, ObjectNode*, int32_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, int32_t, const Material*, bool, uint8_t>
createKey(
Model*
model,
ObjectNode*
objectNode, int32_t
facesEntityIdx,
const Color4&
effectColorAdd,
const Color4&
effectColorMul,
const Material*
material,
bool textureCoordinates, uint8_t uniqueShaderId) {
126 if (batchRendererTriangles ==
nullptr) {
127 Console::println(
string(
"TransparentRenderFacesGroup::addVertex(): could not acquire triangles batch renderer"));
134 if (batchRendererTriangles->addVertex(vertex, normal, textureCoordinate) ==
true)
138 if (batchRendererTriangles ==
nullptr) {
139 Console::println(
string(
"TransparentRenderFacesGroup::addVertex(): could not acquire triangles batch renderer"));
145 batchRendererTriangles->addVertex(vertex, normal, textureCoordinate);
Color 4 definition class.
Representation of a 3D model.
Batch renderer for transparent triangles.
Entity renderer transparent render faces node pool.
BatchRendererTriangles * acquireTrianglesBatchRenderer()
Object node mesh specifically for rendering.
Object node specifically for rendering.
Transparent render faces group.
EntityRenderer * objectRenderer
TransparentRenderFacesGroup()
Public constructor.
void addVertex(const Vector3 &vertex, const Vector3 &normal, const Vector2 &textureCoordinate)
Adds a vertex to this transparent render faces group.
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.
static const tuple< Model *, ObjectNode *, int32_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, uint8_t, int32_t, const Material *, bool, uint8_t > createKey(Model *model, ObjectNode *objectNode, int32_t facesEntityIdx, const Color4 &effectColorAdd, const Color4 &effectColorMul, const Material *material, bool textureCoordinates, uint8_t uniqueShaderId)
Creates a key for given transparent render faces group attributes.
const Material * material
vector< BatchRendererTriangles * > batchRenderers
void render(Engine *engine, Renderer *renderer, int contextIdx)
Render this transparent render faces node.
Matrix4x4 class representing matrix4x4 mathematical structure and operations for 3d space.
Vector2 class representing vector2 mathematical structure and operations with x, y components.
Vector3 class representing vector3 mathematical structure and operations with x, y,...
#define FORBID_CLASS_COPY(CLASS)