24 #include <flw/flc/texturing/Texture2D.h> 25 #include <flw/flc/buffers/IndexBuffer.h> 27 #include <flw/flc/operations/TQuery.h> 28 #include <flw/flc/buffers/mVertexBufferBasic.h> 29 #include <flw/flf/models/Entity.h> 30 #include <flw/cmn/Material.h> 31 #include <flw/flf/models/base/IReloadable.h> 33 #include <flw/flc/renderers/IRenderer.h> 35 #include <flw/flc/extended/operations/ConditionalRender.h> 36 #include <flw/flc/extended/pipeline/Fence.h> 66 bool isVAOInitialized,
69 ModelLoader::Animator* animator =
nullptr,
70 GLenum renderMode = GL_TRIANGLES);
75 void drawFR(
ICamera &camera)
override;
77 void drawPBRP(
ICamera &camera)
override;
79 void drawDR(
ICamera &camera)
override;
81 void drawPicking(
ICamera &camera)
override;
83 void drawDepth(
ICamera &camera)
override;
85 void drawDepthColor(
ICamera &camera, glm::vec3 &position)
override;
87 void drawAOG(
ICamera &camera)
override;
89 void drawAOC(
ICamera &camera)
override;
91 void drawOcclusionBox(
ICamera &camera)
override;
97 void log()
const override;
101 virtual void onDraw();
124 ModelLoader::Animator* mAnimator;
127 glm::mat4 mOcclusionMatrix;
129 #if defined(FILLWAVE_BACKEND_OPENGL_ES_20) 130 #elif defined(FILLWAVE_BACKEND_OPENGL_ES_30) 142 GLint mULCModelMatrix, mULCViewProjectionMatrix, mULCLightAmbientIntensity, mULCLightDiffuseIntensity, mULCLightSpecularIntensity, mULCCameraPosition, mULCColorPicking, mULCPainterColor;
143 GLint mULCMVPOcclusion;
145 GLint mULCMVPShadowColor, mULCModelMatrixShadowColor;
146 GLint mULCMVPAmbientOcclusion, mULCPositionAmbientOcclusion;
147 GLint mULCSampleRadius, mULCProjectionMatrix;
149 void initBuffers()
override;
151 void initPipeline()
override;
153 void initUniformsCache()
override;
155 void initVAO()
override;
157 void initVBO()
override;
164 const GLint VERTICES_CUBE_COUNT = 36;
Encapsulates reloadable objects.
Definition: IReloadable.h:35
Per mesh material info.
Definition: Material.h:32
Base for all renderers.
Definition: IRenderer.h:42
Basic drawable Entity.
Definition: Mesh.h:51
GLObject to ask OpenGL questions.
Definition: TQuery.h:34
Single GLSL 2D Texture object.
Definition: Texture2D.h:36
Fillwave engine core.
Definition: Engine.h:85
Base for all Scene nodes.
Definition: Entity.h:48
VertexArrayObject - VAO.
Definition: VertexArray.h:33
IndexBufferObject - IBO.
Definition: IndexBuffer.h:35
Operation of rendering only meshes passing the occlusion test.
Definition: ConditionalRender.h:33
Light system knows about all light related stuff.
Definition: LightSystem.h:40
Single GLSL program object.
Definition: Program.h:37
Single draw item structure.
Definition: RenderItem.h:33
Stores camera view parameters.
Definition: ICamera.h:32
Vertex buffer specialized with VertexBasic data structure.
Definition: mVertexBufferBasic.h:61