Polyphase Game Engine
Loading...
Searching...
No Matches
Graphics.h File Reference
#include "GraphicsTypes.h"
#include "Vertex.h"
#include "Line.h"
#include <vector>

Go to the source code of this file.

Functions

void GFX_Initialize ()
 
void GFX_Shutdown ()
 
void GFX_BeginFrame ()
 
void GFX_EndFrame ()
 
void GFX_BeginScreen (uint32_t screenIndex)
 
void GFX_BeginView (uint32_t viewIndex)
 
bool GFX_ShouldCullLights ()
 
void GFX_BeginRenderPass (RenderPassId renderPassId)
 
void GFX_EndRenderPass ()
 
void GFX_SetPipelineState (PipelineConfig config)
 
void GFX_SetViewport (int32_t x, int32_t y, int32_t width, int32_t height, bool handlePrerotation=true)
 
void GFX_SetScissor (int32_t x, int32_t y, int32_t width, int32_t height, bool handlePrerotation=true)
 
glm::mat4 GFX_MakePerspectiveMatrix (float fovyDegrees, float aspectRatio, float zNear, float zFar)
 
glm::mat4 GFX_MakeOrthographicMatrix (float left, float right, float bottom, float top, float zNear, float zFar)
 
void GFX_SetFog (const FogSettings &fogSettings)
 
void GFX_DrawLines (const std::vector< Line > &lines)
 
void GFX_DrawFullscreen ()
 
void GFX_ResizeWindow ()
 
void GFX_Reset ()
 
Node3DGFX_ProcessHitCheck (World *world, int32_t x, int32_t y, uint32_t *outInstance=nullptr)
 
uint32_t GFX_GetNumViews ()
 
void GFX_SetFrameRate (int32_t frameRate)
 
void GFX_PathTrace ()
 
void GFX_BeginLightBake ()
 
void GFX_UpdateLightBake ()
 
void GFX_EndLightBake ()
 
bool GFX_IsLightBakeInProgress ()
 
float GFX_GetLightBakeProgress ()
 
void GFX_EnableMaterials (bool enable)
 
void GFX_BeginGpuTimestamp (const char *name)
 
void GFX_EndGpuTimestamp (const char *name)
 
void GFX_CreateTextureResource (Texture *texture, std::vector< uint8_t > &data)
 
void GFX_DestroyTextureResource (Texture *texture)
 
void GFX_UpdateTextureResourcePixels (Texture *texture, const uint8_t *src, uint32_t srcWidth, uint32_t srcHeight)
 
void GFX_CreateMaterialResource (Material *material)
 
void GFX_DestroyMaterialResource (Material *material)
 
void GFX_CreateStaticMeshResource (StaticMesh *staticMesh, bool hasColor, uint32_t numVertices, void *vertices, uint32_t numIndices, IndexType *indices)
 
void GFX_DestroyStaticMeshResource (StaticMesh *staticMesh)
 
void GFX_CreateSkeletalMeshResource (SkeletalMesh *skeletalMesh, uint32_t numVertices, VertexSkinned *vertices, uint32_t numIndices, IndexType *indices)
 
void GFX_DestroySkeletalMeshResource (SkeletalMesh *skeletalMesh)
 
void GFX_CreateStaticMeshCompResource (StaticMesh3D *staticMeshComp)
 
void GFX_DestroyStaticMeshCompResource (StaticMesh3D *staticMeshComp)
 
void GFX_UpdateStaticMeshCompResourceColors (StaticMesh3D *staticMeshComp)
 
void GFX_DrawStaticMeshComp (StaticMesh3D *staticMeshComp, StaticMesh *meshOverride=nullptr)
 
void GFX_CreateSkeletalMeshCompResource (SkeletalMesh3D *skeletalMeshComp)
 
void GFX_DestroySkeletalMeshCompResource (SkeletalMesh3D *skeletalMeshComp)
 
