FastEngine 0.9.3
A multiplayer oriented 2D engine made with Vulkan.
Loading...
Searching...
No Matches
Graphics utility/tools

Everything related to graphics. More...

Classes

class  fge::Font
 This class is a wrapper for the font manager to allow easy manipulation. More...
 
class  fge::Texture
 This class is a wrapper for the texture manager to allow easy manipulation. More...
 
class  fge::TileLayer
 A tile layer contain a matrix of global tile id and a list of TileSet. More...
 
class  fge::TileLayer::Tile
 A tile that contain drawing information and its global id. More...
 
struct  fge::TileData
 A tile structure that contain mostly the texture rectangle and data. More...
 
class  fge::TileSet
 A class that represent a set of tiles that can be used in a TileLayer. More...
 
class  fge::RenderResourceTransform
 Resource containing transform information for rendering. More...
 
class  fge::RenderResourceInstances
 Resource containing instances information for rendering. More...
 
class  fge::RenderResourceTextures
 Resource containing textures information for rendering. More...
 
class  fge::RenderResourceDescriptors
 Resource containing descriptor sets information for rendering. More...
 
class  fge::RenderResourcePushConstants
 Resource containing push constants information for rendering. More...
 
class  fge::RenderStates
 The RenderStates class contains all the information needed to render something. More...
 
class  fge::Surface
 Abstraction of SDL_Surface. More...
 
class  fge::View
 Define a camera in a 2D scene. More...
 
class  fge::anim::AnimationManager
 Manage animations. More...
 
class  fge::font::FontManager
 Manage fonts. More...
 
class  fge::shader::ShaderManager
 Manage shaders. More...
 
class  fge::texture::TextureManager
 Manage textures. More...
 
class  fge::LightComponent
 A base class that define a light component. More...
 
class  fge::LightObstacle
 A base class to define an obstacle for the light system. More...
 

Typedefs

using fge::LightSystem = fge::Tunnel<fge::LightComponent>
 An fge::Tunnel class that regroups all the lights and obstacles as a tunnel.
 

Functions

fge::LightSystemfge::GetDefaultLightSystem (fge::Scene &scene)
 Get the default light system from a scene property.
 
FGE_API char const fge::res::gDefaultVertexShader []
 
FGE_API char const fge::res::gDefaultFragmentShader []
 
FGE_API char const fge::res::gDefaultFragmentTextureShader []
 
FGE_API unsigned int const fge::res::gDefaultVertexShaderSize
 
FGE_API unsigned int const fge::res::gDefaultFragmentShaderSize
 
FGE_API unsigned int const fge::res::gDefaultFragmentTextureShaderSize
 
FGE_API bool fge::shader::CompileAndLinkShader (fge::vulkan::Shader::Type type, char const *shaderIn, int shaderInSize, std::vector< uint32_t > &shaderOut, char const *shaderName, char const *entryPointName, bool debugBuild, bool isHlsl)
 Public API access to glslang.
 
FGE_API bool fge::shader::SaveSpirVToBinaryFile (std::vector< uint32_t > const &spirv, std::filesystem::path const &path)
 

Detailed Description

Everything related to graphics.

Typedef Documentation

◆ LightSystem

An fge::Tunnel class that regroups all the lights and obstacles as a tunnel.

Function Documentation

◆ CompileAndLinkShader()

FGE_API bool fge::shader::CompileAndLinkShader ( fge::vulkan::Shader::Type type,
char const * shaderIn,
int shaderInSize,
std::vector< uint32_t > & shaderOut,
char const * shaderName,
char const * entryPointName,
bool debugBuild,
bool isHlsl )

Public API access to glslang.

Parameters
typeThe shader type
shaderInThe shader input
shaderInSizeThe shader input size
shaderOutThe shader output (SPIR-V)
shaderNameThe shader name
entryPointNameThe entry point name
debugBuildIf the shader must be compiled with debug symbols
isHlslIf the shader is in HLSL language or false for GLSL
Returns
true if the shader was successfully compiled, false otherwise

◆ GetDefaultLightSystem()

fge::LightSystem * fge::GetDefaultLightSystem ( fge::Scene & scene)
inline

Get the default light system from a scene property.

Parameters
sceneThe scene to get the light system from
Returns
The default light system

Variable Documentation

◆ gDefaultVertexShader

FGE_API char const fge::res::gDefaultVertexShader[]
extern

All shaders here is in GLSL language