Grindstone Game Engine v0.2.0
An open source game engine and toolkit.
Loading...
Searching...
No Matches
Grindstone::Renderer Namespace Reference

Classes

struct  AABB
struct  AttachmentInfo
class  BloomPass
class  BlurPass
struct  BufferDescription
struct  BufferTransfer
struct  BuilderBufferTransfer
struct  BuilderImageTransfer
class  ComputeRenderGraphBuilderPass
class  ComputeRenderGraphBuilderPassBase
class  ComputeRenderGraphPass
class  ComputeRenderGraphPassBase
struct  CullingFrustum
class  DebugPass
class  DepthOfFieldPass
class  ForwardPass
struct  GbufferData
class  GbufferPass
class  GraphicsRenderGraphBuilderPass
class  GraphicsRenderGraphBuilderPassBase
class  GraphicsRenderGraphPass
class  GraphicsRenderGraphPassBase
struct  ImageDescription
struct  ImageTransfer
class  LightingPass
struct  LightingPassReturnData
struct  MetaRect
struct  MetaSize
struct  MetaSize2D
struct  OBB
struct  PassBufferDesc
struct  PassImageDesc
class  PipelineRenderGraphBuilderPass
class  PipelineRenderGraphPass
struct  PostProcessSettings
class  PresentRenderGraphBuilderPass
class  PresentRenderGraphPass
struct  RenderableBufferPair
class  RenderGraph
class  RenderGraphBuilder
class  RenderGraphBuilderPass
struct  RenderGraphBuilderResourceRef
struct  RenderGraphContext
struct  RenderGraphFrameResources
class  RenderGraphPass
struct  RenderGraphResourceRef
class  ScreenSpaceAmbientOcclusionPass
class  ScreenSpaceReflectionsPass
class  ShadowPass
struct  ShadowPassReturnData
class  SkinningPass
class  SmaaPass
class  TonemapPass
struct  TonemapPassReturnData
class  TransferRenderGraphBuilderPass
class  TransferRenderGraphPass
struct  TransientBufferData
struct  TransientBufferDescription
struct  TransientBufferKey
struct  TransientImageData
struct  TransientImageDescription
struct  TransientImageKey
class  TransientResourceManager
union  TransientResourceUnion

Typedefs

using UnionResourceDescription = std::variant<Grindstone::Renderer::ImageDescription, Grindstone::Renderer::BufferDescription>
using PassId = uint16_t
using ResourceId = uint16_t

Enumerations