void GFX_ReallocateSkeletalMeshCompVertexBuffer (SkeletalMesh3D *skeletalMeshComp, uint32_t numVertices)
 
void GFX_UpdateSkeletalMeshCompVertexBuffer (SkeletalMesh3D *skeletalMeshComp, const std::vector< Vertex > &skinnedVertices)
 
void GFX_DrawSkeletalMeshComp (SkeletalMesh3D *skeletalMeshComp)
 
bool GFX_IsCpuSkinningRequired (SkeletalMesh3D *skeletalMeshComp)
 
void GFX_DrawShadowMeshComp (ShadowMesh3D *shadowMeshComp)
 
void GFX_DrawInstancedMeshComp (InstancedMesh3D *instancedMeshComp)
 
void GFX_CreateTextMeshCompResource (TextMesh3D *textMeshComp)
 
void GFX_DestroyTextMeshCompResource (TextMesh3D *textMeshComp)
 
void GFX_UpdateTextMeshCompVertexBuffer (TextMesh3D *textMeshComp, const std::vector< Vertex > &vertices)
 
void GFX_DrawTextMeshComp (TextMesh3D *textMeshComp)
 
void GFX_CreateVoxel3DResource (Voxel3D *voxel)
 
void GFX_DestroyVoxel3DResource (Voxel3D *voxel)
 
void GFX_UpdateVoxel3DResource (Voxel3D *voxel, const std::vector< VertexColor > &vertices, const std::vector< IndexType > &indices)
 
void GFX_DrawVoxel3D (Voxel3D *voxel)
 
void GFX_CreateTerrain3DResource (Terrain3D *terrain)
 
void GFX_DestroyTerrain3DResource (Terrain3D *terrain)
 
void GFX_UpdateTerrain3DResource (Terrain3D *terrain, const std::vector< VertexColor > &vertices, const std::vector< IndexType > &indices)
 
void GFX_DrawTerrain3D (Terrain3D *terrain)
 
void GFX_CreateTileMap2DResource (TileMap2D *tileMap)
 
void GFX_DestroyTileMap2DResource (TileMap2D *tileMap)
 
void GFX_UpdateTileMap2DResource (TileMap2D *tileMap, const std::vector< VertexColor > &vertices, const std::vector< IndexType > &indices)
 
void GFX_DrawTileMap2D (TileMap2D *tileMap)
 
void GFX_CreateParticleCompResource (Particle3D *particleComp)
 
void GFX_DestroyParticleCompResource (Particle3D *particleComp)
 
void GFX_UpdateParticleCompVertexBuffer (Particle3D *particleComp, const std::vector< VertexParticle > &vertices)
 
void GFX_DrawParticleComp (Particle3D *particleComp)
 
void GFX_CreateQuadResource (Quad *quad)
 
void GFX_DestroyQuadResource (Quad *quad)
 
void GFX_UpdateQuadResourceVertexData (Quad *quad)
 
void GFX_DrawQuad (Quad *quad)
 
void GFX_CreateQuadBorderResource (Quad *quad)
 
void GFX_DestroyQuadBorderResource (Quad *quad)
 
void GFX_UpdateQuadBorderResourceVertexData (Quad *quad)
 
void GFX_DrawQuadBorder (Quad *quad)
 
void GFX_CreateTextResource (Text *text)
 
void GFX_DestroyTextResource (Text *text)
 
void GFX_UpdateTextResourceVertexData (Text *text)
 
void GFX_DrawText (Text *text)
 
void GFX_CreatePolyResource (Poly *poly)
 
void GFX_DestroyPolyResource (Poly *poly)
 
void GFX_UpdatePolyResourceVertexData (Poly *poly)
 
void GFX_DrawPoly (Poly *poly)
 
void GFX_DrawStaticMesh (StaticMesh *mesh, Material *material, const glm::mat4 &transform, glm::vec4 color)
 
void GFX_RenderPostProcessPasses ()
 

Function Documentation

◆ GFX_BeginFrame()

