Merge branch 'development' into Atom/dmcdiar/ATOM-5702
This commit is contained in:
@@ -138,6 +138,12 @@ namespace AZ
|
||||
//! Without per draw viewport, the viewport setup in pass is usually used.
|
||||
void UnsetViewport();
|
||||
|
||||
//! Set stencil reference for following draws which are added to this DynamicDrawContext
|
||||
void SetStencilReference(uint8_t stencilRef);
|
||||
|
||||
//! Get the current stencil reference.
|
||||
uint8_t GetStencilReference() const;
|
||||
|
||||
//! Draw Indexed primitives with vertex and index data and per draw srg
|
||||
//! The per draw srg need to be provided if it's required by shader.
|
||||
void DrawIndexed(void* vertexData, uint32_t vertexCount, void* indexData, uint32_t indexCount, RHI::IndexFormat indexFormat, Data::Instance < ShaderResourceGroup> drawSrg = nullptr);
|
||||
@@ -204,10 +210,13 @@ namespace AZ
|
||||
bool m_useScissor = false;
|
||||
RHI::Scissor m_scissor;
|
||||
|
||||
// current scissor
|
||||
// current viewport
|
||||
bool m_useViewport = false;
|
||||
RHI::Viewport m_viewport;
|
||||
|
||||
// Current stencil reference value
|
||||
uint8_t m_stencilRef = 0;
|
||||
|
||||
// Cached RHI pipeline states for different combination of render states
|
||||
AZStd::unordered_map<HashValue64, const RHI::PipelineState*> m_cachedRhiPipelineStates;
|
||||
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace AZ
|
||||
: public Data::InstanceData
|
||||
{
|
||||
friend class ModelSystem;
|
||||
|
||||
public:
|
||||
AZ_INSTANCE_DATA(Model, "{C30F5522-B381-4B38-BBAF-6E0B1885C8B9}");
|
||||
AZ_CLASS_ALLOCATOR(Model, AZ::SystemAllocator, 0);
|
||||
@@ -53,8 +54,6 @@ namespace AZ
|
||||
//! Returns whether a buffer upload is pending.
|
||||
bool IsUploadPending() const;
|
||||
|
||||
const AZ::Aabb& GetAabb() const;
|
||||
|
||||
const Data::Asset<ModelAsset>& GetModelAsset() const;
|
||||
|
||||
//! Checks a ray for intersection against this model. The ray must be in the same coordinate space as the model.
|
||||
@@ -105,8 +104,6 @@ namespace AZ
|
||||
|
||||
// Tracks whether buffers have all been streamed up to the GPU.
|
||||
bool m_isUploadPending = false;
|
||||
|
||||
AZ::Aabb m_aabb;
|
||||
};
|
||||
} // namespace RPI
|
||||
} // namespace AZ
|
||||
|
||||
@@ -265,6 +265,12 @@ namespace AZ
|
||||
// Update all bindings on this pass that are connected to bindings on other passes
|
||||
void UpdateConnectedBindings();
|
||||
|
||||
// Update input and input/output bindings on this pass that are connected to bindings on other passes
|
||||
void UpdateConnectedInputBindings();
|
||||
|
||||
// Update output bindings on this pass that are connected to bindings on other passes
|
||||
void UpdateConnectedOutputBindings();
|
||||
|
||||
|
||||
protected:
|
||||
explicit Pass(const PassDescriptor& descriptor);
|
||||
|
||||
@@ -57,6 +57,20 @@ namespace AZ
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//! Prints a generic message at the appropriate indent level.
|
||||
template<typename ... Args>
|
||||
static void Printf([[maybe_unused]] const char* format, [[maybe_unused]] Args... args)
|
||||
{
|
||||
#ifdef AZ_ENABLE_SHADER_RELOAD_DEBUG_TRACKER
|
||||
if (IsEnabled())
|
||||
{
|
||||
const AZStd::string message = AZStd::string::format(format, args...);
|
||||
|
||||
AZ_TracePrintf("ShaderReloadDebug", "%*s %s \n", s_indent, "", message.c_str());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
//! Use this utility to call BeginSection(), and automatically call EndSection() when the object goes out of scope.
|
||||
class ScopedSection final
|
||||
|
||||
Reference in New Issue
Block a user