44 return "LuminanceAlpha8";
70 return "R11_EAC_UNorm";
72 return "R11_EAC_SNorm";
74 return "RG11_EAC_UNorm";
76 return "RG11_EAC_SNorm";
82 return "RGB8_PunchThrough_Alpha1_ETC2";
84 return "SRGB8_PunchThrough_Alpha1_ETC2";
86 return "RGBA8_ETC2_EAC";
88 return "SRGB8_Alpha8_ETC2_EAC";
90 return "RGBA_ASTC_4x4";
92 return "RGBA_ASTC_5x4";
94 return "RGBA_ASTC_5x5";
96 return "RGBA_ASTC_6x5";
98 return "RGBA_ASTC_6x6";
100 return "RGBA_ASTC_8x5";
102 return "RGBA_ASTC_8x6";
104 return "RGBA_ASTC_8x8";
106 return "RGBA_ASTC_10x5";
108 return "RGBA_ASTC_10x6";
110 return "RGBA_ASTC_10x8";
112 return "RGBA_ASTC_10x10";
114 return "RGBA_ASTC_12x10";
116 return "RGBA_ASTC_12x12";
118 return "SRGB8_Alpha8_ASTC_4x4";
120 return "SRGB8_Alpha8_ASTC_5x4";
122 return "SRGB8_Alpha8_ASTC_5x5";
124 return "SRGB8_Alpha8_ASTC_6x5";
126 return "SRGB8_Alpha8_ASTC_6x6";
128 return "SRGB8_Alpha8_ASTC_8x5";
130 return "SRGB8_Alpha8_ASTC_8x6";
132 return "SRGB8_Alpha8_ASTC_8x8";
134 return "SRGB8_Alpha8_ASTC_10x5";
136 return "SRGB8_Alpha8_ASTC_10x6";
138 return "SRGB8_Alpha8_ASTC_10x8";
140 return "SRGB8_Alpha8_ASTC_10x10";
142 return "SRGB8_Alpha8_ASTC_12x10";
144 return "SRGB8_Alpha8_ASTC_12x12";
166 return "Depth24Stencil8";
199 Q_UNREACHABLE_RETURN(
nullptr);
335 outPtr[0] = (float(
src[byteOfs])) / 255.0f;
347 float val = (float(
src[byteOfs +
i])) / 255.0f;
348 outPtr[
i] = (
i < 3) ? std::pow(
val, 0.4545454545f) :
val;
353 float pwd = powf(2.0f,
int(
src[byteOfs + 3]) - 128);
354 outPtr[0] = float(
src[byteOfs + 0]) * pwd / 255.0;
355 outPtr[1] = float(
src[byteOfs + 1]) * pwd / 255.0;
356 outPtr[2] = float(
src[byteOfs + 2]) * pwd / 255.0;
361 outPtr[0] =
reinterpret_cast<float *
>(
src + byteOfs)[0];
364 outPtr[0] =
reinterpret_cast<float *
>(
src + byteOfs)[0];
365 outPtr[1] =
reinterpret_cast<float *
>(
src + byteOfs)[1];
368 outPtr[0] =
reinterpret_cast<float *
>(
src + byteOfs)[0];
369 outPtr[1] =
reinterpret_cast<float *
>(
src + byteOfs)[1];
370 outPtr[2] =
reinterpret_cast<float *
>(
src + byteOfs)[2];
371 outPtr[3] =
reinterpret_cast<float *
>(
src + byteOfs)[3];
374 outPtr[0] =
reinterpret_cast<float *
>(
src + byteOfs)[0];
375 outPtr[1] =
reinterpret_cast<float *
>(
src + byteOfs)[1];
376 outPtr[2] =
reinterpret_cast<float *
>(
src + byteOfs)[2];
389 quint32 mantissa = ((
h & 0x3ffu) << 13);
392 if (
h == 0 ||
h == 0x8000)
394 memcpy(outPtr +
i, &
result, 4);
419 M8E8(
const float val) {
420 float l2 = 1.f + std::floor(log2f(
val));
421 float mm =
val / powf(2.f, l2);
430 float mm =
val / powf(2.f, exp - 128);
440 dest[byteOfs] =
quint8(inPtr[0] * 255.0f);
452 inPtr[
i] = (inPtr[
i] > 1.0f) ? 1.0f : inPtr[
i];
454 dest[byteOfs +
i] =
quint8(powf(inPtr[
i], 2.2f) * 255.0f);
456 dest[byteOfs +
i] =
quint8(inPtr[
i] * 255.0f);
461 float max =
qMax(inPtr[0],
qMax(inPtr[1], inPtr[2]));
463 M8E8
a(inPtr[0], ex.e);
464 M8E8
b(inPtr[1], ex.e);
465 M8E8
c(inPtr[2], ex.e);
474 reinterpret_cast<float *
>(dest + byteOfs)[0] = inPtr[0];
477 reinterpret_cast<float *
>(dest + byteOfs)[0] = inPtr[0];
478 reinterpret_cast<float *
>(dest + byteOfs)[1] = inPtr[1];
481 reinterpret_cast<float *
>(dest + byteOfs)[0] = inPtr[0];
482 reinterpret_cast<float *
>(dest + byteOfs)[1] = inPtr[1];
483 reinterpret_cast<float *
>(dest + byteOfs)[2] = inPtr[2];
484 reinterpret_cast<float *
>(dest + byteOfs)[3] = inPtr[3];
487 reinterpret_cast<float *
>(dest + byteOfs)[0] = inPtr[0];
488 reinterpret_cast<float *
>(dest + byteOfs)[1] = inPtr[1];
489 reinterpret_cast<float *
>(dest + byteOfs)[2] = inPtr[2];
499 if (inPtr[
i] > 65519.0f)
501 if (std::fabs(inPtr[
i]) < 6.10352E-5f)
506 quint32 mantissa = (
f >> 13) & 0x3ff;
524 dest[byteOfs + 1] = 0;
525 dest[byteOfs + 2] = 0;
526 dest[byteOfs + 3] = 0;
537 return "CounterClockwise";
540 Q_UNREACHABLE_RETURN(
nullptr);
551 return "FrontAndBack";
558 Q_UNREACHABLE_RETURN(
nullptr);
578 Q_UNREACHABLE_RETURN(
nullptr);
591 return "Environment";
601 return "Translucent";
604 Q_UNREACHABLE_RETURN(
nullptr);
617 return "OpaquePrePass";
620 Q_UNREACHABLE_RETURN(
nullptr);
627 return "UnsignedInt8";
631 return "UnsignedInt16";
635 return "UnsignedInt32";
639 return "UnsignedInt64";
650 Q_UNREACHABLE_RETURN(
"Unknown");
662 return "ClampToEdge";
664 return "MirroredRepeat";
671 Q_UNREACHABLE_RETURN(
nullptr);
685 Q_UNREACHABLE_RETURN(
nullptr);
705 Q_UNREACHABLE_RETURN(
nullptr);
714 return sizeof(
qint8);
730 return sizeof(float);
732 return sizeof(double);
734 Q_UNREACHABLE_RETURN(0);
static const char * displayName(QSSGRenderTextureCubeFace face)
static const char * toString(QSSGRenderTextureCubeFace value)
static size_t getSizeOfType(QSSGRenderComponentType type)
\keyword 16-bit Floating Point Support\inmodule QtCore \inheaderfile QFloat16
Combined button and popup list for selecting options.
EGLOutputLayerEXT EGLint EGLAttrib value
[5]
constexpr const T & qMax(const T &a, const T &b)
GLboolean GLboolean GLboolean b
GLboolean GLboolean GLboolean GLboolean a
[7]
GLint GLsizei GLsizei GLenum format
GLfloat GLfloat GLfloat GLfloat h
QSSGRenderTextureCubeFace
QSSGRenderTextureFilterOp
QSSGRenderTextureTypeValue
unsigned long long quint64
QT_BEGIN_NAMESPACE typedef signed char qint8
@ SRGB8_Alpha8_ASTC_12x10
@ SRGB8_Alpha8_ASTC_12x12
@ SRGB8_Alpha8_ASTC_10x10
@ SRGB8_PunchThrough_Alpha1_ETC2
@ RGB8_PunchThrough_Alpha1_ETC2
qint32 getNumberOfComponent() const noexcept
void decodeToFloat(void *inPtr, qint32 byteOfs, float *outPtr) const
void encodeToPixel(float *inPtr, void *outPtr, qint32 byteOfs) const
const char * toString() const
qint32 getSizeofFormat() const noexcept