void GFX_BeginFrame ( )

◆ GFX_BeginGpuTimestamp()

void GFX_BeginGpuTimestamp ( const char *  name)

◆ GFX_BeginLightBake()

void GFX_BeginLightBake ( )

◆ GFX_BeginRenderPass()

void GFX_BeginRenderPass ( RenderPassId  renderPassId)

◆ GFX_BeginScreen()

void GFX_BeginScreen ( uint32_t  screenIndex)

◆ GFX_BeginView()

void GFX_BeginView ( uint32_t  viewIndex)

◆ GFX_CreateMaterialResource()

void GFX_CreateMaterialResource ( Material material)

◆ GFX_CreateParticleCompResource()

void GFX_CreateParticleCompResource ( Particle3D particleComp)

◆ GFX_CreatePolyResource()

void GFX_CreatePolyResource ( Poly poly)

◆ GFX_CreateQuadBorderResource()

void GFX_CreateQuadBorderResource ( Quad quad)

◆ GFX_CreateQuadResource()

void GFX_CreateQuadResource ( Quad quad)

◆ GFX_CreateSkeletalMeshCompResource()

void GFX_CreateSkeletalMeshCompResource ( SkeletalMesh3D skeletalMeshComp)

◆ GFX_CreateSkeletalMeshResource()

void GFX_CreateSkeletalMeshResource ( SkeletalMesh skeletalMesh,
uint32_t  numVertices,
VertexSkinned vertices,
uint32_t  numIndices,
IndexType indices 
)

◆ GFX_CreateStaticMeshCompResource()

void GFX_CreateStaticMeshCompResource ( StaticMesh3D staticMeshComp)

◆ GFX_CreateStaticMeshResource()

void GFX_CreateStaticMeshResource ( StaticMesh staticMesh,
bool  hasColor,
uint32_t  numVertices,
void *  vertices,
uint32_t  numIndices,
IndexType indices 
)

◆ GFX_CreateTerrain3DResource()

void GFX_CreateTerrain3DResource ( Terrain3D terrain)

◆ GFX_CreateTextMeshCompResource()

void GFX_CreateTextMeshCompResource ( TextMesh3D textMeshComp)

◆ GFX_CreateTextResource()

void GFX_CreateTextResource ( Text text)

◆ GFX_CreateTextureResource()

void GFX_CreateTextureResource ( Texture texture,
std::vector< uint8_t > &  data 
)

◆ GFX_CreateTileMap2DResource()

void GFX_CreateTileMap2DResource ( TileMap2D tileMap)

◆ GFX_CreateVoxel3DResource()

void GFX_CreateVoxel3DResource ( Voxel3D voxel)

◆ GFX_DestroyMaterialResource()

void GFX_DestroyMaterialResource ( Material material)

◆ GFX_DestroyParticleCompResource()

void GFX_DestroyParticleCompResource ( Particle3D particleComp)

◆ GFX_DestroyPolyResource()

void GFX_DestroyPolyResource ( Poly poly)

◆ GFX_DestroyQuadBorderResource()

void GFX_DestroyQuadBorderResource ( Quad quad)

◆ GFX_DestroyQuadResource()

void GFX_DestroyQuadResource ( Quad quad)

◆ GFX_DestroySkeletalMeshCompResource()

void GFX_DestroySkeletalMeshCompResource ( SkeletalMesh3D skeletalMeshComp)

◆ GFX_DestroySkeletalMeshResource()

void GFX_DestroySkeletalMeshResource ( SkeletalMesh skeletalMesh)

◆ GFX_DestroyStaticMeshCompResource()

void GFX_DestroyStaticMeshCompResource ( StaticMesh3D staticMeshComp)

◆ GFX_DestroyStaticMeshResource()

void GFX_DestroyStaticMeshResource ( StaticMesh staticMesh)

◆ GFX_DestroyTerrain3DResource()

void GFX_DestroyTerrain3DResource ( Terrain3D terrain)

