348 case QQuick3DTextureData::None:
349 case QQuick3DTextureData::RGBA8:
350 return QSSGRenderTextureFormat::RGBA8;
351 case QQuick3DTextureData::RGBA16F:
352 return QSSGRenderTextureFormat::RGBA16F;
353 case QQuick3DTextureData::RGBA32F:
354 return QSSGRenderTextureFormat::RGBA32F;
355 case QQuick3DTextureData::RGBE8:
356 return QSSGRenderTextureFormat::RGBE8;
357 case QQuick3DTextureData::R8:
358 return QSSGRenderTextureFormat::R8;
359 case QQuick3DTextureData::R16:
360 return QSSGRenderTextureFormat::R16;
361 case QQuick3DTextureData::R16F:
362 return QSSGRenderTextureFormat::R16F;
363 case QQuick3DTextureData::R32F:
364 return QSSGRenderTextureFormat::R32F;
365 case QQuick3DTextureData::BC1:
366 return QSSGRenderTextureFormat::BC1;
367 case QQuick3DTextureData::BC2:
368 return QSSGRenderTextureFormat::BC2;
369 case QQuick3DTextureData::BC3:
370 return QSSGRenderTextureFormat::BC3;
371 case QQuick3DTextureData::BC4:
372 return QSSGRenderTextureFormat::BC4;
373 case QQuick3DTextureData::BC5:
374 return QSSGRenderTextureFormat::BC5;
375 case QQuick3DTextureData::BC6H:
376 return QSSGRenderTextureFormat::BC6H;
377 case QQuick3DTextureData::BC7:
378 return QSSGRenderTextureFormat::BC7;
379 case QQuick3DTextureData::DXT1_RGBA:
380 return QSSGRenderTextureFormat::RGBA_DXT1;
381 case QQuick3DTextureData::DXT1_RGB:
382 return QSSGRenderTextureFormat::RGB_DXT1;
383 case QQuick3DTextureData::DXT3_RGBA:
384 return QSSGRenderTextureFormat::RGBA_DXT3;
385 case QQuick3DTextureData::DXT5_RGBA:
386 return QSSGRenderTextureFormat::RGBA_DXT5;
387 case QQuick3DTextureData::ETC2_RGB8:
388 return QSSGRenderTextureFormat::RGB8_ETC2;
389 case QQuick3DTextureData::ETC2_RGB8A1:
390 return QSSGRenderTextureFormat::RGB8_PunchThrough_Alpha1_ETC2;
391 case QQuick3DTextureData::ETC2_RGBA8:
392 return QSSGRenderTextureFormat::RGBA8_ETC2_EAC;
393 case QQuick3DTextureData::ASTC_4x4:
394 return QSSGRenderTextureFormat::RGBA_ASTC_4x4;
395 case QQuick3DTextureData::ASTC_5x4:
396 return QSSGRenderTextureFormat::RGBA_ASTC_5x4;
397 case QQuick3DTextureData::ASTC_5x5:
398 return QSSGRenderTextureFormat::RGBA_ASTC_5x5;
399 case QQuick3DTextureData::ASTC_6x5:
400 return QSSGRenderTextureFormat::RGBA_ASTC_6x5;
401 case QQuick3DTextureData::ASTC_6x6:
402 return QSSGRenderTextureFormat::RGBA_ASTC_6x6;
403 case QQuick3DTextureData::ASTC_8x5:
404 return QSSGRenderTextureFormat::RGBA_ASTC_8x5;
405 case QQuick3DTextureData::ASTC_8x6:
406 return QSSGRenderTextureFormat::RGBA_ASTC_8x6;
407 case QQuick3DTextureData::ASTC_8x8:
408 return QSSGRenderTextureFormat::RGBA_ASTC_8x8;
409 case QQuick3DTextureData::ASTC_10x5:
410 return QSSGRenderTextureFormat::RGBA_ASTC_10x5;
411 case QQuick3DTextureData::ASTC_10x6:
412 return QSSGRenderTextureFormat::RGBA_ASTC_10x6;
413 case QQuick3DTextureData::ASTC_10x8:
414 return QSSGRenderTextureFormat::RGBA_ASTC_10x8;
415 case QQuick3DTextureData::ASTC_10x10:
416 return QSSGRenderTextureFormat::RGBA_ASTC_10x10;
417 case QQuick3DTextureData::ASTC_12x10:
418 return QSSGRenderTextureFormat::RGBA_ASTC_12x10;
419 case QQuick3DTextureData::ASTC_12x12:
420 return QSSGRenderTextureFormat::RGBA_ASTC_12x12;
422 return QSSGRenderTextureFormat::RGBA8;
429QSSGRenderGraphObject *QQuick3DTextureData::updateSpatialNode(QSSGRenderGraphObject *node)
431 Q_D(QQuick3DTextureData);
434 node =
new QSSGRenderTextureData();
436 QQuick3DObject::updateSpatialNode(node);
437 auto *textureData =
static_cast<QSSGRenderTextureData*>(node);
439 bool changed =
false;
442 if (d->textureDataDirty) {
443 d->textureDataDirty =
false;
444 textureData->setTextureData(d->textureData);
449 if (d->size != textureData->size()) {
450 textureData->setSize(d->size);
454 if (d->depth != textureData->depth()) {
455 textureData->setDepth(d->depth);
459 QSSGRenderTextureFormat format = convertToBackendFormat(d->format);
460 if (format != textureData->format()) {
461 textureData->setFormat(format);
465 if (d->hasTransparency != textureData->hasTransparency()) {
466 textureData->setHasTransparency(d->hasTransparency);
471 emit textureDataNodeDirty();
473 DebugViewHelpers::ensureDebugObjectName(textureData,
this);
static QSSGRenderTextureFormat::Format convertToBackendFormat(QQuick3DTextureData::Format format)