Merge branch 'main' into hydra_util_package
This commit is contained in:
@@ -157,7 +157,7 @@ endif()
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED AND PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_pytest(
|
||||
NAME AutomatedTesting::BlastTests
|
||||
TEST_SUITE sandbox
|
||||
TEST_SUITE periodic
|
||||
TEST_SERIAL TRUE
|
||||
PATH ${CMAKE_CURRENT_LIST_DIR}/Blast/TestSuite_Active.py
|
||||
TIMEOUT 3600
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Physics
|
||||
class CharacterColliderNodeConfiguration
|
||||
{
|
||||
public:
|
||||
AZ_RTTI(CharacterColliderNodeConfiguration, "{C16F3301-0979-400C-B734-692D83755C39}");
|
||||
AZ_RTTI(Physics::CharacterColliderNodeConfiguration, "{C16F3301-0979-400C-B734-692D83755C39}");
|
||||
AZ_CLASS_ALLOCATOR_DECL
|
||||
|
||||
virtual ~CharacterColliderNodeConfiguration() = default;
|
||||
@@ -42,7 +42,7 @@ namespace Physics
|
||||
class CharacterColliderConfiguration
|
||||
{
|
||||
public:
|
||||
AZ_RTTI(CharacterColliderConfiguration, "{4DFF1434-DF5B-4ED5-BE0F-D3E66F9B331A}");
|
||||
AZ_RTTI(Physics::CharacterColliderConfiguration, "{4DFF1434-DF5B-4ED5-BE0F-D3E66F9B331A}");
|
||||
AZ_CLASS_ALLOCATOR_DECL
|
||||
|
||||
virtual ~CharacterColliderConfiguration() = default;
|
||||
@@ -63,21 +63,23 @@ namespace Physics
|
||||
{
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(CharacterConfiguration, AZ::SystemAllocator, 0);
|
||||
AZ_RTTI(CharacterConfiguration, "{58D5A6CA-113B-4AC3-8D53-239DB0C4E240}", AzPhysics::SimulatedBodyConfiguration);
|
||||
AZ_RTTI(Physics::CharacterConfiguration, "{58D5A6CA-113B-4AC3-8D53-239DB0C4E240}", AzPhysics::SimulatedBodyConfiguration);
|
||||
|
||||
virtual ~CharacterConfiguration() = default;
|
||||
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
AzPhysics::CollisionGroups::Id m_collisionGroupId; ///< Which layers does this character collide with.
|
||||
AzPhysics::CollisionLayer m_collisionLayer; ///< Which collision layer is this character on.
|
||||
MaterialSelection m_materialSelection; ///< Material selected from library for the body associated with the character.
|
||||
AZ::Vector3 m_upDirection = AZ::Vector3::CreateAxisZ(); ///< Up direction for character orientation and step behavior.
|
||||
float m_maximumSlopeAngle = 30.0f; ///< The maximum slope on which the character can move, in degrees.
|
||||
float m_stepHeight = 0.5f; ///< Affects what size steps the character can climb.
|
||||
float m_minimumMovementDistance = 0.001f; ///< To avoid jittering, the controller will not attempt to move distances below this.
|
||||
float m_maximumSpeed = 100.0f; ///< If the accumulated requested velocity for a tick exceeds this magnitude, it will be clamped.
|
||||
AZStd::string m_colliderTag; ///< Used to identify the collider associated with the character controller.
|
||||
AzPhysics::CollisionGroups::Id m_collisionGroupId; //!< Which layers does this character collide with.
|
||||
AzPhysics::CollisionLayer m_collisionLayer; //!< Which collision layer is this character on.
|
||||
MaterialSelection m_materialSelection; //!< Material selected from library for the body associated with the character.
|
||||
AZ::Vector3 m_upDirection = AZ::Vector3::CreateAxisZ(); //!< Up direction for character orientation and step behavior.
|
||||
float m_maximumSlopeAngle = 30.0f; //!< The maximum slope on which the character can move, in degrees.
|
||||
float m_stepHeight = 0.5f; //!< Affects what size steps the character can climb.
|
||||
float m_minimumMovementDistance = 0.001f; //!< To avoid jittering, the controller will not attempt to move distances below this.
|
||||
float m_maximumSpeed = 100.0f; //!< If the accumulated requested velocity for a tick exceeds this magnitude, it will be clamped.
|
||||
AZStd::string m_colliderTag; //!< Used to identify the collider associated with the character controller.
|
||||
AZStd::shared_ptr<Physics::ShapeConfiguration> m_shapeConfig = nullptr; //!< The shape to use when creating the character controller.
|
||||
AZStd::vector<AZStd::shared_ptr<Physics::Shape>> m_colliders; //!< The list of colliders to attach to the character controller.
|
||||
};
|
||||
|
||||
/// Basic implementation of common character-style needs as a WorldBody. Is not a full-functional ship-ready
|
||||
@@ -88,7 +90,7 @@ namespace Physics
|
||||
{
|
||||
public:
|
||||
AZ_CLASS_ALLOCATOR(Character, AZ::SystemAllocator, 0);
|
||||
AZ_RTTI(Character, "{962E37A1-3401-4672-B896-0A6157CFAC97}", AzPhysics::SimulatedBody);
|
||||
AZ_RTTI(Physics::Character, "{962E37A1-3401-4672-B896-0A6157CFAC97}", AzPhysics::SimulatedBody);
|
||||
|
||||
~Character() override = default;
|
||||
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@ namespace AzPhysics
|
||||
struct SimulatedBodyConfiguration
|
||||
{
|
||||
AZ_CLASS_ALLOCATOR_DECL;
|
||||
AZ_RTTI(SimulatedBodyConfiguration, "{52844E3D-79C8-4F34-AF63-5C45ADE77F85}");
|
||||
AZ_RTTI(AzPhysics::SimulatedBodyConfiguration, "{52844E3D-79C8-4F34-AF63-5C45ADE77F85}");
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
|
||||
SimulatedBodyConfiguration() = default;
|
||||
|
||||
@@ -246,26 +246,6 @@ namespace Physics
|
||||
using SystemRequests = System;
|
||||
using SystemRequestBus = AZ::EBus<SystemRequests, SystemRequestsTraits>;
|
||||
|
||||
/// Physics character system global requests.
|
||||
class CharacterSystemRequests
|
||||
: public AZ::EBusTraits
|
||||
{
|
||||
public:
|
||||
// EBusTraits
|
||||
// singleton pattern
|
||||
static const AZ::EBusHandlerPolicy HandlerPolicy = AZ::EBusHandlerPolicy::Single;
|
||||
static const AZ::EBusAddressPolicy AddressPolicy = AZ::EBusAddressPolicy::Single;
|
||||
|
||||
virtual ~CharacterSystemRequests() = default;
|
||||
|
||||
/// Creates the physics representation used to handle basic character interactions (also known as a character
|
||||
/// controller).
|
||||
virtual AZStd::unique_ptr<Character> CreateCharacter(const CharacterConfiguration& characterConfig,
|
||||
const ShapeConfiguration& shapeConfig, AzPhysics::SceneHandle& sceneHandle) = 0;
|
||||
};
|
||||
|
||||
typedef AZ::EBus<CharacterSystemRequests> CharacterSystemRequestBus;
|
||||
|
||||
/// Physics system global debug requests.
|
||||
class SystemDebugRequests
|
||||
: public AZ::EBusTraits
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace AzFramework
|
||||
|
||||
// ViewportControllerInterface ...
|
||||
bool HandleInputChannelEvent(const ViewportControllerInputEvent& event) override;
|
||||
void ResetInputChannels() override;
|
||||
void UpdateViewport(const ViewportControllerUpdateEvent& event) override;
|
||||
void RegisterViewportContext(ViewportId viewport) override;
|
||||
void UnregisterViewportContext(ViewportId viewport) override;
|
||||
@@ -58,6 +59,7 @@ namespace AzFramework
|
||||
ViewportId GetViewportId() const { return m_viewportId; }
|
||||
|
||||
virtual bool HandleInputChannelEvent([[maybe_unused]]const ViewportControllerInputEvent& event) { return false; }
|
||||
virtual void ResetInputChannels() {}
|
||||
virtual void UpdateViewport([[maybe_unused]]const ViewportControllerUpdateEvent& event) {}
|
||||
|
||||
private:
|
||||
|
||||
@@ -30,6 +30,15 @@ namespace AzFramework
|
||||
return instanceIt->second->HandleInputChannelEvent(event);
|
||||
}
|
||||
|
||||
template <class TViewportControllerInstance, ViewportControllerPriority Priority>
|
||||
void MultiViewportController<TViewportControllerInstance, Priority>::ResetInputChannels()
|
||||
{
|
||||
for (auto instanceIt = m_instances.begin(); instanceIt != m_instances.end(); ++instanceIt)
|
||||
{
|
||||
instanceIt->second->ResetInputChannels();
|
||||
}
|
||||
}
|
||||
|
||||
template <class TViewportControllerInstance, ViewportControllerPriority Priority>
|
||||
void MultiViewportController<TViewportControllerInstance, Priority>::UpdateViewport(const ViewportControllerUpdateEvent& event)
|
||||
{
|
||||
|
||||
@@ -49,6 +49,11 @@ namespace AzFramework
|
||||
|
||||
bool ViewportControllerList::HandleInputChannelEvent(const AzFramework::ViewportControllerInputEvent& event)
|
||||
{
|
||||
if (!IsEnabled())
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// If our event priority is "custom", we should dispatch at all priority levels in order
|
||||
using AzFramework::ViewportControllerPriority;
|
||||
if (event.m_priority == AzFramework::ViewportControllerPriority::DispatchToAllPriorities)
|
||||
@@ -76,6 +81,23 @@ namespace AzFramework
|
||||
}
|
||||
}
|
||||
|
||||
void ViewportControllerList::ResetInputChannels()
|
||||
{
|
||||
// We don't need to send this while we're disabled, we're guaranteed to call ResetInputChannels after being re-enabled.
|
||||
if (!IsEnabled())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (const auto& controllerList : m_controllers)
|
||||
{
|
||||
for (const auto& controller : controllerList.second)
|
||||
{
|
||||
controller->ResetInputChannels();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool ViewportControllerList::DispatchInputChannelEvent(const AzFramework::ViewportControllerInputEvent& event)
|
||||
{
|
||||
if (auto priorityListIt = m_controllers.find(event.m_priority); priorityListIt != m_controllers.end())
|
||||
@@ -106,6 +128,11 @@ namespace AzFramework
|
||||
|
||||
void ViewportControllerList::UpdateViewport(const AzFramework::ViewportControllerUpdateEvent& event)
|
||||
{
|
||||
if (!IsEnabled())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// If our event priority is "custom", we should dispatch at all priority levels in reverse order
|
||||
// Reverse order lets high priority controllers get the last say in viewport update operations
|
||||
using AzFramework::ViewportControllerPriority;
|
||||
@@ -174,4 +201,22 @@ namespace AzFramework
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool ViewportControllerList::IsEnabled() const
|
||||
{
|
||||
return m_enabled;
|
||||
}
|
||||
|
||||
void ViewportControllerList::SetEnabled(bool enabled)
|
||||
{
|
||||
if (m_enabled != enabled)
|
||||
{
|
||||
m_enabled = enabled;
|
||||
// If we've been re-enabled, reset our input channels as they may have missed state changes.
|
||||
if (m_enabled)
|
||||
{
|
||||
ResetInputChannels();
|
||||
}
|
||||
}
|
||||
}
|
||||
} //namespace AzFramework
|
||||
|
||||
@@ -37,6 +37,9 @@ namespace AzFramework
|
||||
//! either a controller returns true to consume the event in OnInputChannelEvent or the controller list is exhausted.
|
||||
//! InputChannelEvents are sent to controllers in priority order (from the lowest priority value to the highest).
|
||||
bool HandleInputChannelEvent(const AzFramework::ViewportControllerInputEvent& event) override;
|
||||
//! Dispatches a ResetInputChannels call to all controllers registered to this list.
|
||||
//! Calls to controllers are made in an undefined order.
|
||||
void ResetInputChannels() override;
|
||||
//! Dispatches an update tick to all controllers registered to this list.
|
||||
//! This occurs in *reverse* priority order (i.e. from the highest priority value to the lowest) so that
|
||||
//! controllers with the highest registration priority may override the transforms of the controllers with the
|
||||
@@ -50,6 +53,12 @@ namespace AzFramework
|
||||
//! All ViewportControllerLists have a priority of Custom to ensure
|
||||
//! that they receive events at all priorities from any parent controllers.
|
||||
AzFramework::ViewportControllerPriority GetPriority() const { return ViewportControllerPriority::DispatchToAllPriorities; }
|
||||
//! Returns true if this controller list is enabled, i.e.
|
||||
//! it is accepting and forwarding input and update events to its children.
|
||||
bool IsEnabled() const;
|
||||
//! Set this controller list's enabled state.
|
||||
//! If a controller list is disabled, it will ignore all input and update events rather than dispatching them to its children.
|
||||
void SetEnabled(bool enabled);
|
||||
|
||||
private:
|
||||
void SortControllers();
|
||||
@@ -58,5 +67,6 @@ namespace AzFramework
|
||||
|
||||
AZStd::unordered_map<AzFramework::ViewportControllerPriority, AZStd::vector<ViewportControllerPtr>> m_controllers;
|
||||
AZStd::unordered_set<ViewportId> m_viewports;
|
||||
bool m_enabled = true;
|
||||
};
|
||||
} //namespace AzFramework
|
||||
|
||||
@@ -18,6 +18,8 @@
|
||||
#include <AzCore/std/typetraits/is_enum.h>
|
||||
#include <AzCore/RTTI/TypeInfo.h>
|
||||
#include <AzCore/RTTI/TypeSafeIntegral.h>
|
||||
#include <AzCore/Name/Name.h>
|
||||
#include <AzCore/Name/NameDictionary.h>
|
||||
|
||||
namespace AzNetworking
|
||||
{
|
||||
@@ -173,6 +175,22 @@ namespace AzNetworking
|
||||
return true;
|
||||
}
|
||||
};
|
||||
|
||||
template<>
|
||||
struct SerializeObjectHelper<AZ::Name>
|
||||
{
|
||||
static bool SerializeObject(ISerializer& serializer, AZ::Name& value)
|
||||
{
|
||||
AZ::Name::Hash nameHash = value.GetHash();
|
||||
bool result = serializer.Serialize(nameHash, "NameHash");
|
||||
|
||||
if (result && serializer.GetSerializerMode() == SerializerMode::WriteToObject)
|
||||
{
|
||||
value = AZ::NameDictionary::Instance().FindName(nameHash);
|
||||
}
|
||||
return result;
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
#include <AzNetworking/Serialization/AzContainerSerializers.h>
|
||||
|
||||
+8
-2
@@ -491,6 +491,14 @@ namespace AzToolsFramework
|
||||
|
||||
EditorEntityContextNotificationBus::Broadcast(&EditorEntityContextNotification::OnStartPlayInEditorBegin);
|
||||
|
||||
//cache the current selected entities.
|
||||
ToolsApplicationRequests::Bus::BroadcastResult(m_selectedBeforeStartingGame, &ToolsApplicationRequests::GetSelectedEntities);
|
||||
//deselect entities if selected when entering game mode before deactivating the entities in StartPlayInEditor(...)
|
||||
if (!m_selectedBeforeStartingGame.empty())
|
||||
{
|
||||
ToolsApplicationRequests::Bus::Broadcast(&ToolsApplicationRequests::MarkEntitiesDeselected, m_selectedBeforeStartingGame);
|
||||
}
|
||||
|
||||
if (m_isLegacySliceService)
|
||||
{
|
||||
SliceEditorEntityOwnershipService* editorEntityOwnershipService =
|
||||
@@ -507,8 +515,6 @@ namespace AzToolsFramework
|
||||
|
||||
m_isRunningGame = true;
|
||||
|
||||
ToolsApplicationRequests::Bus::BroadcastResult(m_selectedBeforeStartingGame, &ToolsApplicationRequests::GetSelectedEntities);
|
||||
|
||||
EditorEntityContextNotificationBus::Broadcast(&EditorEntityContextNotification::OnStartPlayInEditor);
|
||||
}
|
||||
|
||||
|
||||
@@ -679,6 +679,11 @@ void EditorViewportWidget::OnEditorNotifyEvent(EEditorNotifyEvent event)
|
||||
}
|
||||
SetCurrentCursor(STD_CURSOR_GAME);
|
||||
}
|
||||
|
||||
if (m_renderViewport)
|
||||
{
|
||||
m_renderViewport->GetControllerList()->SetEnabled(false);
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -697,6 +702,11 @@ void EditorViewportWidget::OnEditorNotifyEvent(EEditorNotifyEvent event)
|
||||
|
||||
RestoreViewportAfterGameMode();
|
||||
}
|
||||
|
||||
if (m_renderViewport)
|
||||
{
|
||||
m_renderViewport->GetControllerList()->SetEnabled(true);
|
||||
}
|
||||
break;
|
||||
|
||||
case eNotify_OnCloseScene:
|
||||
@@ -727,6 +737,8 @@ void EditorViewportWidget::OnEditorNotifyEvent(EEditorNotifyEvent event)
|
||||
// meters above the terrain (default terrain height is 32)
|
||||
viewTM.SetTranslation(Vec3(sx * 0.5f, sy * 0.5f, 34.0f));
|
||||
SetViewTM(viewTM);
|
||||
|
||||
UpdateScene();
|
||||
}
|
||||
break;
|
||||
|
||||
|
||||
@@ -408,6 +408,13 @@ bool LegacyViewportCameraControllerInstance::HandleInputChannelEvent(const AzFra
|
||||
}
|
||||
}
|
||||
|
||||
UpdateCursorCapture(shouldCaptureCursor);
|
||||
|
||||
return shouldConsumeEvent;
|
||||
}
|
||||
|
||||
void LegacyViewportCameraControllerInstance::UpdateCursorCapture(bool shouldCaptureCursor)
|
||||
{
|
||||
if (m_capturingCursor != shouldCaptureCursor)
|
||||
{
|
||||
if (shouldCaptureCursor)
|
||||
@@ -427,8 +434,14 @@ bool LegacyViewportCameraControllerInstance::HandleInputChannelEvent(const AzFra
|
||||
|
||||
m_capturingCursor = shouldCaptureCursor;
|
||||
}
|
||||
}
|
||||
|
||||
return shouldConsumeEvent;
|
||||
void LegacyViewportCameraControllerInstance::ResetInputChannels()
|
||||
{
|
||||
m_modifiers = 0;
|
||||
m_pressedKeys.clear();
|
||||
UpdateCursorCapture(false);
|
||||
m_inRotateMode = m_inMoveMode = m_inOrbitMode = m_inZoomMode = false;
|
||||
}
|
||||
|
||||
void LegacyViewportCameraControllerInstance::UpdateViewport(const AzFramework::ViewportControllerUpdateEvent& event)
|
||||
|
||||
@@ -35,6 +35,7 @@ namespace SandboxEditor
|
||||
explicit LegacyViewportCameraControllerInstance(AzFramework::ViewportId viewport);
|
||||
|
||||
bool HandleInputChannelEvent(const AzFramework::ViewportControllerInputEvent& event) override;
|
||||
void ResetInputChannels() override;
|
||||
void UpdateViewport(const AzFramework::ViewportControllerUpdateEvent& event) override;
|
||||
|
||||
private:
|
||||
@@ -53,6 +54,7 @@ namespace SandboxEditor
|
||||
bool HandleMouseMove(const AzFramework::ScreenPoint& currentMousePos, const AzFramework::ScreenPoint& previousMousePos);
|
||||
bool HandleMouseWheel(float zDelta);
|
||||
bool IsKeyDown(Qt::Key key) const;
|
||||
void UpdateCursorCapture(bool shouldCaptureCursor);
|
||||
|
||||
bool m_inRotateMode = false;
|
||||
bool m_inMoveMode = false;
|
||||
|
||||
@@ -202,6 +202,12 @@ bool ViewportManipulatorControllerInstance::HandleInputChannelEvent(const AzFram
|
||||
return interactionHandled;
|
||||
}
|
||||
|
||||
void ViewportManipulatorControllerInstance::ResetInputChannels()
|
||||
{
|
||||
m_pendingDoubleClicks.clear();
|
||||
m_state = AzToolsFramework::ViewportInteraction::MouseInteraction();
|
||||
}
|
||||
|
||||
void ViewportManipulatorControllerInstance::UpdateViewport(const AzFramework::ViewportControllerUpdateEvent& event)
|
||||
{
|
||||
m_curTime = event.m_time;
|
||||
|
||||
@@ -26,6 +26,7 @@ namespace SandboxEditor
|
||||
explicit ViewportManipulatorControllerInstance(AzFramework::ViewportId viewport);
|
||||
|
||||
bool HandleInputChannelEvent(const AzFramework::ViewportControllerInputEvent& event) override;
|
||||
void ResetInputChannels() override;
|
||||
void UpdateViewport(const AzFramework::ViewportControllerUpdateEvent& event) override;
|
||||
|
||||
private:
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"Type": "JsonSerialization",
|
||||
"Version": 1,
|
||||
"ClassName": "PassAsset",
|
||||
"ClassData": {
|
||||
"PassTemplate": {
|
||||
"Name": "DiffuseProbeGridClassificationPassTemplate",
|
||||
"PassClass": "DiffuseProbeGridClassificationPass"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -26,6 +26,10 @@
|
||||
{
|
||||
"Name": "DiffuseProbeGridRelocationPass",
|
||||
"TemplateName": "DiffuseProbeGridRelocationPassTemplate"
|
||||
},
|
||||
{
|
||||
"Name": "DiffuseProbeGridClassificationPass",
|
||||
"TemplateName": "DiffuseProbeGridClassificationPassTemplate"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -416,6 +416,10 @@
|
||||
"Name": "DiffuseProbeGridRelocationPassTemplate",
|
||||
"Path": "Passes/DiffuseProbeGridRelocation.pass"
|
||||
},
|
||||
{
|
||||
"Name": "DiffuseProbeGridClassificationPassTemplate",
|
||||
"Path": "Passes/DiffuseProbeGridClassification.pass"
|
||||
},
|
||||
{
|
||||
"Name": "DiffuseGlobalIlluminationPassTemplate",
|
||||
"Path": "Passes/DiffuseGlobalIllumination.pass"
|
||||
|
||||
@@ -18,7 +18,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
|
||||
{
|
||||
RaytracingAccelerationStructure m_scene;
|
||||
|
||||
// directional Lights
|
||||
// directional lights
|
||||
struct DirectionalLight
|
||||
{
|
||||
float3 m_direction;
|
||||
@@ -30,7 +30,33 @@ partial ShaderResourceGroup RayTracingSceneSrg
|
||||
StructuredBuffer<DirectionalLight> m_directionalLights;
|
||||
uint m_directionalLightCount;
|
||||
|
||||
// point Lights
|
||||
// simple point lights
|
||||
struct SimplePointLight
|
||||
{
|
||||
float3 m_position;
|
||||
float m_invAttenuationRadiusSquared; // For a radius at which this light no longer has an effect, 1 / radius^2.
|
||||
float3 m_rgbIntensityCandelas;
|
||||
float m_padding; // explicit padding.
|
||||
};
|
||||
|
||||
StructuredBuffer<SimplePointLight> m_simplePointLights;
|
||||
uint m_simplePointLightCount;
|
||||
|
||||
// simple spot lights
|
||||
struct SimpleSpotLight
|
||||
{
|
||||
float3 m_position;
|
||||
float m_invAttenuationRadiusSquared; // For a radius at which this light no longer has an effect, 1 / radius^2.
|
||||
float3 m_direction;
|
||||
float m_cosInnerConeAngle; // cosine of the outer cone angle
|
||||
float3 m_rgbIntensityCandelas;
|
||||
float m_cosOuterConeAngle; // cosine of the inner cone angle
|
||||
};
|
||||
|
||||
StructuredBuffer<SimpleSpotLight> m_simpleSpotLights;
|
||||
uint m_simpleSpotLightCount;
|
||||
|
||||
// point lights (sphere)
|
||||
struct PointLight
|
||||
{
|
||||
float3 m_position;
|
||||
@@ -42,7 +68,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
|
||||
StructuredBuffer<PointLight> m_pointLights;
|
||||
uint m_pointLightCount;
|
||||
|
||||
// disk Lights
|
||||
// disk lights
|
||||
struct DiskLight
|
||||
{
|
||||
float3 m_position;
|
||||
@@ -60,7 +86,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
|
||||
StructuredBuffer<DiskLight> m_diskLights;
|
||||
uint m_diskLightCount;
|
||||
|
||||
// capsule Lights
|
||||
// capsule lights
|
||||
struct CapsuleLight
|
||||
{
|
||||
float3 m_startPoint; // one of the end points of the capsule
|
||||
@@ -74,7 +100,7 @@ partial ShaderResourceGroup RayTracingSceneSrg
|
||||
StructuredBuffer<CapsuleLight> m_capsuleLights;
|
||||
uint m_capsuleLightCount;
|
||||
|
||||
// quad Lights
|
||||
// quad lights
|
||||
struct QuadLight
|
||||
{
|
||||
float3 m_position;
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"Type": "JsonSerialization",
|
||||
"Version": 1,
|
||||
"ClassName": "PrecompiledShaderAssetSourceData",
|
||||
"ClassData":
|
||||
{
|
||||
"ShaderAssetFileName": "diffuseprobegridclassification.azshader",
|
||||
"PlatformIdentifiers":
|
||||
[
|
||||
"pc"
|
||||
],
|
||||
"ShaderResourceGroupAssets":
|
||||
[
|
||||
"diffuseprobegridclassification_passsrg.azsrg"
|
||||
],
|
||||
"RootShaderVariantAssets":
|
||||
[
|
||||
{
|
||||
"APIName": "dx12",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridclassification_dx12_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "vulkan",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridclassification_vulkan_0.azshadervariant"
|
||||
},
|
||||
{
|
||||
"APIName": "null",
|
||||
"RootShaderVariantAssetFileName": "diffuseprobegridclassification_null_0.azshadervariant"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+293
-35
@@ -136,6 +136,44 @@
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -203,6 +241,26 @@
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -221,7 +279,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -318,6 +376,34 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2691,7 +2777,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "10722138557170830784"
|
||||
"value": "13399614758886099705"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2818,6 +2904,44 @@
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2885,6 +3009,26 @@
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2903,7 +3047,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -3000,6 +3144,34 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5373,7 +5545,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "10722138557170830784"
|
||||
"value": "13399614758886099705"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5500,6 +5672,44 @@
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5567,6 +5777,26 @@
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5585,7 +5815,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -5682,6 +5912,34 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5766,7 +6024,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5798,7 +6056,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5830,7 +6088,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5862,7 +6120,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5894,7 +6152,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5926,7 +6184,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5958,7 +6216,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5990,7 +6248,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6022,7 +6280,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6054,7 +6312,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6086,7 +6344,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6118,7 +6376,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6150,7 +6408,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6182,7 +6440,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6214,7 +6472,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6246,7 +6504,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6278,7 +6536,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6310,7 +6568,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6342,7 +6600,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6374,7 +6632,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6406,7 +6664,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6438,7 +6696,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6470,7 +6728,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6502,7 +6760,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6534,7 +6792,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6566,7 +6824,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6598,7 +6856,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6630,7 +6888,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8011,7 +8269,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "2959428625184507101"
|
||||
"value": "8603598590297091788"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8055,7 +8313,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "6463331605863849001"
|
||||
"value": "6181996982157220722"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+293
-35
@@ -136,6 +136,44 @@
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -203,6 +241,26 @@
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -221,7 +279,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -318,6 +376,34 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2691,7 +2777,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "2253369087368484601"
|
||||
"value": "4760130259633911968"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -2818,6 +2904,44 @@
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2885,6 +3009,26 @@
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -2903,7 +3047,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -3000,6 +3144,34 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5373,7 +5545,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "2253369087368484601"
|
||||
"value": "4760130259633911968"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5500,6 +5672,44 @@
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5567,6 +5777,26 @@
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5585,7 +5815,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -5682,6 +5912,34 @@
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -5766,7 +6024,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5798,7 +6056,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5830,7 +6088,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5862,7 +6120,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5894,7 +6152,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5926,7 +6184,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5958,7 +6216,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -5990,7 +6248,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6022,7 +6280,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6054,7 +6312,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6086,7 +6344,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6118,7 +6376,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6150,7 +6408,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6182,7 +6440,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6214,7 +6472,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6246,7 +6504,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6278,7 +6536,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6310,7 +6568,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6342,7 +6600,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6374,7 +6632,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6406,7 +6664,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6438,7 +6696,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6470,7 +6728,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6502,7 +6760,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6534,7 +6792,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6566,7 +6824,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6598,7 +6856,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6630,7 +6888,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8011,7 +8269,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "2959428625184507101"
|
||||
"value": "8603598590297091788"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -8055,7 +8313,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "1715809227613203910"
|
||||
"value": "15482970526060535234"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+8071
File diff suppressed because it is too large
Load Diff
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+305
-47
@@ -251,6 +251,44 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
@@ -433,6 +471,26 @@
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -451,7 +509,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
"value": "5"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -515,7 +573,7 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -599,7 +657,35 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3217,7 +3303,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "3506265182085703910"
|
||||
"value": "2492931172876496388"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3459,6 +3545,44 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
@@ -3641,6 +3765,26 @@
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3659,7 +3803,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
"value": "5"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -3723,7 +3867,7 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3807,7 +3951,35 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6425,7 +6597,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "3506265182085703910"
|
||||
"value": "2492931172876496388"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6575,7 +6747,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
"value": "5"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6667,6 +6839,44 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
@@ -6701,7 +6911,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6739,7 +6949,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6849,6 +7059,26 @@
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6867,7 +7097,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
"value": "5"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -6931,7 +7161,7 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7015,7 +7245,35 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -7104,7 +7362,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7136,7 +7394,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7168,7 +7426,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7200,7 +7458,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7232,7 +7490,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7264,7 +7522,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7296,7 +7554,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7328,7 +7586,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7360,7 +7618,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7392,7 +7650,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7424,7 +7682,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7456,7 +7714,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7488,7 +7746,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7520,7 +7778,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7552,7 +7810,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7584,7 +7842,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7616,7 +7874,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7648,7 +7906,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7680,7 +7938,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7712,7 +7970,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7744,7 +8002,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7776,7 +8034,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7808,7 +8066,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7840,7 +8098,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7872,7 +8130,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7904,7 +8162,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7936,7 +8194,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7968,7 +8226,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -8000,7 +8258,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -8032,7 +8290,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -8064,7 +8322,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "5"
|
||||
"value": "6"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9589,7 +9847,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "16848591129341445217"
|
||||
"value": "1426176521634445605"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9633,7 +9891,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "4017610420074377641"
|
||||
"value": "1425135468820160161"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+306
-48
@@ -99,6 +99,44 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
@@ -261,6 +299,26 @@
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -279,7 +337,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -343,7 +401,7 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -399,7 +457,35 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3177,7 +3263,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "10943999648486519461"
|
||||
"value": "12354971452077948474"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3267,6 +3353,44 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
@@ -3429,6 +3553,26 @@
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -3447,7 +3591,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -3511,7 +3655,7 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3567,7 +3711,35 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6345,7 +6517,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "10943999648486519461"
|
||||
"value": "12354971452077948474"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6435,6 +6607,44 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
"typeId": "{913DBF3C-5556-4524-B928-174A42516D31}",
|
||||
"version": 3,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "m_type",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_access",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_count",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
},
|
||||
{
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "ShaderInputImageDescriptor",
|
||||
@@ -6469,7 +6679,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6507,7 +6717,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6597,6 +6807,26 @@
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "Interval",
|
||||
"typeId": "{B121C9FE-1C23-4721-9C3E-6BE036612743}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_min",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
},
|
||||
{
|
||||
"field": "m_max",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6615,7 +6845,7 @@
|
||||
"field": "m_groupSizeForImages",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"field": "m_groupSizeForBufferUnboundedArrays",
|
||||
@@ -6679,7 +6909,7 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
"value": "2"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6735,7 +6965,35 @@
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "2"
|
||||
"value": "3"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"field": "element",
|
||||
"typeName": "AZ::RHI::ReflectionNamePair<AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>>",
|
||||
"typeId": "{DB3620EE-8854-52A8-B421-BFA17E6A687D}",
|
||||
"version": 2,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "Name",
|
||||
"typeName": "Name",
|
||||
"typeId": "{3D2B920C-9EFD-40D5-AAE0-DF131C3D4931}",
|
||||
"value": "m_probeStates"
|
||||
},
|
||||
{
|
||||
"field": "Index",
|
||||
"typeName": "AZ::RHI::Handle<unsigned int, ShaderInputImageDescriptor>",
|
||||
"typeId": "{5C8C0729-5D41-5299-80F1-395F79B02D70}",
|
||||
"version": 1,
|
||||
"Objects": [
|
||||
{
|
||||
"field": "m_index",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6824,7 +7082,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6856,7 +7114,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6888,7 +7146,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6920,7 +7178,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6952,7 +7210,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -6984,7 +7242,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7016,7 +7274,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7048,7 +7306,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7080,7 +7338,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7112,7 +7370,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7144,7 +7402,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7176,7 +7434,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7208,7 +7466,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7240,7 +7498,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7272,7 +7530,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7304,7 +7562,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7336,7 +7594,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7368,7 +7626,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7400,7 +7658,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7432,7 +7690,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7464,7 +7722,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7496,7 +7754,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7528,7 +7786,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7560,7 +7818,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7592,7 +7850,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7624,7 +7882,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7656,7 +7914,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7688,7 +7946,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7720,7 +7978,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7752,7 +8010,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7784,7 +8042,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7816,7 +8074,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -7848,7 +8106,7 @@
|
||||
"field": "m_registerId",
|
||||
"typeName": "unsigned int",
|
||||
"typeId": "{43DA906B-7DEF-4CA8-9790-854106D3F983}",
|
||||
"value": "3"
|
||||
"value": "4"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9469,7 +9727,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "14153574899631108967"
|
||||
"value": "11445921412800959080"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9513,7 +9771,7 @@
|
||||
"field": "m_hash",
|
||||
"typeName": "AZ::u64",
|
||||
"typeId": "{D6597933-47CD-4FC8-B911-63F3E2B0993A}",
|
||||
"value": "8072403242124824453"
|
||||
"value": "16873325821914315993"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
@@ -96,6 +96,7 @@
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridBlendDistancePass.h>
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridBorderUpdatePass.h>
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridRelocationPass.h>
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridClassificationPass.h>
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridRenderPass.h>
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridFeatureProcessor.h>
|
||||
#include <ReflectionScreenSpace/ReflectionScreenSpaceBlurPass.h>
|
||||
@@ -261,6 +262,7 @@ namespace AZ
|
||||
passSystem->AddPassCreator(Name("DiffuseProbeGridBlendDistancePass"), &Render::DiffuseProbeGridBlendDistancePass::Create);
|
||||
passSystem->AddPassCreator(Name("DiffuseProbeGridBorderUpdatePass"), &Render::DiffuseProbeGridBorderUpdatePass::Create);
|
||||
passSystem->AddPassCreator(Name("DiffuseProbeGridRelocationPass"), &Render::DiffuseProbeGridRelocationPass::Create);
|
||||
passSystem->AddPassCreator(Name("DiffuseProbeGridClassificationPass"), &Render::DiffuseProbeGridClassificationPass::Create);
|
||||
passSystem->AddPassCreator(Name("DiffuseProbeGridRenderPass"), &Render::DiffuseProbeGridRenderPass::Create);
|
||||
|
||||
passSystem->AddPassCreator(Name("LuminanceHistogramGeneratorPass"), &LuminanceHistogramGeneratorPass::Create);
|
||||
|
||||
@@ -41,6 +41,7 @@ namespace AZ
|
||||
m_irradianceImageAttachmentId = AZStd::string::format("ProbeIrradianceImageAttachmentId_%s", uuidString.c_str());
|
||||
m_distanceImageAttachmentId = AZStd::string::format("ProbeDistanceImageAttachmentId_%s", uuidString.c_str());
|
||||
m_relocationImageAttachmentId = AZStd::string::format("ProbeRelocationImageAttachmentId_%s", uuidString.c_str());
|
||||
m_classificationImageAttachmentId = AZStd::string::format("ProbeClassificationImageAttachmentId_%s", uuidString.c_str());
|
||||
|
||||
// setup culling
|
||||
m_cullable.m_cullData.m_scene = m_scene;
|
||||
@@ -252,6 +253,20 @@ namespace AZ
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeRelocationImage image");
|
||||
}
|
||||
|
||||
// probe classification
|
||||
{
|
||||
uint32_t width = probeCountX;
|
||||
uint32_t height = probeCountY;
|
||||
|
||||
m_classificationImage[m_currentImageIndex] = RHI::Factory::Get().CreateImage();
|
||||
|
||||
RHI::ImageInitRequest request;
|
||||
request.m_image = m_classificationImage[m_currentImageIndex].get();
|
||||
request.m_descriptor = RHI::ImageDescriptor::Create2D(RHI::ImageBindFlags::ShaderReadWrite, width, height, DiffuseProbeGridRenderData::ClassificationImageFormat);
|
||||
RHI::ResultCode result = m_renderData->m_imagePool->InitImage(request);
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to initialize m_probeClassificationImage image");
|
||||
}
|
||||
|
||||
m_updateTextures = false;
|
||||
|
||||
// textures have changed so we need to update the render Srg to bind the new ones
|
||||
@@ -401,6 +416,10 @@ namespace AZ
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeOffsets"));
|
||||
m_rayTraceSrg->SetImageView(imageIndex, m_relocationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeRelocationImageViewDescriptor).get());
|
||||
|
||||
// probe classification
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
|
||||
m_rayTraceSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
|
||||
|
||||
// grid settings
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(Name("m_ambientMultiplier"));
|
||||
m_rayTraceSrg->SetConstant(constantIndex, m_ambientMultiplier);
|
||||
@@ -431,6 +450,9 @@ namespace AZ
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeIrradiance"));
|
||||
m_blendIrradianceSrg->SetImageView(imageIndex, m_irradianceImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeIrradianceImageViewDescriptor).get());
|
||||
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
|
||||
m_blendIrradianceSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
|
||||
|
||||
SetGridConstants(m_blendIrradianceSrg);
|
||||
}
|
||||
|
||||
@@ -451,6 +473,9 @@ namespace AZ
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeDistance"));
|
||||
m_blendDistanceSrg->SetImageView(imageIndex, m_distanceImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeDistanceImageViewDescriptor).get());
|
||||
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
|
||||
m_blendDistanceSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
|
||||
|
||||
SetGridConstants(m_blendDistanceSrg);
|
||||
}
|
||||
|
||||
@@ -559,6 +584,27 @@ namespace AZ
|
||||
SetGridConstants(m_relocationSrg);
|
||||
}
|
||||
|
||||
void DiffuseProbeGrid::UpdateClassificationSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset)
|
||||
{
|
||||
if (!m_classificationSrg)
|
||||
{
|
||||
m_classificationSrg = RPI::ShaderResourceGroup::Create(srgAsset);
|
||||
AZ_Error("DiffuseProbeGrid", m_classificationSrg.get(), "Failed to create Classification shader resource group");
|
||||
}
|
||||
|
||||
const RHI::ShaderResourceGroupLayout* srgLayout = m_classificationSrg->GetLayout();
|
||||
RHI::ShaderInputConstantIndex constantIndex;
|
||||
RHI::ShaderInputImageIndex imageIndex;
|
||||
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeRayTrace"));
|
||||
m_classificationSrg->SetImageView(imageIndex, m_rayTraceImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeRayTraceImageViewDescriptor).get());
|
||||
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(AZ::Name("m_probeStates"));
|
||||
m_classificationSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
|
||||
|
||||
SetGridConstants(m_classificationSrg);
|
||||
}
|
||||
|
||||
void DiffuseProbeGrid::UpdateRenderObjectSrg()
|
||||
{
|
||||
if (!m_updateRenderObjectSrg)
|
||||
@@ -601,6 +647,9 @@ namespace AZ
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(Name("m_probeOffsets"));
|
||||
m_renderObjectSrg->SetImageView(imageIndex, m_relocationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeRelocationImageViewDescriptor).get());
|
||||
|
||||
imageIndex = srgLayout->FindShaderInputImageIndex(Name("m_probeStates"));
|
||||
m_renderObjectSrg->SetImageView(imageIndex, m_classificationImage[m_currentImageIndex]->GetImageView(m_renderData->m_probeClassificationImageViewDescriptor).get());
|
||||
|
||||
SetGridConstants(m_renderObjectSrg);
|
||||
|
||||
m_updateRenderObjectSrg = false;
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace AZ
|
||||
static const RHI::Format IrradianceImageFormat = RHI::Format::R16G16B16A16_UNORM;
|
||||
static const RHI::Format DistanceImageFormat = RHI::Format::R32G32_FLOAT;
|
||||
static const RHI::Format RelocationImageFormat = RHI::Format::R16G16B16A16_FLOAT;
|
||||
static const RHI::Format ClassificationImageFormat = RHI::Format::R8_UINT;
|
||||
|
||||
// image pool
|
||||
RHI::Ptr<RHI::ImagePool> m_imagePool;
|
||||
@@ -43,6 +44,7 @@ namespace AZ
|
||||
RHI::ImageViewDescriptor m_probeIrradianceImageViewDescriptor;
|
||||
RHI::ImageViewDescriptor m_probeDistanceImageViewDescriptor;
|
||||
RHI::ImageViewDescriptor m_probeRelocationImageViewDescriptor;
|
||||
RHI::ImageViewDescriptor m_probeClassificationImageViewDescriptor;
|
||||
|
||||
// render pipeline state
|
||||
RPI::Ptr<RPI::PipelineStateForDraw> m_pipelineState;
|
||||
@@ -118,6 +120,7 @@ namespace AZ
|
||||
const Data::Instance<RPI::ShaderResourceGroup>& GetBorderUpdateRowDistanceSrg() const { return m_borderUpdateRowDistanceSrg; }
|
||||
const Data::Instance<RPI::ShaderResourceGroup>& GetBorderUpdateColumnDistanceSrg() const { return m_borderUpdateColumnDistanceSrg; }
|
||||
const Data::Instance<RPI::ShaderResourceGroup>& GetRelocationSrg() const { return m_relocationSrg; }
|
||||
const Data::Instance<RPI::ShaderResourceGroup>& GetClassificationSrg() const { return m_classificationSrg; }
|
||||
const Data::Instance<RPI::ShaderResourceGroup>& GetRenderObjectSrg() const { return m_renderObjectSrg; }
|
||||
|
||||
// Srg updates
|
||||
@@ -126,6 +129,7 @@ namespace AZ
|
||||
void UpdateBlendDistanceSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset);
|
||||
void UpdateBorderUpdateSrgs(const Data::Asset<RPI::ShaderResourceGroupAsset>& rowSrgAsset, const Data::Asset<RPI::ShaderResourceGroupAsset>& columnSrgAsset);
|
||||
void UpdateRelocationSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset);
|
||||
void UpdateClassificationSrg(const Data::Asset<RPI::ShaderResourceGroupAsset>& srgAsset);
|
||||
void UpdateRenderObjectSrg();
|
||||
|
||||
// textures
|
||||
@@ -133,12 +137,14 @@ namespace AZ
|
||||
const RHI::Ptr<RHI::Image>& GetIrradianceImage() { return m_irradianceImage[m_currentImageIndex]; }
|
||||
const RHI::Ptr<RHI::Image>& GetDistanceImage() { return m_distanceImage[m_currentImageIndex]; }
|
||||
const RHI::Ptr<RHI::Image>& GetRelocationImage() { return m_relocationImage[m_currentImageIndex]; }
|
||||
const RHI::Ptr<RHI::Image>& GetClassificationImage() { return m_classificationImage[m_currentImageIndex]; }
|
||||
|
||||
// attachment Ids
|
||||
const RHI::AttachmentId GetRayTraceImageAttachmentId() const { return m_rayTraceImageAttachmentId; }
|
||||
const RHI::AttachmentId GetIrradianceImageAttachmentId() const { return m_irradianceImageAttachmentId; }
|
||||
const RHI::AttachmentId GetDistanceImageAttachmentId() const { return m_distanceImageAttachmentId; }
|
||||
const RHI::AttachmentId GetRelocationImageAttachmentId() const { return m_relocationImageAttachmentId; }
|
||||
const RHI::AttachmentId GetClassificationImageAttachmentId() const { return m_classificationImageAttachmentId; }
|
||||
|
||||
const DiffuseProbeGridRenderData* GetRenderData() const { return m_renderData; }
|
||||
|
||||
@@ -222,6 +228,7 @@ namespace AZ
|
||||
RHI::Ptr<RHI::Image> m_irradianceImage[ImageFrameCount];
|
||||
RHI::Ptr<RHI::Image> m_distanceImage[ImageFrameCount];
|
||||
RHI::Ptr<RHI::Image> m_relocationImage[ImageFrameCount];
|
||||
RHI::Ptr<RHI::Image> m_classificationImage[ImageFrameCount];
|
||||
uint32_t m_currentImageIndex = 0;
|
||||
bool m_updateTextures = false;
|
||||
bool m_irradianceClearRequired = true;
|
||||
@@ -235,6 +242,7 @@ namespace AZ
|
||||
Data::Instance<RPI::ShaderResourceGroup> m_borderUpdateRowDistanceSrg;
|
||||
Data::Instance<RPI::ShaderResourceGroup> m_borderUpdateColumnDistanceSrg;
|
||||
Data::Instance<RPI::ShaderResourceGroup> m_relocationSrg;
|
||||
Data::Instance<RPI::ShaderResourceGroup> m_classificationSrg;
|
||||
Data::Instance<RPI::ShaderResourceGroup> m_renderObjectSrg;
|
||||
bool m_updateRenderObjectSrg = true;
|
||||
|
||||
@@ -243,6 +251,7 @@ namespace AZ
|
||||
RHI::AttachmentId m_irradianceImageAttachmentId;
|
||||
RHI::AttachmentId m_distanceImageAttachmentId;
|
||||
RHI::AttachmentId m_relocationImageAttachmentId;
|
||||
RHI::AttachmentId m_classificationImageAttachmentId;
|
||||
};
|
||||
} // namespace Render
|
||||
} // namespace AZ
|
||||
|
||||
+10
@@ -132,6 +132,16 @@ namespace AZ
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
|
||||
// probe classification image
|
||||
{
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
|
||||
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
|
||||
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+10
@@ -132,6 +132,16 @@ namespace AZ
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
|
||||
// probe classification image
|
||||
{
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
|
||||
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
|
||||
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+182
@@ -0,0 +1,182 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridClassificationPass.h>
|
||||
#include <Atom/RHI/Factory.h>
|
||||
#include <Atom/RHI/PipelineState.h>
|
||||
#include <Atom/RHI/FrameGraphInterface.h>
|
||||
#include <Atom/RHI/FrameGraphAttachmentInterface.h>
|
||||
#include <Atom/RHI/Device.h>
|
||||
#include <Atom/RPI.Public/Pass/PassUtils.h>
|
||||
#include <Atom/RPI.Public/RenderPipeline.h>
|
||||
#include <Atom/RPI.Public/RPIUtils.h>
|
||||
#include <Atom/RPI.Reflect/Pass/PassTemplate.h>
|
||||
#include <Atom/RPI.Public/View.h>
|
||||
#include <Atom/RPI.Public/Scene.h>
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGridFeatureProcessor.h>
|
||||
#include <RayTracing/RayTracingFeatureProcessor.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace Render
|
||||
{
|
||||
RPI::Ptr<DiffuseProbeGridClassificationPass> DiffuseProbeGridClassificationPass::Create(const RPI::PassDescriptor& descriptor)
|
||||
{
|
||||
RPI::Ptr<DiffuseProbeGridClassificationPass> pass = aznew DiffuseProbeGridClassificationPass(descriptor);
|
||||
return AZStd::move(pass);
|
||||
}
|
||||
|
||||
DiffuseProbeGridClassificationPass::DiffuseProbeGridClassificationPass(const RPI::PassDescriptor& descriptor)
|
||||
: RPI::RenderPass(descriptor)
|
||||
{
|
||||
LoadShader();
|
||||
}
|
||||
|
||||
void DiffuseProbeGridClassificationPass::LoadShader()
|
||||
{
|
||||
// load shader
|
||||
// Note: the shader may not be available on all platforms
|
||||
AZStd::string shaderFilePath = "Shaders/DiffuseGlobalIllumination/DiffuseProbeGridClassification.azshader";
|
||||
m_shader = RPI::LoadShader(shaderFilePath);
|
||||
if (m_shader == nullptr)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
// load pipeline state
|
||||
RHI::PipelineStateDescriptorForDispatch pipelineStateDescriptor;
|
||||
const auto& shaderVariant = m_shader->GetVariant(RPI::ShaderAsset::RootShaderVariantStableId);
|
||||
shaderVariant.ConfigurePipelineState(pipelineStateDescriptor);
|
||||
m_pipelineState = m_shader->AcquirePipelineState(pipelineStateDescriptor);
|
||||
|
||||
// load Pass Srg asset
|
||||
m_srgAsset = m_shader->FindShaderResourceGroupAsset(RPI::SrgBindingSlot::Pass);
|
||||
|
||||
// retrieve the number of threads per thread group from the shader
|
||||
const auto numThreads = m_shader->GetAsset()->GetAttribute(RHI::ShaderStage::Compute, Name{ "numthreads" });
|
||||
if (numThreads)
|
||||
{
|
||||
const RHI::ShaderStageAttributeArguments& args = *numThreads;
|
||||
bool validArgs = args.size() == 3;
|
||||
if (validArgs)
|
||||
{
|
||||
validArgs &= args[0].type() == azrtti_typeid<int>();
|
||||
validArgs &= args[1].type() == azrtti_typeid<int>();
|
||||
validArgs &= args[2].type() == azrtti_typeid<int>();
|
||||
}
|
||||
|
||||
if (!validArgs)
|
||||
{
|
||||
AZ_Error("PassSystem", false, "[DiffuseProbeClassificationPass '%s']: Shader '%s' contains invalid numthreads arguments.", GetPathName().GetCStr(), shaderFilePath.c_str());
|
||||
return;
|
||||
}
|
||||
|
||||
m_dispatchArgs.m_threadsPerGroupX = AZStd::any_cast<int>(args[0]);
|
||||
m_dispatchArgs.m_threadsPerGroupY = AZStd::any_cast<int>(args[1]);
|
||||
m_dispatchArgs.m_threadsPerGroupZ = AZStd::any_cast<int>(args[2]);
|
||||
}
|
||||
}
|
||||
|
||||
void DiffuseProbeGridClassificationPass::FrameBeginInternal(FramePrepareParams params)
|
||||
{
|
||||
RPI::Scene* scene = m_pipeline->GetScene();
|
||||
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
|
||||
|
||||
if (!diffuseProbeGridFeatureProcessor || diffuseProbeGridFeatureProcessor->GetProbeGrids().empty())
|
||||
{
|
||||
// no diffuse probe grids
|
||||
return;
|
||||
}
|
||||
|
||||
RayTracingFeatureProcessor* rayTracingFeatureProcessor = scene->GetFeatureProcessor<RayTracingFeatureProcessor>();
|
||||
AZ_Assert(rayTracingFeatureProcessor, "DiffuseProbeGridClassificationPass requires the RayTracingFeatureProcessor");
|
||||
|
||||
if (!rayTracingFeatureProcessor->GetSubMeshCount())
|
||||
{
|
||||
// empty scene
|
||||
return;
|
||||
}
|
||||
|
||||
RenderPass::FrameBeginInternal(params);
|
||||
}
|
||||
|
||||
void DiffuseProbeGridClassificationPass::SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph)
|
||||
{
|
||||
RenderPass::SetupFrameGraphDependencies(frameGraph);
|
||||
|
||||
RPI::Scene* scene = m_pipeline->GetScene();
|
||||
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
|
||||
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
|
||||
{
|
||||
// probe raytrace image
|
||||
{
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
desc.m_attachmentId = diffuseProbeGrid->GetRayTraceImageAttachmentId();
|
||||
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeRayTraceImageViewDescriptor;
|
||||
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
|
||||
// probe classification image
|
||||
{
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
|
||||
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
|
||||
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void DiffuseProbeGridClassificationPass::CompileResources([[maybe_unused]] const RHI::FrameGraphCompileContext& context)
|
||||
{
|
||||
RPI::Scene* scene = m_pipeline->GetScene();
|
||||
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
|
||||
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
|
||||
{
|
||||
// the diffuse probe grid Srg must be updated in the Compile phase in order to successfully bind the ReadWrite shader inputs
|
||||
// (see ValidateSetImageView() in ShaderResourceGroupData.cpp)
|
||||
diffuseProbeGrid->UpdateClassificationSrg(m_srgAsset);
|
||||
diffuseProbeGrid->GetClassificationSrg()->Compile();
|
||||
}
|
||||
}
|
||||
|
||||
void DiffuseProbeGridClassificationPass::BuildCommandListInternal(const RHI::FrameGraphExecuteContext& context)
|
||||
{
|
||||
RHI::CommandList* commandList = context.GetCommandList();
|
||||
RPI::Scene* scene = m_pipeline->GetScene();
|
||||
DiffuseProbeGridFeatureProcessor* diffuseProbeGridFeatureProcessor = scene->GetFeatureProcessor<DiffuseProbeGridFeatureProcessor>();
|
||||
|
||||
// submit the DispatchItems for each DiffuseProbeGrid
|
||||
for (auto& diffuseProbeGrid : diffuseProbeGridFeatureProcessor->GetProbeGrids())
|
||||
{
|
||||
const RHI::ShaderResourceGroup* shaderResourceGroup = diffuseProbeGrid->GetClassificationSrg()->GetRHIShaderResourceGroup();
|
||||
commandList->SetShaderResourceGroupForDispatch(*shaderResourceGroup);
|
||||
|
||||
uint32_t probeCountX;
|
||||
uint32_t probeCountY;
|
||||
diffuseProbeGrid->GetTexture2DProbeCount(probeCountX, probeCountY);
|
||||
|
||||
RHI::DispatchItem dispatchItem;
|
||||
dispatchItem.m_arguments = m_dispatchArgs;
|
||||
dispatchItem.m_pipelineState = m_pipelineState;
|
||||
dispatchItem.m_arguments.m_direct.m_totalNumberOfThreadsX = probeCountX;
|
||||
dispatchItem.m_arguments.m_direct.m_totalNumberOfThreadsY = probeCountY;
|
||||
dispatchItem.m_arguments.m_direct.m_totalNumberOfThreadsZ = 1;
|
||||
|
||||
commandList->Submit(dispatchItem);
|
||||
}
|
||||
}
|
||||
} // namespace Render
|
||||
} // namespace AZ
|
||||
+63
@@ -0,0 +1,63 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/Memory/SystemAllocator.h>
|
||||
|
||||
#include <Atom/RHI/CommandList.h>
|
||||
#include <Atom/RHI/DrawItem.h>
|
||||
#include <Atom/RHI/ScopeProducer.h>
|
||||
#include <Atom/RHI.Reflect/ShaderResourceGroupLayoutDescriptor.h>
|
||||
#include <Atom/RPI.Public/Pass/ComputePass.h>
|
||||
#include <Atom/RPI.Public/Shader/Shader.h>
|
||||
#include <Atom/RPI.Public/Shader/ShaderResourceGroup.h>
|
||||
#include <Atom/RPI.Reflect/Pass/PassName.h>
|
||||
#include <Atom/RPI.Public/Image/AttachmentImage.h>
|
||||
#include <DiffuseProbeGrid/DiffuseProbeGrid.h>
|
||||
|
||||
namespace AZ
|
||||
{
|
||||
namespace Render
|
||||
{
|
||||
//! Compute shader that classifies probes as active or inactive in the diffuse probe grid.
|
||||
class DiffuseProbeGridClassificationPass final
|
||||
: public RPI::RenderPass
|
||||
{
|
||||
public:
|
||||
AZ_RPI_PASS(DiffuseProbeGridClassificationPass);
|
||||
|
||||
AZ_RTTI(AZ::Render::DiffuseProbeGridClassificationPass, "{98A6477A-F31C-4390-9BEB-9DB8E30BB281}", RPI::RenderPass);
|
||||
AZ_CLASS_ALLOCATOR(DiffuseProbeGridClassificationPass, SystemAllocator, 0);
|
||||
virtual ~DiffuseProbeGridClassificationPass() = default;
|
||||
|
||||
static RPI::Ptr<DiffuseProbeGridClassificationPass> Create(const RPI::PassDescriptor& descriptor);
|
||||
|
||||
private:
|
||||
DiffuseProbeGridClassificationPass(const RPI::PassDescriptor& descriptor);
|
||||
|
||||
void LoadShader();
|
||||
|
||||
// Pass overrides
|
||||
void FrameBeginInternal(FramePrepareParams params) override;
|
||||
|
||||
void SetupFrameGraphDependencies(RHI::FrameGraphInterface frameGraph) override;
|
||||
void CompileResources(const RHI::FrameGraphCompileContext& context) override;
|
||||
void BuildCommandListInternal(const RHI::FrameGraphExecuteContext& context) override;
|
||||
|
||||
// shader
|
||||
Data::Instance<RPI::Shader> m_shader;
|
||||
const RHI::PipelineState* m_pipelineState = nullptr;
|
||||
Data::Asset<RPI::ShaderResourceGroupAsset> m_srgAsset;
|
||||
RHI::DispatchDirect m_dispatchArgs;
|
||||
};
|
||||
} // namespace Render
|
||||
} // namespace AZ
|
||||
+1
@@ -73,6 +73,7 @@ namespace AZ
|
||||
m_probeGridRenderData.m_probeIrradianceImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::IrradianceImageFormat, 0, 0);
|
||||
m_probeGridRenderData.m_probeDistanceImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::DistanceImageFormat, 0, 0);
|
||||
m_probeGridRenderData.m_probeRelocationImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::RelocationImageFormat, 0, 0);
|
||||
m_probeGridRenderData.m_probeClassificationImageViewDescriptor = RHI::ImageViewDescriptor::Create(DiffuseProbeGridRenderData::ClassificationImageFormat, 0, 0);
|
||||
|
||||
// load shader
|
||||
// Note: the shader may not be available on all platforms
|
||||
|
||||
+13
@@ -291,6 +291,19 @@ namespace AZ
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
|
||||
// probe classification
|
||||
{
|
||||
RHI::ResultCode result = frameGraph.GetAttachmentDatabase().ImportImage(diffuseProbeGrid->GetClassificationImageAttachmentId(), diffuseProbeGrid->GetClassificationImage());
|
||||
AZ_Assert(result == RHI::ResultCode::Success, "Failed to import probeClassificationImage");
|
||||
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
|
||||
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
|
||||
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -117,6 +117,16 @@ namespace AZ
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
|
||||
// probe classification image
|
||||
{
|
||||
RHI::ImageScopeAttachmentDescriptor desc;
|
||||
desc.m_attachmentId = diffuseProbeGrid->GetClassificationImageAttachmentId();
|
||||
desc.m_imageViewDescriptor = diffuseProbeGrid->GetRenderData()->m_probeClassificationImageViewDescriptor;
|
||||
desc.m_loadStoreAction.m_loadAction = AZ::RHI::AttachmentLoadAction::Load;
|
||||
|
||||
frameGraph.UseShaderAttachment(desc, RHI::ScopeAttachmentAccess::ReadWrite);
|
||||
}
|
||||
}
|
||||
|
||||
Base::SetupFrameGraphDependencies(frameGraph);
|
||||
|
||||
@@ -21,6 +21,8 @@
|
||||
#include <Atom/RPI.Reflect/Asset/AssetUtils.h>
|
||||
#include <Atom/Feature/ImageBasedLights/ImageBasedLightFeatureProcessor.h>
|
||||
#include <CoreLights/DirectionalLightFeatureProcessor.h>
|
||||
#include <CoreLights/SimplePointLightFeatureProcessor.h>
|
||||
#include <CoreLights/SimpleSpotLightFeatureProcessor.h>
|
||||
#include <CoreLights/PointLightFeatureProcessor.h>
|
||||
#include <CoreLights/DiskLightFeatureProcessor.h>
|
||||
#include <CoreLights/CapsuleLightFeatureProcessor.h>
|
||||
@@ -195,7 +197,23 @@ namespace AZ
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_directionalLightCount"));
|
||||
m_rayTracingSceneSrg->SetConstant(constantIndex, directionalLightFP->GetLightCount());
|
||||
|
||||
// point lights
|
||||
// simple point lights
|
||||
const auto simplePointLightFP = GetParentScene()->GetFeatureProcessor<SimplePointLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_simplePointLights"));
|
||||
m_rayTracingSceneSrg->SetBufferView(bufferIndex, simplePointLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_simplePointLightCount"));
|
||||
m_rayTracingSceneSrg->SetConstant(constantIndex, simplePointLightFP->GetLightCount());
|
||||
|
||||
// simple spot lights
|
||||
const auto simpleSpotLightFP = GetParentScene()->GetFeatureProcessor<SimpleSpotLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_simpleSpotLights"));
|
||||
m_rayTracingSceneSrg->SetBufferView(bufferIndex, simpleSpotLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
constantIndex = srgLayout->FindShaderInputConstantIndex(AZ::Name("m_simpleSpotLightCount"));
|
||||
m_rayTracingSceneSrg->SetConstant(constantIndex, simpleSpotLightFP->GetLightCount());
|
||||
|
||||
// point lights (sphere)
|
||||
const auto pointLightFP = GetParentScene()->GetFeatureProcessor<PointLightFeatureProcessor>();
|
||||
bufferIndex = srgLayout->FindShaderInputBufferIndex(AZ::Name("m_pointLights"));
|
||||
m_rayTracingSceneSrg->SetBufferView(bufferIndex, pointLightFP->GetLightBuffer()->GetBufferView());
|
||||
|
||||
@@ -131,6 +131,8 @@ set(FILES
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGridBorderUpdatePass.h
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGridRelocationPass.cpp
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGridRelocationPass.h
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGridClassificationPass.cpp
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGridClassificationPass.h
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGridRenderPass.cpp
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGridRenderPass.h
|
||||
Source/DiffuseProbeGrid/DiffuseProbeGrid.cpp
|
||||
|
||||
@@ -77,6 +77,8 @@ namespace AZ
|
||||
void OnRenderPipelineAdded(RenderPipelinePtr pipeline) override;
|
||||
//! Ensures our default view remains set when our scene's render pipelines are modified.
|
||||
void OnRenderPipelineRemoved(RenderPipeline* pipeline) override;
|
||||
//! OnBeginPrepareRender is forwarded to our RenderTick notification to allow subscribers to do rendering.
|
||||
void OnBeginPrepareRender() override;
|
||||
|
||||
//WindowNotificationBus interface
|
||||
//! Used to fire a notification when our window resizes
|
||||
|
||||
@@ -205,7 +205,8 @@ namespace AZ
|
||||
void Buffer::InitBufferView()
|
||||
{
|
||||
// Skip buffer view creation for input assembly buffers
|
||||
if(RHI::CheckBitsAny(m_rhiBuffer->GetDescriptor().m_bindFlags, RHI::BufferBindFlags::InputAssembly | RHI::BufferBindFlags::DynamicInputAssembly))
|
||||
if (m_rhiBuffer->GetDescriptor().m_bindFlags == RHI::BufferBindFlags::InputAssembly ||
|
||||
m_rhiBuffer->GetDescriptor().m_bindFlags == RHI::BufferBindFlags::DynamicInputAssembly)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -104,12 +104,16 @@ namespace AZ
|
||||
// add the current pipeline to next render tick if it's not already added.
|
||||
if (m_currentPipeline && m_currentPipeline->GetRenderMode() != RenderPipeline::RenderMode::RenderOnce)
|
||||
{
|
||||
ViewportContextNotificationBus::Event(GetName(), &ViewportContextNotificationBus::Events::OnRenderTick);
|
||||
ViewportContextIdNotificationBus::Event(GetId(), &ViewportContextIdNotificationBus::Events::OnRenderTick);
|
||||
m_currentPipeline->AddToRenderTickOnce();
|
||||
}
|
||||
}
|
||||
|
||||
void ViewportContext::OnBeginPrepareRender()
|
||||
{
|
||||
ViewportContextNotificationBus::Event(GetName(), &ViewportContextNotificationBus::Events::OnRenderTick);
|
||||
ViewportContextIdNotificationBus::Event(GetId(), &ViewportContextIdNotificationBus::Events::OnRenderTick);
|
||||
}
|
||||
|
||||
AZ::Name ViewportContext::GetName() const
|
||||
{
|
||||
return m_name;
|
||||
|
||||
@@ -57,9 +57,14 @@ namespace AZ
|
||||
return;
|
||||
}
|
||||
viewportData.context = viewportContext;
|
||||
auto onSizeChanged = [contextName, viewportId](AzFramework::WindowSize size)
|
||||
auto onSizeChanged = [this, viewportId](AzFramework::WindowSize size)
|
||||
{
|
||||
ViewportContextNotificationBus::Event(contextName, &ViewportContextNotificationBus::Events::OnViewportSizeChanged, size);
|
||||
// Ensure we emit OnViewportSizeChanged with the correct name.
|
||||
auto viewportContext = this->GetViewportContextById(viewportId);
|
||||
if (viewportContext)
|
||||
{
|
||||
ViewportContextNotificationBus::Event(viewportContext->GetName(), &ViewportContextNotificationBus::Events::OnViewportSizeChanged, size);
|
||||
}
|
||||
ViewportContextIdNotificationBus::Event(viewportId, &ViewportContextIdNotificationBus::Events::OnViewportSizeChanged, size);
|
||||
};
|
||||
viewportContext->m_name = contextName;
|
||||
@@ -174,6 +179,8 @@ namespace AZ
|
||||
GetOrCreateViewStackForContext(newContextName);
|
||||
viewportContext->m_name = newContextName;
|
||||
UpdateViewForContext(newContextName);
|
||||
// Ensure anyone listening on per-name viewport size updates gets notified.
|
||||
ViewportContextNotificationBus::Event(newContextName, &ViewportContextNotificationBus::Events::OnViewportSizeChanged, viewportContext->GetViewportSize());
|
||||
}
|
||||
|
||||
void ViewportContextManager::EnumerateViewportContexts(AZStd::function<void(ViewportContextPtr)> visitorFunction)
|
||||
|
||||
@@ -58,6 +58,15 @@ namespace AZ
|
||||
auto atomViewportRequests = AZ::Interface<AZ::RPI::ViewportContextRequestsInterface>::Get();
|
||||
const AZ::Name contextName = atomViewportRequests->GetDefaultViewportContextName();
|
||||
AZ::RPI::ViewportContextNotificationBus::Handler::BusConnect(contextName);
|
||||
|
||||
#if defined(IMGUI_ENABLED)
|
||||
ImGui::ImGuiManagerListenerBus::Broadcast(&ImGui::IImGuiManagerListener::SetResolutionMode, ImGui::ImGuiResolutionMode::LockToResolution);
|
||||
auto defaultViewportContext = atomViewportRequests->GetDefaultViewportContext();
|
||||
if (defaultViewportContext)
|
||||
{
|
||||
OnViewportSizeChanged(defaultViewportContext->GetViewportSize());
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
void ImguiAtomSystemComponent::Deactivate()
|
||||
@@ -75,6 +84,13 @@ namespace AZ
|
||||
{
|
||||
#if defined(IMGUI_ENABLED)
|
||||
ImGui::ImGuiManagerListenerBus::Broadcast(&ImGui::IImGuiManagerListener::Render);
|
||||
#endif
|
||||
}
|
||||
|
||||
void ImguiAtomSystemComponent::OnViewportSizeChanged(AzFramework::WindowSize size)
|
||||
{
|
||||
#if defined(IMGUI_ENABLED)
|
||||
ImGui::ImGuiManagerListenerBus::Broadcast(&ImGui::IImGuiManagerListener::SetImGuiRenderResolution, ImVec2{aznumeric_cast<float>(size.m_width), aznumeric_cast<float>(size.m_height)});
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
@@ -54,6 +54,7 @@ namespace AZ
|
||||
|
||||
// ViewportContextNotificationBus overrides...
|
||||
void OnRenderTick() override;
|
||||
void OnViewportSizeChanged(AzFramework::WindowSize size) override;
|
||||
|
||||
DebugConsole m_debugConsole;
|
||||
};
|
||||
|
||||
@@ -378,18 +378,36 @@ namespace EMotionFX
|
||||
}
|
||||
}
|
||||
|
||||
NodeIndexContainer AnimGraphComponent::s_emptyNodeIndexContainer = {};
|
||||
const NodeIndexContainer& AnimGraphComponent::GetActiveStates() const
|
||||
{
|
||||
const AZStd::shared_ptr<AnimGraphSnapshot> snapshot = m_animGraphInstance->GetSnapshot();
|
||||
AZ_Error("EMotionFX", snapshot, "Call GetActiveStates function but no snapshot is created for this instance.");
|
||||
return snapshot->GetActiveNodes();
|
||||
if (m_animGraphInstance)
|
||||
{
|
||||
const AZStd::shared_ptr<AnimGraphSnapshot> snapshot = m_animGraphInstance->GetSnapshot();
|
||||
if (snapshot)
|
||||
{
|
||||
AZ_Warning("EMotionFX", false, "Call GetActiveStates function but no snapshot is created for this instance.");
|
||||
return snapshot->GetActiveNodes();
|
||||
}
|
||||
}
|
||||
|
||||
return s_emptyNodeIndexContainer;
|
||||
}
|
||||
|
||||
MotionNodePlaytimeContainer AnimGraphComponent::s_emptyMotionNodePlaytimeContainer = {};
|
||||
const MotionNodePlaytimeContainer& AnimGraphComponent::GetMotionPlaytimes() const
|
||||
{
|
||||
const AZStd::shared_ptr<AnimGraphSnapshot> snapshot = m_animGraphInstance->GetSnapshot();
|
||||
AZ_Error("EMotionFX", snapshot, "Call GetActiveStates function but no snapshot is created for this instance.");
|
||||
return snapshot->GetMotionNodePlaytimes();
|
||||
if (m_animGraphInstance)
|
||||
{
|
||||
const AZStd::shared_ptr<AnimGraphSnapshot> snapshot = m_animGraphInstance->GetSnapshot();
|
||||
if (snapshot)
|
||||
{
|
||||
AZ_Warning("EMotionFX", false, "Call GetActiveStates function but no snapshot is created for this instance.");
|
||||
return snapshot->GetMotionNodePlaytimes();
|
||||
}
|
||||
}
|
||||
|
||||
return s_emptyMotionNodePlaytimeContainer;
|
||||
}
|
||||
|
||||
void AnimGraphComponent::UpdateActorExternal(float deltatime)
|
||||
|
||||
@@ -155,7 +155,9 @@ namespace EMotionFX
|
||||
bool HasSnapshot() const override;
|
||||
void CreateSnapshot(bool isAuthoritative) override;
|
||||
void SetActiveStates(const NodeIndexContainer& activeStates) override;
|
||||
static NodeIndexContainer s_emptyNodeIndexContainer;
|
||||
const NodeIndexContainer& GetActiveStates() const override;
|
||||
static MotionNodePlaytimeContainer s_emptyMotionNodePlaytimeContainer;
|
||||
void SetMotionPlaytimes(const MotionNodePlaytimeContainer& motionNodePlaytimes) override;
|
||||
const MotionNodePlaytimeContainer& GetMotionPlaytimes() const override;
|
||||
void UpdateActorExternal(float deltatime) override;
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <AzFramework/Components/TransformComponent.h>
|
||||
#include <Include/Integration/AnimGraphNetworkingBus.h>
|
||||
#include <Integration/Components/ActorComponent.h>
|
||||
#include <Integration/Components/AnimGraphComponent.h>
|
||||
#include <Tests/Integration/EntityComponentFixture.h>
|
||||
|
||||
namespace EMotionFX
|
||||
{
|
||||
class AnimGraphNetworkingBusTests
|
||||
: public EntityComponentFixture
|
||||
{
|
||||
public:
|
||||
void SetUp() override
|
||||
{
|
||||
EntityComponentFixture::SetUp();
|
||||
|
||||
m_entity = AZStd::make_unique<AZ::Entity>();
|
||||
m_entityId = AZ::EntityId(740216387);
|
||||
m_entity->SetId(m_entityId);
|
||||
|
||||
m_entity->CreateComponent<AzFramework::TransformComponent>();
|
||||
m_entity->CreateComponent<Integration::ActorComponent>();
|
||||
auto animGraphComponent = m_entity->CreateComponent<Integration::AnimGraphComponent>();
|
||||
|
||||
m_entity->Init();
|
||||
|
||||
m_entity->Activate();
|
||||
AnimGraphInstance* animGraphInstance = animGraphComponent->GetAnimGraphInstance();
|
||||
EXPECT_EQ(animGraphInstance, nullptr) << "Expecting an invalid anim graph instance as no asset has been set.";
|
||||
}
|
||||
|
||||
void TearDown() override
|
||||
{
|
||||
m_entity->Deactivate();
|
||||
EntityComponentFixture::TearDown();
|
||||
}
|
||||
|
||||
AZ::EntityId m_entityId;
|
||||
AZStd::unique_ptr<AZ::Entity> m_entity;
|
||||
};
|
||||
|
||||
TEST_F(AnimGraphNetworkingBusTests, AnimGraphNetworkingBus_GetActiveStates_Test)
|
||||
{
|
||||
NodeIndexContainer result;
|
||||
EMotionFX::AnimGraphComponentNetworkRequestBus::EventResult(result, m_entityId, &EMotionFX::AnimGraphComponentNetworkRequestBus::Events::GetActiveStates);
|
||||
}
|
||||
|
||||
TEST_F(AnimGraphNetworkingBusTests, AnimGraphNetworkingBus_GetMotionPlaytimes_Test)
|
||||
{
|
||||
MotionNodePlaytimeContainer result;
|
||||
EMotionFX::AnimGraphComponentNetworkRequestBus::EventResult(result, m_entityId, &EMotionFX::AnimGraphComponentNetworkRequestBus::Events::GetMotionPlaytimes);
|
||||
}
|
||||
} // end namespace EMotionFX
|
||||
@@ -22,6 +22,7 @@ set(FILES
|
||||
Tests/AnimGraphActionCommandTests.cpp
|
||||
Tests/AnimGraphActionTests.cpp
|
||||
Tests/AnimGraphComponentBusTests.cpp
|
||||
Tests/AnimGraphNetworkingBusTests.cpp
|
||||
Tests/AnimGraphCopyPasteTests.cpp
|
||||
Tests/AnimGraphDeferredInitTests.cpp
|
||||
Tests/AnimGraphEventHandlerCounter.h
|
||||
|
||||
@@ -47,7 +47,6 @@ ly_add_target(
|
||||
PRIVATE
|
||||
Gem::Metastream.Static
|
||||
Legacy::CryCommon
|
||||
3rdParty::civetweb
|
||||
)
|
||||
|
||||
|
||||
@@ -74,7 +73,6 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
AZ::AzTest
|
||||
Gem::Metastream.Static
|
||||
Legacy::CryCommon
|
||||
3rdParty::civetweb
|
||||
)
|
||||
ly_add_googletest(
|
||||
NAME Gem::Metastream.Tests
|
||||
|
||||
@@ -11,3 +11,7 @@
|
||||
|
||||
# CivetHttpServer.cpp uses a try catch block
|
||||
set(LY_COMPILE_OPTIONS PRIVATE /EHsc)
|
||||
set(LY_BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
3rdParty::civetweb
|
||||
)
|
||||
@@ -18,16 +18,16 @@ ly_add_target(
|
||||
INCLUDE_DIRECTORIES
|
||||
PRIVATE
|
||||
${pal_source_dir}
|
||||
Source
|
||||
AZ::AzNetworking
|
||||
Source
|
||||
.
|
||||
PUBLIC
|
||||
Include
|
||||
BUILD_DEPENDENCIES
|
||||
PUBLIC
|
||||
AZ::AzCore
|
||||
AZ::AzFramework
|
||||
AZ::AzNetworking
|
||||
Gem::CertificateManager
|
||||
3rdParty::AWSNativeSDK::Core
|
||||
AUTOGEN_RULES
|
||||
*.AutoPackets.xml,AutoPackets_Header.jinja,$path/$fileprefix.AutoPackets.h
|
||||
*.AutoPackets.xml,AutoPackets_Inline.jinja,$path/$fileprefix.AutoPackets.inl
|
||||
@@ -49,6 +49,8 @@ ly_add_target(
|
||||
PRIVATE
|
||||
Source
|
||||
.
|
||||
PUBLIC
|
||||
Include
|
||||
BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
Gem::Multiplayer.Static
|
||||
@@ -56,10 +58,27 @@ ly_add_target(
|
||||
Gem::CertificateManager
|
||||
)
|
||||
|
||||
################################################################################
|
||||
# Tests
|
||||
################################################################################
|
||||
if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
if (PAL_TRAIT_BUILD_HOST_TOOLS)
|
||||
ly_add_target(
|
||||
NAME Multiplayer.Tools MODULE
|
||||
NAMESPACE Gem
|
||||
OUTPUT_NAME Gem.Multiplayer.Tools
|
||||
FILES_CMAKE
|
||||
multiplayer_tools_files.cmake
|
||||
INCLUDE_DIRECTORIES
|
||||
PRIVATE
|
||||
Source
|
||||
.
|
||||
PUBLIC
|
||||
Include
|
||||
BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
AZ::AzToolsFramework
|
||||
Gem::Multiplayer.Static
|
||||
)
|
||||
endif()
|
||||
|
||||
if (PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
ly_add_target(
|
||||
NAME Multiplayer.Tests ${PAL_TRAIT_TEST_TARGET_TYPE}
|
||||
NAMESPACE Gem
|
||||
@@ -71,6 +90,8 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
${pal_source_dir}
|
||||
Source
|
||||
.
|
||||
PUBLIC
|
||||
Include
|
||||
BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
AZ::AzTest
|
||||
@@ -80,3 +101,25 @@ if(PAL_TRAIT_BUILD_TESTS_SUPPORTED)
|
||||
NAME Gem::Multiplayer.Tests
|
||||
)
|
||||
endif()
|
||||
|
||||
ly_add_target(
|
||||
NAME Multiplayer.Debug ${PAL_TRAIT_MONOLITHIC_DRIVEN_MODULE_TYPE}
|
||||
NAMESPACE Gem
|
||||
FILES_CMAKE
|
||||
multiplayer_debug_files.cmake
|
||||
INCLUDE_DIRECTORIES
|
||||
PRIVATE
|
||||
Source
|
||||
.
|
||||
PUBLIC
|
||||
Include
|
||||
BUILD_DEPENDENCIES
|
||||
PRIVATE
|
||||
AZ::AzCore
|
||||
AZ::AtomCore
|
||||
AZ::AzFramework
|
||||
AZ::AzNetworking
|
||||
Gem::Atom_Feature_Common.Static
|
||||
Gem::Multiplayer.Static
|
||||
Gem::ImGui.Static
|
||||
)
|
||||
|
||||
@@ -1168,6 +1168,12 @@ namespace {{ Component.attrib['Namespace'] }}
|
||||
|
||||
void {{ ComponentBaseName }}::Init()
|
||||
{
|
||||
if (m_netBindComponent == nullptr)
|
||||
{
|
||||
AZLOG_ERROR("NetBindComponent is null, ensure NetworkAttach is called prior to activating a networked entity");
|
||||
return;
|
||||
}
|
||||
|
||||
{{ DefineComponentServiceProxyGrabs(Component, ClassType, ComponentName)|indent(8) }}
|
||||
{% if ComponentDerived %}
|
||||
OnInit();
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <Source/Multiplayer_precompiled.h>
|
||||
#include <Source/Debug/MultiplayerDebugModule.h>
|
||||
#include <Source/Debug/MultiplayerDebugSystemComponent.h>
|
||||
|
||||
namespace Multiplayer
|
||||
{
|
||||
MultiplayerDebugModule::MultiplayerDebugModule()
|
||||
: AZ::Module()
|
||||
{
|
||||
m_descriptors.insert(m_descriptors.end(), {
|
||||
MultiplayerDebugSystemComponent::CreateDescriptor(),
|
||||
});
|
||||
}
|
||||
|
||||
AZ::ComponentTypeList MultiplayerDebugModule::GetRequiredSystemComponents() const
|
||||
{
|
||||
return AZ::ComponentTypeList
|
||||
{
|
||||
azrtti_typeid<MultiplayerDebugSystemComponent>(),
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
AZ_DECLARE_MODULE_CLASS(Gem_Multiplayer_Imgui, Multiplayer::MultiplayerDebugModule);
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/Module/Module.h>
|
||||
|
||||
namespace Multiplayer
|
||||
{
|
||||
class MultiplayerDebugModule
|
||||
: public AZ::Module
|
||||
{
|
||||
public:
|
||||
AZ_RTTI(MultiplayerDebugModule, "{9E1460FA-4513-4B5E-86B4-9DD8ADEFA714}", AZ::Module);
|
||||
AZ_CLASS_ALLOCATOR(MultiplayerDebugModule, AZ::SystemAllocator, 0);
|
||||
|
||||
MultiplayerDebugModule();
|
||||
~MultiplayerDebugModule() override = default;
|
||||
|
||||
AZ::ComponentTypeList GetRequiredSystemComponents() const override;
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,123 @@
|
||||
/*
|
||||
* All or portions of this file Copyright(c) Amazon.com, Inc.or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution(the "License").All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file.Do not
|
||||
* remove or modify any license notices.This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <Source/Debug/MultiplayerDebugSystemComponent.h>
|
||||
#include <AzCore/Serialization/SerializeContext.h>
|
||||
#include <AzCore/Interface/Interface.h>
|
||||
#include <Include/IMultiplayer.h>
|
||||
|
||||
namespace Multiplayer
|
||||
{
|
||||
void MultiplayerDebugSystemComponent::Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
if (AZ::SerializeContext* serializeContext = azrtti_cast<AZ::SerializeContext*>(context))
|
||||
{
|
||||
serializeContext->Class<MultiplayerDebugSystemComponent, AZ::Component>()
|
||||
->Version(1);
|
||||
}
|
||||
}
|
||||
|
||||
void MultiplayerDebugSystemComponent::GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided)
|
||||
{
|
||||
provided.push_back(AZ_CRC_CE("MultiplayerDebugSystemComponent"));
|
||||
}
|
||||
|
||||
void MultiplayerDebugSystemComponent::GetRequiredServices([[maybe_unused]] AZ::ComponentDescriptor::DependencyArrayType& required)
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
void MultiplayerDebugSystemComponent::GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatbile)
|
||||
{
|
||||
incompatbile.push_back(AZ_CRC_CE("MultiplayerDebugSystemComponent"));
|
||||
}
|
||||
|
||||
void MultiplayerDebugSystemComponent::Activate()
|
||||
{
|
||||
#ifdef IMGUI_ENABLED
|
||||
ImGui::ImGuiUpdateListenerBus::Handler::BusConnect();
|
||||
#endif
|
||||
}
|
||||
|
||||
void MultiplayerDebugSystemComponent::Deactivate()
|
||||
{
|
||||
#ifdef IMGUI_ENABLED
|
||||
ImGui::ImGuiUpdateListenerBus::Handler::BusDisconnect();
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef IMGUI_ENABLED
|
||||
void MultiplayerDebugSystemComponent::OnImGuiMainMenuUpdate()
|
||||
{
|
||||
if (ImGui::BeginMenu("Multiplayer"))
|
||||
{
|
||||
//{
|
||||
// static int lossPercent{ 0 };
|
||||
// lossPercent = static_cast<int>(net_UdpDebugLossPercent);
|
||||
// if (ImGui::SliderInt("UDP Loss Percent", &lossPercent, 0, 100))
|
||||
// {
|
||||
// net_UdpDebugLossPercent = lossPercent;
|
||||
// m_ClientAgent.UpdateConnectionCvars(net_UdpDebugLossPercent);
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//{
|
||||
// static int latency{ 0 };
|
||||
// latency = static_cast<int>(net_UdpDebugLatencyMs);
|
||||
// if (ImGui::SliderInt("UDP Latency Ms", &latency, 0, 3000))
|
||||
// {
|
||||
// net_UdpDebugLatencyMs = latency;
|
||||
// m_ClientAgent.UpdateConnectionCvars(net_UdpDebugLatencyMs);
|
||||
// }
|
||||
//}
|
||||
//
|
||||
//{
|
||||
// static int variance{ 0 };
|
||||
// variance = static_cast<int>(net_UdpDebugVarianceMs);
|
||||
// if (ImGui::SliderInt("UDP Variance Ms", &variance, 0, 1000))
|
||||
// {
|
||||
// net_UdpDebugVarianceMs = variance;
|
||||
// m_ClientAgent.UpdateConnectionCvars(net_UdpDebugVarianceMs);
|
||||
// }
|
||||
//}
|
||||
|
||||
ImGui::Checkbox("Multiplayer Stats", &m_displayStats);
|
||||
ImGui::EndMenu();
|
||||
}
|
||||
}
|
||||
|
||||
void MultiplayerDebugSystemComponent::OnImGuiUpdate()
|
||||
{
|
||||
if (m_displayStats)
|
||||
{
|
||||
if (ImGui::Begin("Multiplayer Stats", &m_displayStats, ImGuiWindowFlags_HorizontalScrollbar))
|
||||
{
|
||||
IMultiplayer* multiplayer = AZ::Interface<IMultiplayer>::Get();
|
||||
Multiplayer::MultiplayerStats& stats = multiplayer->GetStats();
|
||||
ImGui::Text("Multiplayer operating in %s mode", GetEnumString(multiplayer->GetAgentType()));
|
||||
ImGui::Text("Total networked entities: %llu", aznumeric_cast<AZ::u64>(stats.m_entityCount));
|
||||
ImGui::Text("Total client connections: %llu", aznumeric_cast<AZ::u64>(stats.m_clientConnectionCount));
|
||||
ImGui::Text("Total server connections: %llu", aznumeric_cast<AZ::u64>(stats.m_serverConnectionCount));
|
||||
ImGui::Text("Total property updates sent: %llu", aznumeric_cast<AZ::u64>(stats.m_propertyUpdatesSent));
|
||||
ImGui::Text("Total property updates sent bytes: %llu", aznumeric_cast<AZ::u64>(stats.m_propertyUpdatesSentBytes));
|
||||
ImGui::Text("Total property updates received: %llu", aznumeric_cast<AZ::u64>(stats.m_propertyUpdatesRecv));
|
||||
ImGui::Text("Total property updates received bytes: %llu", aznumeric_cast<AZ::u64>(stats.m_propertyUpdatesRecvBytes));
|
||||
ImGui::Text("Total RPCs sent: %llu", aznumeric_cast<AZ::u64>(stats.m_rpcsSent));
|
||||
ImGui::Text("Total RPCs sent bytes: %llu", aznumeric_cast<AZ::u64>(stats.m_rpcsSentBytes));
|
||||
ImGui::Text("Total RPCs received: %llu", aznumeric_cast<AZ::u64>(stats.m_rpcsRecv));
|
||||
ImGui::Text("Total RPCs received bytes: %llu", aznumeric_cast<AZ::u64>(stats.m_rpcsRecvBytes));
|
||||
}
|
||||
ImGui::End();
|
||||
}
|
||||
}
|
||||
#endif
|
||||
}
|
||||
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* All or portions of this file Copyright(c) Amazon.com, Inc.or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution(the "License").All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file.Do not
|
||||
* remove or modify any license notices.This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/Component/Component.h>
|
||||
|
||||
#ifdef IMGUI_ENABLED
|
||||
# include <imgui/imgui.h>
|
||||
# include <ImGuiBus.h>
|
||||
#endif
|
||||
|
||||
namespace Multiplayer
|
||||
{
|
||||
class MultiplayerDebugSystemComponent final
|
||||
: public AZ::Component
|
||||
#ifdef IMGUI_ENABLED
|
||||
, public ImGui::ImGuiUpdateListenerBus::Handler
|
||||
#endif
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(MultiplayerDebugSystemComponent, "{060BF3F1-0BFE-4FCE-9C3C-EE991F0DA581}");
|
||||
|
||||
static void Reflect(AZ::ReflectContext* context);
|
||||
static void GetProvidedServices(AZ::ComponentDescriptor::DependencyArrayType& provided);
|
||||
static void GetRequiredServices(AZ::ComponentDescriptor::DependencyArrayType& required);
|
||||
static void GetIncompatibleServices(AZ::ComponentDescriptor::DependencyArrayType& incompatbile);
|
||||
|
||||
~MultiplayerDebugSystemComponent() override = default;
|
||||
|
||||
//! AZ::Component overrides
|
||||
//! @{
|
||||
void Activate() override;
|
||||
void Deactivate() override;
|
||||
//! @}
|
||||
|
||||
#ifdef IMGUI_ENABLED
|
||||
//! ImGui::ImGuiUpdateListenerBus overrides
|
||||
//! @{
|
||||
void OnImGuiMainMenuUpdate() override;
|
||||
void OnImGuiUpdate() override;
|
||||
//! @}
|
||||
#endif
|
||||
private:
|
||||
bool m_displayStats = false;
|
||||
};
|
||||
}
|
||||
@@ -15,6 +15,8 @@
|
||||
#include <Source/MultiplayerSystemComponent.h>
|
||||
#include <Source/Components/NetBindComponent.h>
|
||||
#include <Source/AutoGen/AutoComponentTypes.h>
|
||||
#include <Source/Pipeline/NetBindMarkerComponent.h>
|
||||
#include <Source/Pipeline/NetworkSpawnableHolderComponent.h>
|
||||
#include <AzNetworking/Framework/NetworkingSystemComponent.h>
|
||||
|
||||
namespace Multiplayer
|
||||
@@ -26,6 +28,8 @@ namespace Multiplayer
|
||||
AzNetworking::NetworkingSystemComponent::CreateDescriptor(),
|
||||
MultiplayerSystemComponent::CreateDescriptor(),
|
||||
NetBindComponent::CreateDescriptor(),
|
||||
NetBindMarkerComponent::CreateDescriptor(),
|
||||
NetworkSpawnableHolderComponent::CreateDescriptor(),
|
||||
});
|
||||
|
||||
CreateComponentDescriptors(m_descriptors);
|
||||
|
||||
@@ -133,23 +133,33 @@ namespace Multiplayer
|
||||
// Let the network system know the frame is done and we can collect dirty bits
|
||||
m_networkEntityManager.NotifyEntitiesDirtied();
|
||||
|
||||
MultiplayerStats& stats = GetStats();
|
||||
stats.m_entityCount = GetNetworkEntityManager()->GetEntityCount();
|
||||
stats.m_serverConnectionCount = 0;
|
||||
stats.m_clientConnectionCount = 0;
|
||||
|
||||
// Send out the game state update to all connections
|
||||
{
|
||||
auto sendNetworkUpdates = [serverGameTimeMs](IConnection& connection)
|
||||
auto sendNetworkUpdates = [serverGameTimeMs, &stats](IConnection& connection)
|
||||
{
|
||||
if (connection.GetUserData() != nullptr)
|
||||
{
|
||||
IConnectionData* connectionData = reinterpret_cast<IConnectionData*>(connection.GetUserData());
|
||||
connectionData->Update(serverGameTimeMs);
|
||||
if (connectionData->GetConnectionDataType() == ConnectionDataType::ServerToClient)
|
||||
{
|
||||
stats.m_clientConnectionCount++;
|
||||
}
|
||||
else
|
||||
{
|
||||
stats.m_serverConnectionCount++;
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
m_networkInterface->GetConnectionSet().VisitConnections(sendNetworkUpdates);
|
||||
}
|
||||
|
||||
MultiplayerStats& stats = GetStats();
|
||||
stats.m_entityCount = GetNetworkEntityManager()->GetEntityCount();
|
||||
|
||||
MultiplayerPackets::SyncConsole packet;
|
||||
AZ::ThreadSafeDeque<AZStd::string>::DequeType cvarUpdates;
|
||||
m_cvarCommands.Swap(cvarUpdates);
|
||||
|
||||
@@ -0,0 +1,65 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <Source/Multiplayer_precompiled.h>
|
||||
#include <Source/MultiplayerToolsModule.h>
|
||||
#include <Pipeline/NetworkPrefabProcessor.h>
|
||||
#include <AzCore/Serialization/Json/RegistrationContext.h>
|
||||
#include <Prefab/Instance/InstanceSerializer.h>
|
||||
|
||||
namespace Multiplayer
|
||||
{
|
||||
//! Multiplayer Tools system component provides serialize context reflection for tools-only systems.
|
||||
class MultiplayerToolsSystemComponent final
|
||||
: public AZ::Component
|
||||
{
|
||||
public:
|
||||
AZ_COMPONENT(MultiplayerToolsSystemComponent, "{65AF5342-0ECE-423B-B646-AF55A122F72B}");
|
||||
|
||||
static void Reflect(AZ::ReflectContext* context)
|
||||
{
|
||||
NetworkPrefabProcessor::Reflect(context);
|
||||
}
|
||||
|
||||
MultiplayerToolsSystemComponent() = default;
|
||||
~MultiplayerToolsSystemComponent() override = default;
|
||||
|
||||
/// AZ::Component overrides.
|
||||
void Activate() override
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
void Deactivate() override
|
||||
{
|
||||
|
||||
}
|
||||
};
|
||||
|
||||
MultiplayerToolsModule::MultiplayerToolsModule()
|
||||
: AZ::Module()
|
||||
{
|
||||
m_descriptors.insert(m_descriptors.end(), {
|
||||
MultiplayerToolsSystemComponent::CreateDescriptor(),
|
||||
});
|
||||
}
|
||||
|
||||
AZ::ComponentTypeList MultiplayerToolsModule::GetRequiredSystemComponents() const
|
||||
{
|
||||
return AZ::ComponentTypeList
|
||||
{
|
||||
azrtti_typeid<MultiplayerToolsSystemComponent>(),
|
||||
};
|
||||
}
|
||||
} // namespace Multiplayer
|
||||
|
||||
AZ_DECLARE_MODULE_CLASS(Gem_Multiplayer_Tools, Multiplayer::MultiplayerToolsModule);
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates or
|
||||
* its licensors.
|
||||
*
|
||||
* For complete copyright and license terms please see the LICENSE at the root of this
|
||||
* distribution (the "License"). All use of this software is governed by the License,
|
||||
* or, if provided, by the license below or the license accompanying this file. Do not
|
||||
* remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
*
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/Module/Module.h>
|
||||
|
||||
namespace Multiplayer
|
||||
{
|
||||
class MultiplayerToolsModule
|
||||
: public AZ::Module
|
||||
{
|
||||
public:
|
||||
|
||||
AZ_RTTI(MultiplayerToolsModule, "{3F726172-21FC-48FA-8CFA-7D87EBA07E55}", AZ::Module);
|
||||
AZ_CLASS_ALLOCATOR(MultiplayerToolsModule, AZ::SystemAllocator, 0);
|
||||
|
||||
MultiplayerToolsModule();
|
||||
~MultiplayerToolsModule() override = default;
|
||||
|
||||
AZ::ComponentTypeList GetRequiredSystemComponents() const override;
|
||||
};
|
||||
} // namespace Multiplayer
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
#pragma once
|
||||
|
||||
#include <AzCore/EBus/Event.h>
|
||||
#include <AzCore/Name/Name.h>
|
||||
#include <AzCore/RTTI/TypeSafeIntegral.h>
|
||||
#include <AzCore/std/string/fixed_string.h>
|
||||
#include <AzNetworking/Serialization/ISerializer.h>
|
||||
@@ -74,9 +75,36 @@ namespace Multiplayer
|
||||
struct PrefabEntityId
|
||||
{
|
||||
AZ_TYPE_INFO(PrefabEntityId, "{EFD37465-CCAC-4E87-A825-41B4010A2C75}");
|
||||
bool operator==(const PrefabEntityId&) const { return true; }
|
||||
bool operator!=(const PrefabEntityId& rhs) const { return !(*this == rhs); }
|
||||
bool Serialize(AzNetworking::ISerializer&) { return true; }
|
||||
|
||||
static constexpr uint32_t AllIndices = AZStd::numeric_limits<uint32_t>::max();
|
||||
|
||||
AZ::Name m_prefabName;
|
||||
uint32_t m_entityOffset = AllIndices;
|
||||
|
||||
PrefabEntityId() = default;
|
||||
|
||||
explicit PrefabEntityId(AZ::Name name, uint32_t entityOffset = AllIndices)
|
||||
: m_prefabName(name)
|
||||
, m_entityOffset(entityOffset)
|
||||
{
|
||||
}
|
||||
|
||||
bool operator==(const PrefabEntityId& rhs) const
|
||||
{
|
||||
return m_prefabName == rhs.m_prefabName && m_entityOffset == rhs.m_entityOffset;
|
||||
}
|
||||
|
||||
bool operator!=(const PrefabEntityId& rhs) const
|
||||
{
|
||||
return !(*this == rhs);
|
||||
}
|
||||
|
||||
bool Serialize(AzNetworking::ISerializer& serializer)
|
||||
{
|
||||
serializer.Serialize(m_prefabName, "prefabName");
|
||||
serializer.Serialize(m_entityOffset, "entityOffset");
|
||||
return serializer.IsValid();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user