◆ GFX_DestroyTextMeshCompResource()

void GFX_DestroyTextMeshCompResource ( TextMesh3D textMeshComp)

◆ GFX_DestroyTextResource()

void GFX_DestroyTextResource ( Text text)

◆ GFX_DestroyTextureResource()

void GFX_DestroyTextureResource ( Texture texture)

◆ GFX_DestroyTileMap2DResource()

void GFX_DestroyTileMap2DResource ( TileMap2D tileMap)

◆ GFX_DestroyVoxel3DResource()

void GFX_DestroyVoxel3DResource ( Voxel3D voxel)

◆ GFX_DrawFullscreen()

void GFX_DrawFullscreen ( )

◆ GFX_DrawInstancedMeshComp()

void GFX_DrawInstancedMeshComp ( InstancedMesh3D instancedMeshComp)

◆ GFX_DrawLines()

void GFX_DrawLines ( const std::vector< Line > &  lines)

◆ GFX_DrawParticleComp()

void GFX_DrawParticleComp ( Particle3D particleComp)

◆ GFX_DrawPoly()

void GFX_DrawPoly ( Poly poly)

◆ GFX_DrawQuad()

void GFX_DrawQuad ( Quad quad)

◆ GFX_DrawQuadBorder()

void GFX_DrawQuadBorder ( Quad quad)

◆ GFX_DrawShadowMeshComp()

void GFX_DrawShadowMeshComp ( ShadowMesh3D shadowMeshComp)

◆ GFX_DrawSkeletalMeshComp()

void GFX_DrawSkeletalMeshComp ( SkeletalMesh3D skeletalMeshComp)

◆ GFX_DrawStaticMesh()

void GFX_DrawStaticMesh ( StaticMesh mesh,
Material material,
const glm::mat4 &  transform,
glm::vec4  color 
)

◆ GFX_DrawStaticMeshComp()

void GFX_DrawStaticMeshComp ( StaticMesh3D staticMeshComp,
StaticMesh meshOverride = nullptr 
)

◆ GFX_DrawTerrain3D()

void GFX_DrawTerrain3D ( Terrain3D terrain)

◆ GFX_DrawText()

void GFX_DrawText ( Text text)

◆ GFX_DrawTextMeshComp()

void GFX_DrawTextMeshComp ( TextMesh3D textMeshComp)

◆ GFX_DrawTileMap2D()

void GFX_DrawTileMap2D ( TileMap2D tileMap)

◆ GFX_DrawVoxel3D()

void GFX_DrawVoxel3D ( Voxel3D voxel)

◆ GFX_EnableMaterials()

void GFX_EnableMaterials ( bool  enable)

◆ GFX_EndFrame()

void GFX_EndFrame ( )

◆ GFX_EndGpuTimestamp()

void GFX_EndGpuTimestamp ( const char *  name)

◆ GFX_EndLightBake()

void GFX_EndLightBake ( )

◆ GFX_EndRenderPass()

void GFX_EndRenderPass ( )

◆ GFX_GetLightBakeProgress()

float GFX_GetLightBakeProgress ( )

◆ GFX_GetNumViews()

uint32_t GFX_GetNumViews ( )

◆ GFX_Initialize()

void GFX_Initialize ( )

◆ GFX_IsCpuSkinningRequired()

bool GFX_IsCpuSkinningRequired ( SkeletalMesh3D skeletalMeshComp)

◆ GFX_IsLightBakeInProgress()

bool GFX_IsLightBakeInProgress ( )

◆ GFX_MakeOrthographicMatrix()

glm::mat4 GFX_MakeOrthographicMatrix ( float  left,
float  right,
float  bottom,
float  top,
float  zNear,
float  zFar 
)

◆ GFX_MakePerspectiveMatrix()

glm::mat4 GFX_MakePerspectiveMatrix ( float  fovyDegrees,
float  aspectRatio,
float  zNear,
float  zFar 
)

