Fillwave  10.0.0
List of all members | Public Member Functions | Public Attributes
flw::Engine Class Reference

Fillwave engine core. More...

#include <Engine.h>

Inheritance diagram for flw::Engine:
flw::EngineAndroid flw::EnginePC flw::EnginePCGLES

Public Member Functions

 Engine (const std::string &runtimeBinaryFilePath, bool isEveryExtensionSuccessfullyLoaded)
 
void configDebugger (EDebuggerState state)
 
void configFileLogging (std::string fileName="")
 
void configFPSCounter (std::string fontName="", glm::vec2 position=glm::vec2(-0.95, 0.95), GLfloat size=100.0)
 
void configBackgroundColor (glm::vec3 color)
 
void configTime (GLfloat timeFactor)
 
void draw ()
 
void drawLines ()
 
void drawPoints ()
 
void drawTexture (flc::Texture2D *t, flc::Program *p)
 
void drawTexture (flc::Texture2D *t)
 
void detach (ps< flf::Text > text)
 
void detach (flf::LightSpot *light)
 
void detach (flf::LightDirectional *light)
 
void detach (flf::LightPoint *light)
 
void detachLights ()
 
void detach (flf::Entity *)
 
void getPhysicalMeshBuffer (const std::string &path, flf::PhysicsMeshBuffer &buffer)
 
const std::string getGlobalPath (const std::string &localPath)
 
void setCurrentScene (pu< flf::Scene > &&scene)
 
pn< flf::ScenegetCurrentScene () const
 
GLuint getAndResetRenderedFramesCount ()
 
template<GLuint T>
flc::ShaderstoreShader (const std::string &shaderPath)
 
template<GLuint T>
flc::ShaderstoreShader (const std::string &shaderPath, const std::string &shaderSource)
 
flc::ProgramstoreProgram (const std::string &name, const vec< flc::Shader * > &shaders, bool isSkipLinking=false)
 
flc::Texture2DstoreTexture (const std::string &path)
 
flc::Texture2DRenderablestoreTextureRenderable ()
 
flc::Texture2DRenderableDynamicstoreTextureDynamic (const std::string &fragmentShaderPath)
 
flf::LightSpotstoreLightSpot (glm::vec3 pos, glm::quat rot, glm::vec4 col, Moveable *followed=nullptr)
 
flf::LightPointstoreLightPoint (glm::vec3 position, glm::vec4 color, Moveable *followed=nullptr)
 
flf::LightDirectionalstoreLightDirectional (glm::vec3 pos, glm::quat rot, glm::vec4 col, Moveable *m=nullptr)
 
ps< flf::TextstoreText (const std::string &text, const std::string &font, glm::vec2 pos, GLfloat scale=1.0f, glm::vec4 color=glm::vec4(1.0f, 1.0f, 1.0f, 1.0f), ETextEffect effect=ETextEffect::none)
 
flc::VertexArraystoreVAO (flf::IReloadable *user, flc::VertexArray *vao=nullptr)
 
template<class T , typename... S>
T * storeBuffer (flc::VertexArray *vao, S...p)
 
template<class T , typename... S>
T * storeBuffers (flc::VertexArray *vao, size_t idx, S...p)
 
void removeBuffer (flc::VertexArray *vao)
 
void removeBufferIndex (flc::VertexArray *vao)
 
void removeBufferIndexParticles (flc::VertexArray *vao)
 
void removeBufferBasic (flc::VertexArray *vao)
 
void removeBufferText (flc::VertexArray *vao)
 
void captureFramebufferToFile (const std::string &name)
 
void captureFramebufferToBuffer (GLubyte *buf, GLint *sizeInBytes, GLuint format=GL_RGBA, GLint bytesPerPixel=4)
 
flf::LightSystemgetLightSystem () const
 
flf::TextureSystemgetTextureSystem () const
 
glm::ivec2 getScreenSize () const
 
GLfloat getScreenAspectRatio () const
 
void log ()
 
void addPostProcess (const std::string &fragmentShaderPath, GLfloat lifeTime=flf::FILLWAVE_ENDLESS)
 
void reload ()
 
void onEvent (const flf::Event &event)
 
void onResizeScreen (GLuint width, GLuint height)
 
void onPick (GLuint xScreenSpace, GLuint yScreenSpace)
 
void attachHandler (std::function< void(const flf::Event &)> &&h, flf::EEventType type)
 
void detachHandlers ()
 
flc::Texture3DstoreTexture3D (const std::string &posX, const std::string &negX, const std::string &posY, const std::string &negY, const std::string &posZ, const std::string &negZ)
 
flc::SamplerstoreSO (GLint textureUnit)
 

Public Attributes

GLuint mWindowWidth
 
GLuint mWindowHeight
 
GLfloat mWindowAspectRatio
 
flf::FontLoader mFontLoader
 
flf::FileLoader mFileLoader
 
flf::ProgramLoader mProgramLoader
 
ModelLoader mModelLoader
 
flc::Texture2DRenderablemPickingRenderableTexture
 
pu< flc::PixelBuffermPickingPixelBuffer
 
flf::CacheShader mShaders
 
flf::CacheProgram mPrograms
 
flf::CacheSampler mSamplers
 
flf::CacheBuffer mBuffers
 
pu< flf::TextureSystemmTextures
 
pu< flf::LightSystemmLights
 
vec< flc::PostProcessingPassmPostProcessingPasses
 
flc::ProgrammProgramTextureLookup
 
vec< ps< Font > > mFontManager
 
vec< ps< flf::Text > > mTextManager
 
pu< flc::FencemFence
 
pu< flf::MeshOcclusionmOcclusion
 
vec< flf::EventHandlermHandlers
 
pu< flf::ScenemScene
 
pu< flf::DebuggermDebugger
 
GLuint mFrameCounter
 
GLfloat mTimeFactor
 
ps< flf::TextmFPSText
 
bool mIsOQ
 
glm::vec3 mBackgroundColor
 

Detailed Description

Fillwave engine core.


The documentation for this class was generated from the following file: