Nebula
Loading...
Searching...
No Matches
config.h File Reference

Detailed Description

Compile time configuration options for the CoreGraphics subsystem.

#include "core/types.h"
#include "util/string.h"
#include "core/rttimacros.h"

Go to the source code of this file.

Classes

union  CoreGraphics::InputAssemblyKey
 

Namespaces

namespace  CoreGraphics
 Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
 

Macros

#define NEBULA_WHOLE_BUFFER_SIZE   (-1)
 
#define SHADER_POSTEFFECT_DEFAULT_FEATURE_MASK   "Alt0"
 
#define NEBULA_GRAPHICS_DEBUG   1
 
#define NEBULA_MARKER_BLUE   Math::vec4(0.8f, 0.8f, 1.0f, 1.0f)
 
#define NEBULA_MARKER_RED   Math::vec4(1.0f, 0.8f, 0.8f, 1.0f)
 
#define NEBULA_MARKER_GREEN   Math::vec4(0.8f, 1.0f, 0.8f, 1.0f)
 
#define NEBULA_MARKER_DARK_GREEN   Math::vec4(0.6f, 0.8f, 0.6f, 1.0f)
 
#define NEBULA_MARKER_DARK_DARK_GREEN   Math::vec4(0.5f, 0.7f, 0.5f, 1.0f)
 
#define NEBULA_MARKER_PINK   Math::vec4(1.0f, 0.8f, 0.9f, 1.0f)
 
#define NEBULA_MARKER_PURPLE   Math::vec4(0.9f, 0.7f, 0.9f, 1.0f)
 
#define NEBULA_MARKER_ORANGE   Math::vec4(1.0f, 0.9f, 0.8f, 1.0f)
 
#define NEBULA_MARKER_TURQOISE   Math::vec4(0.8f, 0.9f, 1.0f, 1.0f)
 
#define NEBULA_MARKER_GRAY   Math::vec4(0.9f, 0.9f, 0.9f, 1.0f)
 
#define NEBULA_MARKER_BLACK   Math::vec4(0.001f)
 
#define NEBULA_MARKER_WHITE   Math::vec4(1)
 
#define NEBULA_MARKER_COMPUTE   NEBULA_MARKER_BLUE
 
#define NEBULA_MARKER_GRAPHICS   NEBULA_MARKER_GREEN
 
#define NEBULA_MARKER_TRANSFER   NEBULA_MARKER_RED
 

Typedefs

typedef uint CoreGraphics::ConstantBufferOffset
 

Enumerations

enum  CoreGraphics::QueueType {
  CoreGraphics::GraphicsQueueType , CoreGraphics::ComputeQueueType , CoreGraphics::TransferQueueType , CoreGraphics::SparseQueueType ,
  CoreGraphics::NumQueueTypes , CoreGraphics::InvalidQueueType
}
 
enum  CoreGraphics::QueryType { CoreGraphics::OcclusionQueryType , CoreGraphics::StatisticsQueryType , CoreGraphics::TimestampsQueryType , CoreGraphics::NumQueryTypes }
 
enum  CoreGraphics::ShaderVisibility {
  CoreGraphics::InvalidVisibility = 0 , CoreGraphics::VertexShaderVisibility = 1 << 0 , CoreGraphics::HullShaderVisibility = 1 << 2 , CoreGraphics::DomainShaderVisibility = 1 << 3 ,
  CoreGraphics::GeometryShaderVisibility = 1 << 4 , CoreGraphics::PixelShaderVisibility = 1 << 5 , CoreGraphics::AllGraphicsVisibility = VertexShaderVisibility | HullShaderVisibility | DomainShaderVisibility | GeometryShaderVisibility | PixelShaderVisibility , CoreGraphics::TaskShaderVisibility = 1 << 6 ,
  CoreGraphics::MeshShaderVisibility = 1 << 7 , CoreGraphics::ComputeShaderVisibility = 1 << 8 , CoreGraphics::RayGenerationShaderVisibility = 1 << 9 , CoreGraphics::RayAnyHitShaderVisibility = 1 << 10 ,
  CoreGraphics::RayClosestHitShaderVisibility = 1 << 11 , CoreGraphics::RayMissShaderVisibility = 1 << 12 , CoreGraphics::RayIntersectionShaderVisibility = 1 << 13 , CoreGraphics::CallableShaderVisibility = 1 << 14 ,
  CoreGraphics::AllVisibility = (1 << 15) - 1
}
 
enum class  CoreGraphics::ImageBits {
  CoreGraphics::Auto = 0 , CoreGraphics::ColorBits = (1 << 0) , CoreGraphics::DepthBits = (1 << 1) , CoreGraphics::StencilBits = (1 << 2) ,
  CoreGraphics::MetaBits = (1 << 3) , CoreGraphics::Plane0Bits = (1 << 4) , CoreGraphics::Plane1Bits = (1 << 5) , CoreGraphics::Plane2Bits = (1 << 6)
}
 
enum class  CoreGraphics::ImageLayout {
  CoreGraphics::Undefined , CoreGraphics::General , CoreGraphics::ColorRenderTexture , CoreGraphics::DepthStencilRenderTexture ,
  CoreGraphics::DepthStencilRead , CoreGraphics::ShaderRead , CoreGraphics::TransferSource , CoreGraphics::TransferDestination ,
  CoreGraphics::Preinitialized , CoreGraphics::Present
}
 
enum  CoreGraphics::ShaderPipeline { CoreGraphics::InvalidPipeline , CoreGraphics::GraphicsPipeline , CoreGraphics::ComputePipeline , CoreGraphics::RayTracingPipeline }
 
enum class  CoreGraphics::BarrierDomain { CoreGraphics::Global , CoreGraphics::Pass }
 
