20 static plUInt32 ComputeMeanSquareError(
const plImageView& differenceImage, plUInt8 uiBlockSize, plUInt32 uiOffsetx, plUInt32 uiOffsety);
24 static plUInt32 ComputeMeanSquareError(
const plImageView& differenceImage, plUInt8 uiBlockSize);
28 static void Normalize(
plImage& ref_image);
29 static void Normalize(
plImage& ref_image, plUInt8& ref_uiMinRgb, plUInt8& ref_uiMaxRgb, plUInt8& ref_uiMinAlpha, plUInt8& ref_uiMaxAlpha);
32 static void ExtractAlphaChannel(
const plImageView& inputImage,
plImage& ref_outputImage);
38 static void RotateSubImage180(
plImage& ref_image, plUInt32 uiMipLevel = 0, plUInt32 uiFace = 0, plUInt32 uiArrayIndex = 0);
45 plUInt32 uiDstFace = 0, plUInt32 uiDstArrayIndex = 0);
57 bool m_renormalizeNormals =
false;
60 bool m_preserveCoverage =
false;
63 float m_alphaThreshold = 0.5f;
66 plImageAddressMode::Enum m_addressModeU = plImageAddressMode::Clamp;
69 plImageAddressMode::Enum m_addressModeV = plImageAddressMode::Clamp;
72 plImageAddressMode::Enum m_addressModeW = plImageAddressMode::Clamp;
78 plUInt32 m_numMipMaps = 0;
83 plImageAddressMode::Enum addressModeU = plImageAddressMode::Clamp, plImageAddressMode::Enum addressModeV = plImageAddressMode::Clamp,
88 const plImageFilter* pFilter =
nullptr, plImageAddressMode::Enum addressModeU = plImageAddressMode::Clamp,
89 plImageAddressMode::Enum addressModeV = plImageAddressMode::Clamp, plImageAddressMode::Enum addressModeW = plImageAddressMode::Clamp,
96 static void ReconstructNormalZ(
plImage& ref_source);
99 static void RenormalizeNormalMap(
plImage& ref_image);
105 static void ChangeExposure(
plImage& ref_image,
float fBias);
125 static plUInt32 GetSampleIndex(plUInt32 uiNumTexels, plInt32 iIndex, plImageAddressMode::Enum addressMode,
bool& out_bUseBorderColor);
138 static plColor NearestSample(
const plColor* pPixelPointer, plUInt32 uiWidth, plUInt32 uiHeight, plImageAddressMode::Enum addressMode,
plVec2 vUv);
151 static plColor BilinearSample(
const plColor* pPixelPointer, plUInt32 uiWidth, plUInt32 uiHeight, plImageAddressMode::Enum addressMode,
plVec2 vUv);
157 static plResult CopyChannel(
plImage& ref_dstImg, plUInt8 uiDstChannelIdx,
const plImage& srcImg, plUInt8 uiSrcChannelIdx);
163 static void CreateImageDiffHtml(
plStringBuilder& out_sHtml,
plStringView sTitle,
const plImage& referenceImgRgb,
const plImage& referenceImgAlpha,
const plImage& capturedImgRgb,
const plImage& capturedImgAlpha,
const plImage& diffImgRgb,
const plImage& diffImgAlpha, plUInt32 uiError, plUInt32 uiThreshold, plUInt8 uiMinDiffRgb, plUInt8 uiMaxDiffRgb, plUInt8 uiMinDiffAlpha, plUInt8 uiMaxDiffAlpha);