◆ GFX_PathTrace()

void GFX_PathTrace ( )

◆ GFX_ProcessHitCheck()

Node3D * GFX_ProcessHitCheck ( World world,
int32_t  x,
int32_t  y,
uint32_t *  outInstance = nullptr 
)

◆ GFX_ReallocateSkeletalMeshCompVertexBuffer()

void GFX_ReallocateSkeletalMeshCompVertexBuffer ( SkeletalMesh3D skeletalMeshComp,
uint32_t  numVertices 
)

◆ GFX_RenderPostProcessPasses()

void GFX_RenderPostProcessPasses ( )

◆ GFX_Reset()

void GFX_Reset ( )

◆ GFX_ResizeWindow()

void GFX_ResizeWindow ( )

◆ GFX_SetFog()

void GFX_SetFog ( const FogSettings fogSettings)

◆ GFX_SetFrameRate()

void GFX_SetFrameRate ( int32_t  frameRate)

◆ GFX_SetPipelineState()

void GFX_SetPipelineState ( PipelineConfig  config)

◆ GFX_SetScissor()

void GFX_SetScissor ( int32_t  x,
int32_t  y,
int32_t  width,
int32_t  height,
bool  handlePrerotation = true 
)

◆ GFX_SetViewport()

void GFX_SetViewport ( int32_t  x,
int32_t  y,
int32_t  width,
int32_t  height,
bool  handlePrerotation = true 
)

◆ GFX_ShouldCullLights()

bool GFX_ShouldCullLights ( )

◆ GFX_Shutdown()

void GFX_Shutdown ( )

◆ GFX_UpdateLightBake()

void GFX_UpdateLightBake ( )

◆ GFX_UpdateParticleCompVertexBuffer()

void GFX_UpdateParticleCompVertexBuffer ( Particle3D particleComp,
const std::vector< VertexParticle > &  vertices 
)

◆ GFX_UpdatePolyResourceVertexData()

void GFX_UpdatePolyResourceVertexData ( Poly poly)

◆ GFX_UpdateQuadBorderResourceVertexData()

void GFX_UpdateQuadBorderResourceVertexData ( Quad quad)

◆ GFX_UpdateQuadResourceVertexData()

void GFX_UpdateQuadResourceVertexData ( Quad quad)

◆ GFX_UpdateSkeletalMeshCompVertexBuffer()

void GFX_UpdateSkeletalMeshCompVertexBuffer ( SkeletalMesh3D skeletalMeshComp,
const std::vector< Vertex > &  skinnedVertices 
)

◆ GFX_UpdateStaticMeshCompResourceColors()

void GFX_UpdateStaticMeshCompResourceColors ( StaticMesh3D staticMeshComp)

◆ GFX_UpdateTerrain3DResource()

void GFX_UpdateTerrain3DResource ( Terrain3D terrain,
const std::vector< VertexColor > &  vertices,
const std::vector< IndexType > &  indices 
)

◆ GFX_UpdateTextMeshCompVertexBuffer()

void GFX_UpdateTextMeshCompVertexBuffer ( TextMesh3D textMeshComp,
const std::vector< Vertex > &  vertices 
)

◆ GFX_UpdateTextResourceVertexData()

void GFX_UpdateTextResourceVertexData ( Text text)

◆ GFX_UpdateTextureResourcePixels()

void GFX_UpdateTextureResourcePixels ( Texture texture,
const uint8_t *  src,
uint32_t  srcWidth,
uint32_t  srcHeight 
)

◆ GFX_UpdateTileMap2DResource()

void GFX_UpdateTileMap2DResource ( TileMap2D tileMap,
const std::vector< VertexColor > &  vertices,
const std::vector< IndexType > &  indices 
)

◆ GFX_UpdateVoxel3DResource()

void GFX_UpdateVoxel3DResource ( Voxel3D voxel,
const std::vector< VertexColor > &  vertices,
const std::vector< IndexType > &  indices 
)