enum class  CoreGraphics::PipelineStage {
  CoreGraphics::InvalidStage , CoreGraphics::Top , CoreGraphics::Bottom , CoreGraphics::Indirect ,
  CoreGraphics::Index , CoreGraphics::Vertex , CoreGraphics::UniformGraphics , CoreGraphics::UniformCompute ,
  CoreGraphics::InputAttachment , CoreGraphics::ReadOnlyAccess = InputAttachment , CoreGraphics::VertexShaderRead , CoreGraphics::VertexShaderWrite ,
  CoreGraphics::HullShaderRead , CoreGraphics::HullShaderWrite , CoreGraphics::DomainShaderRead , CoreGraphics::DomainShaderWrite ,
  CoreGraphics::GeometryShaderRead , CoreGraphics::GeometryShaderWrite , CoreGraphics::PixelShaderRead , CoreGraphics::PixelShaderWrite ,
  CoreGraphics::GraphicsShadersRead , CoreGraphics::GraphicsShadersWrite , CoreGraphics::ComputeShaderRead , CoreGraphics::ComputeShaderWrite ,
  CoreGraphics::AllShadersRead , CoreGraphics::AllShadersWrite , CoreGraphics::ColorRead , CoreGraphics::ColorWrite ,
  CoreGraphics::DepthStencilRead , CoreGraphics::DepthStencilWrite , CoreGraphics::RayTracingShaderRead , CoreGraphics::RayTracingShaderWrite ,
  CoreGraphics::TaskShaderRead , CoreGraphics::TaskShaderWrite , CoreGraphics::MeshShaderRead , CoreGraphics::MeshShaderWrite ,
  CoreGraphics::TransferRead , CoreGraphics::TransferWrite , CoreGraphics::HostRead , CoreGraphics::HostWrite ,
  CoreGraphics::MemoryRead , CoreGraphics::MemoryWrite , CoreGraphics::AccelerationStructureRead , CoreGraphics::AccelerationStructureWrite ,
  CoreGraphics::ImageInitial , CoreGraphics::Present
}
 

Functions

 CoreGraphics::__ImplementEnumBitOperators (CoreGraphics::ShaderVisibility)
 
 CoreGraphics::__ImplementEnumBitOperators (CoreGraphics::ImageBits)
 
 CoreGraphics::__ImplementEnumComparisonOperators (CoreGraphics::ImageBits)
 
ShaderVisibility CoreGraphics::ShaderVisibilityFromString (const Util::String &str)
 
QueueType CoreGraphics::QueueTypeFromString (const Util::String &str)
 
const char * CoreGraphics::QueueNameFromQueueType (const QueueType type)
 
 CoreGraphics::__ImplementEnumBitOperators (PipelineStage)
 
PipelineStage CoreGraphics::PipelineStageFromString (const Util::String &str)
 

Macro Definition Documentation

◆ NEBULA_GRAPHICS_DEBUG

#define NEBULA_GRAPHICS_DEBUG   1

◆ NEBULA_MARKER_BLACK

#define NEBULA_MARKER_BLACK   Math::vec4(0.001f)

◆ NEBULA_MARKER_BLUE

#define NEBULA_MARKER_BLUE   Math::vec4(0.8f, 0.8f, 1.0f, 1.0f)

◆ NEBULA_MARKER_COMPUTE

#define NEBULA_MARKER_COMPUTE   NEBULA_MARKER_BLUE

◆ NEBULA_MARKER_DARK_DARK_GREEN

#define NEBULA_MARKER_DARK_DARK_GREEN   Math::vec4(0.5f, 0.7f, 0.5f, 1.0f)

◆ NEBULA_MARKER_DARK_GREEN

#define NEBULA_MARKER_DARK_GREEN   Math::vec4(0.6f, 0.8f, 0.6f, 1.0f)

◆ NEBULA_MARKER_GRAPHICS

#define NEBULA_MARKER_GRAPHICS   NEBULA_MARKER_GREEN

◆ NEBULA_MARKER_GRAY

#define NEBULA_MARKER_GRAY   Math::vec4(0.9f, 0.9f, 0.9f, 1.0f)

◆ NEBULA_MARKER_GREEN

#define NEBULA_MARKER_GREEN   Math::vec4(0.8f, 1.0f, 0.8f, 1.0f)

◆ NEBULA_MARKER_ORANGE

#define NEBULA_MARKER_ORANGE   Math::vec4(1.0f, 0.9f, 0.8f, 1.0f)

◆ NEBULA_MARKER_PINK

#define NEBULA_MARKER_PINK   Math::vec4(1.0f, 0.8f, 0.9f, 1.0f)

◆ NEBULA_MARKER_PURPLE

#define NEBULA_MARKER_PURPLE   Math::vec4(0.9f, 0.7f, 0.9f, 1.0f)

◆ NEBULA_MARKER_RED

#define NEBULA_MARKER_RED   Math::vec4(1.0f, 0.8f, 0.8f, 1.0f)

◆ NEBULA_MARKER_TRANSFER

#define NEBULA_MARKER_TRANSFER   NEBULA_MARKER_RED

◆ NEBULA_MARKER_TURQOISE

#define NEBULA_MARKER_TURQOISE   Math::vec4(0.8f, 0.9f, 1.0f, 1.0f)

◆ NEBULA_MARKER_WHITE

#define NEBULA_MARKER_WHITE   Math::vec4(1)

◆ NEBULA_WHOLE_BUFFER_SIZE

#define NEBULA_WHOLE_BUFFER_SIZE   (-1)

◆ SHADER_POSTEFFECT_DEFAULT_FEATURE_MASK

#define SHADER_POSTEFFECT_DEFAULT_FEATURE_MASK   "Alt0"