#include <ImageGradientComponent.h>
Inherits AZ::Component, AZ::Data::AssetBus::Handler, GradientRequestBus::Handler, ImageGradientRequestBus::Handler, ImageGradientModificationBus::Handler, AzFramework::PaintBrushNotificationBus::Handler, and GradientTransformNotificationBus::Handler.
|
| AZ_COMPONENT (ImageGradientComponent, ImageGradientComponentTypeId) |
|
| ImageGradientComponent (const ImageGradientConfig &configuration) |
|
void | Activate () override |
|
void | Deactivate () override |
|
bool | ReadInConfig (const AZ::ComponentConfig *baseConfig) override |
|
bool | WriteOutConfig (AZ::ComponentConfig *outBaseConfig) const override |
|
float | GetValue (const GradientSampleParams &sampleParams) const override |
|
void | GetValues (AZStd::span< const AZ::Vector3 > positions, AZStd::span< float > outValues) const override |
|
void | OnAssetReady (AZ::Data::Asset< AZ::Data::AssetData > asset) override |
|
void | OnAssetReloaded (AZ::Data::Asset< AZ::Data::AssetData > asset) override |
|
AZStd::string | GetImageAssetPath () const override |
|
AZStd::string | GetImageAssetSourcePath () const override |
|
void | SetImageAssetPath (const AZStd::string &assetPath) override |
|
void | SetImageAssetSourcePath (const AZStd::string &assetPath) override |
|
uint32_t | GetImageHeight () const override |
|
uint32_t | GetImageWidth () const override |
|
AZ::Vector2 | GetImagePixelsPerMeter () const override |
|
void | StartImageModification () override |
|
void | EndImageModification () override |
|
void | GetPixelValuesByPosition (AZStd::span< const AZ::Vector3 > positions, AZStd::span< float > outValues) const override |
|
void | SetPixelValuesByPosition (AZStd::span< const AZ::Vector3 > positions, AZStd::span< const float > values) override |
|
void | GetPixelIndicesForPositions (AZStd::span< const AZ::Vector3 > positions, AZStd::span< PixelIndex > outIndices) const override |
|
void | GetPixelValuesByPixelIndex (AZStd::span< const PixelIndex > positions, AZStd::span< float > outValues) const override |
|
void | SetPixelValuesByPixelIndex (AZStd::span< const PixelIndex > positions, AZStd::span< const float > values) override |
|
bool | ImageIsModified () const |
|
|
static void | GetProvidedServices (AZ::ComponentDescriptor::DependencyArrayType &services) |
|
static void | GetIncompatibleServices (AZ::ComponentDescriptor::DependencyArrayType &services) |
|
static void | GetRequiredServices (AZ::ComponentDescriptor::DependencyArrayType &services) |
|
static void | GetDependentServices (AZ::ComponentDescriptor::DependencyArrayType &services) |
|
static void | Reflect (AZ::ReflectContext *context) |
|
|
AZ::Data::Asset< AZ::RPI::StreamingImageAsset > | GetImageAsset () const |
|
void | SetImageAsset (const AZ::Data::Asset< AZ::RPI::StreamingImageAsset > &asset) |
|
AZStd::vector< float > * | GetImageModificationBuffer () |
|
void | OnPaintModeBegin () override |
|
void | OnPaintModeEnd () override |
|
AZ::Color | OnGetColor (const AZ::Vector3 &brushCenter) const override |
|
void | OnGradientTransformChanged (const GradientTransform &newTransform) override |
|
void | CreateImageModificationBuffer () |
|
void | ClearImageModificationBuffer () |
|
bool | ModificationBufferIsActive () const |
|
void | UpdateCachedImageBufferData (const AZ::RHI::ImageDescriptor &imageDescriptor, AZStd::span< const uint8_t > imageData) |
|
void | GetSubImageData () |
|
float | GetValueFromImageData (SamplingType samplingType, const AZ::Vector3 &uvw, float defaultValue) const |
|
float | GetPixelValue (AZ::u32 x, AZ::u32 y) const |
|
float | InvertYAndGetPixelValue (AZ::u32 x, AZ::u32 invertedY) const |
|
float | GetTerrariumPixelValue (AZ::u32 x, AZ::u32 y) const |
|
void | SetupMultiplierAndOffset (float min, float max) |
|
void | SetupDefaultMultiplierAndOffset () |
|
void | SetupAutoScaleMultiplierAndOffset () |
|
void | SetupManualScaleMultiplierAndOffset () |
|
void | Get4x4Neighborhood (uint32_t x, uint32_t y, AZStd::array< AZStd::array< float, 4 >, 4 > &values) const |
|
float | GetClampedValue (int32_t x, int32_t y) const |
|
float | GetValueForSamplingType (SamplingType samplingType, AZ::u32 x0, AZ::u32 y0, float pixelX, float pixelY) const |
|
float | GetTilingX () const override |
|
void | SetTilingX (float tilingX) override |
|
float | GetTilingY () const override |
|
void | SetTilingY (float tilingY) override |
|
bool | PixelIndexIsValid (const PixelIndex &pixelIndex) const |
|
|
class | EditorImageGradientComponent |
|
calculates a gradient value based on image data
◆ GetPixelValue()
float GradientSignal::ImageGradientComponent::GetPixelValue |
( |
AZ::u32 |
x, |
|
|
AZ::u32 |
y |
|
) |
| const |
|
protected |
Read the pixel from our image data at the given XY coordinates. This will read from image modification buffer if it exists or else from the image asset, using the component's mip and channel settings. Note that image space Y is inverted from world space because in images, 0 is the top corner and +Y goes down, but in world space we want 0 to be the bottom, and +Y goes up. If you want to get the pixel value using a Y calculated from world space, call InvertYAndGetPixelValue() instead.
- Parameters
-
x | The X coordinate in image space. |
y | The Y coordinate in image space. |
◆ InvertYAndGetPixelValue()
float GradientSignal::ImageGradientComponent::InvertYAndGetPixelValue |
( |
AZ::u32 |
x, |
|
|
AZ::u32 |
invertedY |
|
) |
| const |
|
protected |
Read the pixel from our image data at the given X coordinate and an inverted Y coordinate. This will read from image modification buffer if it exists or else from the image asset, using the component's mip and channel settings. This is a convenience method that will invert our Y coordinate before calling GetPixelValue() so that we can take a Y coordinate that was calculated from world space axes and invert it into image space as a part of doing the pixel lookup.
- Parameters
-
x | The X coordinate in image space. |
invertedY | The inverted Y coordinate in image space. |
The documentation for this class was generated from the following file:
- Gems/GradientSignal/Code/Include/GradientSignal/Components/ImageGradientComponent.h