enum class  RenderGraphImageUsage : uint16_t {
  None = 0 , Read = 1 << 0 , Write = 1 << 1 , Sampled = 1 << 2 ,
  Storage = 1 << 3 , ColorAttachment = 1 << 4 , DepthAttachment = 1 << 5 , StencilAttachment = 1 << 6 ,
  SubpassInputAttachment = 1 << 7 , Transfer = 1 << 8 , SampledRead = static_cast<uint16_t>(RenderGraphImageUsage::Sampled) | static_cast<uint16_t>(RenderGraphImageUsage::Read) , StorageRead = static_cast<uint16_t>(RenderGraphImageUsage::Storage) | static_cast<uint16_t>(RenderGraphImageUsage::Read) ,
  StorageWrite = static_cast<uint16_t>(RenderGraphImageUsage::Storage) | static_cast<uint16_t>(RenderGraphImageUsage::Write) , StorageReadWrite = static_cast<uint16_t>(RenderGraphImageUsage::StorageRead) | static_cast<uint16_t>(RenderGraphImageUsage::Write) , ColorAttachmentRead = static_cast<uint16_t>(RenderGraphImageUsage::ColorAttachment) | static_cast<uint16_t>(RenderGraphImageUsage::Read) , ColorAttachmentWrite = static_cast<uint16_t>(RenderGraphImageUsage::ColorAttachment) | static_cast<uint16_t>(RenderGraphImageUsage::Write) ,
  ColorAttachmentReadWrite = static_cast<uint16_t>(RenderGraphImageUsage::ColorAttachmentRead) | static_cast<uint16_t>(RenderGraphImageUsage::Write) , DepthAttachmentRead = static_cast<uint16_t>(RenderGraphImageUsage::DepthAttachment) | static_cast<uint16_t>(RenderGraphImageUsage::Read) , DepthAttachmentWrite = static_cast<uint16_t>(RenderGraphImageUsage::DepthAttachment) | static_cast<uint16_t>(RenderGraphImageUsage::Write) , DepthAttachmentReadWrite = static_cast<uint16_t>(RenderGraphImageUsage::DepthAttachmentRead) | static_cast<uint16_t>(RenderGraphImageUsage::Write) ,
  StencilAttachmentRead = static_cast<uint16_t>(RenderGraphImageUsage::StencilAttachment) | static_cast<uint16_t>(RenderGraphImageUsage::Read) , StencilAttachmentWrite = static_cast<uint16_t>(RenderGraphImageUsage::StencilAttachment) | static_cast<uint16_t>(RenderGraphImageUsage::Write) , StencilAttachmentReadWrite = static_cast<uint16_t>(RenderGraphImageUsage::StencilAttachmentRead) | static_cast<uint16_t>(RenderGraphImageUsage::Write) , DepthStencilAttachmentRead = static_cast<uint16_t>(RenderGraphImageUsage::DepthAttachmentRead) | static_cast<uint16_t>(RenderGraphImageUsage::StencilAttachment) ,
  DepthStencilAttachmentWrite = static_cast<uint16_t>(RenderGraphImageUsage::DepthAttachmentWrite) | static_cast<uint16_t>(RenderGraphImageUsage::StencilAttachment) , DepthStencilAttachmentReadWrite = static_cast<uint16_t>(RenderGraphImageUsage::DepthAttachmentReadWrite) | static_cast<uint16_t>(RenderGraphImageUsage::StencilAttachment) , SubpassInputAttachmentRead = static_cast<uint16_t>(RenderGraphImageUsage::SubpassInputAttachment) | static_cast<uint16_t>(RenderGraphImageUsage::Read) , TransferSrc = static_cast<uint16_t>(RenderGraphImageUsage::Transfer) | static_cast<uint16_t>(RenderGraphImageUsage::Read) ,
  TransferDst = static_cast<uint16_t>(RenderGraphImageUsage::Transfer) | static_cast<uint16_t>(RenderGraphImageUsage::Write)
}
enum class  GpuPassType : uint8_t {
  None , Graphics , Compute , Transfer ,
  Present
}
enum class  AccessType { Read , Write , ReadWrite }
enum class  DeferredRenderMode : uint16_t {
  Default , Position , PositionMod , ViewPosition ,
  ViewPositionMod , Depth , DepthMod , Normal ,
  ViewNormal , Albedo , Specular , Roughness ,
  AmbientOcclusion , Count
}

Functions

bool IsInFrustum (const CullingFrustum &frustum, const glm::mat4 &viewModelMatrix, const AABB &aabb)
CullingFrustum CreateFrustum (const Grindstone::Rendering::RenderViewData &renderViewData)
template<typename MeshComponentType, typename RenderTask>
std::vector< RenderTaskGenerateTaskList (Grindstone::Rendering::GeometryRenderStats &renderingStats, entt::registry &registry, const Grindstone::Renderer::CullingFrustum &frustum, const glm::mat4 &viewMatrix, Grindstone::HashedString renderQueueHash, std::function< void(std::vector< RenderTask > &, const Grindstone::HashedString, const Mesh3dAsset::Submesh &, const Mesh3dAsset *, const MeshComponentType &, const MeshRendererComponent &)> submeshCallback)
template<typename RenderTask>
void RenderAllTasks (Grindstone::Rendering::GeometryRenderStats &renderingStats, GraphicsAPI::DescriptorSet *engineDescriptorSet, GraphicsAPI::CommandBuffer *commandBuffer, const std::vector< RenderTask > &renderTasks)
template<typename RenderTask>
int CompareRenderSort (const RenderTask &a, const RenderTask &b)
template<typename RenderTask>
int CompareReverseRenderSort (const RenderTask &a, const RenderTask &b)
template<typename RenderTask>
void SortRenderTasks (std::vector< RenderTask > &renderTasks)
template<typename RenderTask>
void SortRenderTasksReverse (std::vector< RenderTask > &renderTasks)

Variables

const PassId invalidPassId = std::numeric_limits<PassId>().max()
const ResourceId invalidResourceId = std::numeric_limits<ResourceId>().max()