merge development

Signed-off-by: chcurran <82187351+carlitosan@users.noreply.github.com>
This commit is contained in:
chcurran
2021-08-17 15:37:30 -07:00
322 changed files with 5753 additions and 7185 deletions
@@ -25,8 +25,8 @@ namespace AZ
//! DynamicBuffers are allocated by DynamicBufferAllocator. Check the description of DynamicBufferAllocator class for detail.
//! The typical usage:
//! // For every frame
//! auto buffer = DynamicDrawInterface::Get()->GetDynamicBuffer(size);
//! if (buffer) // the buffer could be empty if the allocation failed.e
//! auto buffer = DynamicDrawInterface::Get()->GetDynamicBuffer(size, RHI::Alignment::InputAssembly);
//! if (buffer) // the buffer could be empty if the allocation failed.
//! {
//! // write data to the buffer
//! buffer->Write(data, size);
@@ -54,7 +54,7 @@ namespace AZ
//! Get a DynamicBuffer from DynamicDrawSystem.
//! The returned buffer will be invalidated every time the RPISystem's RenderTick is called
virtual RHI::Ptr<DynamicBuffer> GetDynamicBuffer(uint32_t size, uint32_t alignment = 1) = 0;
virtual RHI::Ptr<DynamicBuffer> GetDynamicBuffer(uint32_t size, uint32_t alignment) = 0;
//! Draw a geometry to a scene with a given material
virtual void DrawGeometry(Data::Instance<Material> material, const GeometryData& geometry, ScenePtr scene) = 0;
@@ -32,7 +32,7 @@ namespace AZ
// DynamicDrawInterface overrides...
RHI::Ptr<DynamicDrawContext> CreateDynamicDrawContext() override;
RHI::Ptr<DynamicBuffer> GetDynamicBuffer(uint32_t size, uint32_t alignment = 1) override;
RHI::Ptr<DynamicBuffer> GetDynamicBuffer(uint32_t size, uint32_t alignment) override;
void DrawGeometry(Data::Instance<Material> material, const GeometryData& geometry, ScenePtr scene) override;
void AddDrawPacket(Scene* scene, AZStd::unique_ptr<const RHI::DrawPacket> drawPacket) override;
AZStd::vector<RHI::DrawListView> GetDrawListsForPass(const RasterPass* pass) override;
@@ -22,19 +22,21 @@ namespace AZ
class Shader;
//! Get the asset ID for a given shader file path
Data::AssetId GetShaderAssetId(const AZStd::string& shaderFilePath);
Data::AssetId GetShaderAssetId(const AZStd::string& shaderFilePath, bool isCritical = false);
//! Finds a shader asset for the given shader asset ID. Optional shaderFilePath param for debugging.
Data::Asset<ShaderAsset> FindShaderAsset(Data::AssetId shaderAssetId, const AZStd::string& shaderFilePath = "");
//! Finds a shader asset for the given shader file path
Data::Asset<ShaderAsset> FindShaderAsset(const AZStd::string& shaderFilePath);
Data::Asset<ShaderAsset> FindCriticalShaderAsset(const AZStd::string& shaderFilePath);
//! Loads a shader for the given shader asset ID. Optional shaderFilePath param for debugging.
Data::Instance<Shader> LoadShader(Data::AssetId shaderAssetId, const AZStd::string& shaderFilePath = "");
//! Loads a shader for the given shader file path
Data::Instance<Shader> LoadShader(const AZStd::string& shaderFilePath);
Data::Instance<Shader> LoadCriticalShader(const AZStd::string& shaderFilePath);
//! Loads a streaming image asset for the given file path
Data::Instance<RPI::StreamingImage> LoadStreamingTexture(AZStd::string_view path);