15 : _dimensions(
MOV(dimensions))
21 splashImage.assetName(splashImageName);
22 splashImage.assetLocation(Paths::g_imagesLocation);
28 vertModule.
_variant =
"FullScreenQuad";
35 shaderDescriptor.
_modules.push_back(vertModule);
36 shaderDescriptor.
_modules.push_back(fragModule);
76 beginRenderPassCmd._name =
"BLIT_TO_BACKBUFFER";
84 GFX::EnqueueCommand<GFX::SendPushConstantsCommand>( buffer )->_uniformData = &
_uniformData;
93 auto cmd = GFX::EnqueueCommand<GFX::BindShaderResourcesCommand>( buffer );
99 GFX::EnqueueCommand<GFX::DrawCommand>( buffer )->_drawCommands.emplace_back();
101 GFX::EnqueueCommand<GFX::EndRenderPassCommand>( buffer );
Rough around the edges Adapter pattern abstracting the actual rendering API and access to the GPU.
Pipeline * newPipeline(const PipelineDescriptor &descriptor)
Create and return a new graphics pipeline. This is only used for caching and doesn't use the object a...
const RenderStateBlock & get2DStateBlock() const noexcept
void flushCommandBuffer(Handle< GFX::CommandBuffer > &&commandBuffer)
void render(GFXDevice &context)
Handle< Texture > _splashImage
Handle< ShaderProgram > _splashShader
GUISplash(std::string_view splashImageName, vec2< U16 > dimensions)
void set(const T *v) noexcept
set the 4 components of the vector manually using a source pointer to a (large enough) array
CommandBuffer * Get(Handle< CommandBuffer > handle)
FORCE_INLINE T * EnqueueCommand(CommandBuffer &buffer)
Handle< CommandBuffer > AllocateCommandBuffer(const char *name, const size_t reservedCmdCount)
Handle console commands that start with a forward slash.
FORCE_INLINE void DestroyResource(Handle< T > &handle, const bool immediate=false)
constexpr RenderTargetID SCREEN_TARGET_ID
void WaitForReady(Resource *res)
void Set(DescriptorSetBindingData &dataInOut, ShaderBuffer *buffer, const BufferRange range) noexcept
constexpr U64 _ID(const char *const str, const U64 value=val_64_const) noexcept
DescriptorSetBinding & AddBinding(DescriptorSet &setInOut, U8 slot, U16 stageVisibilityMask)
FORCE_INLINE Handle< T > CreateResource(const ResourceDescriptor< T > &descriptor, bool &wasInCache, std::atomic_uint &taskCounter)
FORCE_INLINE T * Get(const Handle< T > handle)
constexpr auto to_base(const Type value) -> Type
DescriptorSetBindingData _data
const Pipeline * _pipeline
PrimitiveTopology _primitiveTopology
Handle< ShaderProgram > _shaderProgramHandle
RenderStateBlock _stateBlock
vector< ShaderModuleDescriptor > _modules
ImageTools::ImportOptions _textureOptions
TextureFilter _minFilter
Texture filtering mode.
TextureWrap _wrapU
Texture wrap mode (Or S-R-T)
U8 _anisotropyLevel
The value must be in the range [0...255] and is automatically clamped by the max HW supported level.
TextureMipSampling _mipSampling