QRhiTextureSubresourceUploadDescription Class

텍스처 업로드 작업에서 레이어에 있는 하나의 밉 레벨에 대한 소스를 설명합니다. 더 보기...

헤더: #include <rhi/qrhi.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS Gui)
target_link_libraries(mytarget PRIVATE Qt6::GuiPrivate)
qmake: QT += gui-private
이후: Qt 6.6

공용 함수

QRhiTextureSubresourceUploadDescription()
QRhiTextureSubresourceUploadDescription(const QByteArray &data)
QRhiTextureSubresourceUploadDescription(const QImage &image)
QRhiTextureSubresourceUploadDescription(const void *data, quint32 size)
QByteArray data() const
quint32 dataStride() const
QPoint destinationTopLeft() const
QImage image() const
void setData(const QByteArray &data)
void setDataStride(quint32 stride)
void setDestinationTopLeft(const QPoint &p)
void setImage(const QImage &image)
void setSourceSize(const QSize &size)
void setSourceTopLeft(const QPoint &p)
QSize sourceSize() const
QPoint sourceTopLeft() const

자세한 설명

소스 콘텐츠는 QImage 또는 원시 블롭으로 지정됩니다. 전자는 QImage 에 매핑할 수 있는 형식의 비압축 텍스처에만 허용되며, 후자는 부동 소수점 및 압축을 포함한 모든 형식에 대해 지원됩니다.

참고: image()와 data()는 동시에 설정할 수 없습니다.

destinationTopLeft()는 대상 사각형의 왼쪽 상단 모서리를 지정합니다. 기본값은 (0, 0)입니다.

비어 있는 sourceSize()(기본값)은 크기가 하위 리소스의 크기로 간주됨을 나타냅니다. QImage -기반 업로드의 경우 이는 소스 image()의 크기가 하위 리소스와 일치해야 함을 의미합니다. 대신 원시 데이터를 제공할 때는 data()에 충분한 바이트 수를 제공해야 합니다.

sourceTopLeft()는 QImage 기반 업로드에만 지원되며, 소스 사각형의 왼쪽 상단 모서리를 지정합니다.

참고: sourceSize() 또는 sourceTopLeft()를 설정하면 형식과 백엔드에 따라 내부적으로 QImage 사본이 트리거될 수 있습니다.

원시 데이터를 제공하고 setDataStride()를 통해 보폭을 지정하지 않은 경우, 제공된 데이터의 보폭(행 피치, 행 길이(바이트)는 width * pixelSize ( pixelSize 은 한 픽셀에 사용되는 바이트 수)와 같아야 하며 행 사이에 추가 패딩이 없어야 합니다. 행 시작 정렬 요건은 없습니다.

입력 원시 데이터의 각 행 끝에 사용되지 않은 데이터가 있는 경우 행당 총 바이트 수와 함께 setDataStride()를 호출합니다. 보폭은 항상 1픽셀의 바이트 수의 배수여야 합니다. 행 간격은 압축되지 않은 형식의 텍스처용 이미지 데이터에만 적용됩니다.

참고: 소스 데이터의 형식은 텍스처 형식과 호환되어야 합니다. 많은 그래픽 API에서 데이터는 스테이징 버퍼에 있는 그대로 복사되며 QRhi 에서 제공하는 중간 형식 변환은 없습니다. 이는 부동 소수점 형식에도 적용되며, 예를 들어 RGBA16F의 경우 소스 데이터에 반 부동 소수점이 필요합니다.

참고: setDataStride()를 통한 보폭 설정은 QRhi::ImageDataStridesupported 로 보고되는 경우에만 작동합니다. 실제로는 OpenGL ES 2.0을 제외한 모든 곳에서 지원될 것으로 예상할 수 있습니다.

참고: QImage 가 주어지면 QImage::bytesPerLine()에서 반환된 보폭이 자동으로 고려됩니다.

경고: QImage 이 주어지고 QImage 이 기본 픽셀 데이터를 소유하지 않는 경우, 관련 데이터가 프레임이 끝날 때까지 유효한지 확인하는 것은 호출자의 책임입니다. (리소스 업데이트 배치를 제출하는 것만으로는 충분하지 않으며, 모든 백엔드에서 이식성을 유지하려면 QRhi::endFrame()가 호출될 때까지 데이터가 유효해야 합니다.) 이것이 보장되지 않는 경우, 호출자는 업로드 텍스처()에 전달하기 전에 이미지에서 QImage::detach()를 호출할 것을 강력히 권장합니다.

참고: 이 API는 호환성이 제한적으로 보장되는 RHI API이며, 자세한 내용은 QRhi 을 참조하세요.

QRhiTextureUploadDescription참조하세요 .

멤버 함수 문서

[noexcept] QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription()

빈 서브리소스 설명을 생성합니다.

참고: 빈 QRhiTextureSubresourceUploadDescription은 그 자체로는 유용하지 않으며 QRhiTextureUploadEntry 에 제출해서는 안 됩니다. 최소 이미지 또는 데이터를 먼저 설정해야 합니다.

[explicit] QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription(const QByteArray &data)

data 에 지정된 이미지 데이터로 밉 레벨 설명을 작성합니다. 부동 소수점 및 압축 형식에도 적합합니다.

[explicit] QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription(const QImage &image)

image 로 밉 레벨 설명을 작성합니다.

imagesize 은 밉 레벨의 크기와 일치해야 합니다. 레벨 0의 경우 texture size.

image 의 비트 심도는 texture format 과 호환되어야 합니다.

부분 업로드를 설명하려면 setSourceSize(), setSourceTopLeft() 또는 setDestinationTopLeft()를 뒤에 호출합니다.

QRhiTextureSubresourceUploadDescription::QRhiTextureSubresourceUploadDescription(const void *data, quint32 size)

이미지 데이터로 밉 레벨 설명을 구성하는 방법은 datasize 으로 지정합니다. 이 함수는 부동 소수점 및 압축 형식에도 적합합니다.

data 이 함수가 반환되면 안전하게 소멸되거나 변경될 수 있습니다.

QByteArray QRhiTextureSubresourceUploadDescription::data() const

현재 설정된 원시 픽셀 데이터를 반환합니다.

setData()도 참조하세요 .

quint32 QRhiTextureSubresourceUploadDescription::dataStride() const

현재 설정된 데이터 보폭을 반환합니다.

setDataStride()도 참조하세요 .

QPoint QRhiTextureSubresourceUploadDescription::destinationTopLeft() const

현재 설정된 목적지 왼쪽 상단 위치를 반환합니다. 기본값은 (0, 0)입니다.

setDestinationTopLeft()도 참조하세요 .

QImage QRhiTextureSubresourceUploadDescription::image() const

현재 설정된 QImage 을 반환합니다.

setImage()도 참조하세요 .

void QRhiTextureSubresourceUploadDescription::setData(const QByteArray &data)

data 을 설정합니다.

참고: image()와 data()는 동시에 설정할 수 없습니다.

data()도 참조하세요 .

void QRhiTextureSubresourceUploadDescription::setDataStride(quint32 stride)

stride 데이터를 바이트 단위로 설정합니다. 기본적으로 이 값은 0이며 항상 관련성이 있는 것은 아닙니다. 원시 data()를 제공하고 setDataStride()를 통해 보폭을 지정하지 않은 경우 제공된 데이터의 보폭(행 피치, 행 길이(바이트)는 width * pixelSize 과 같아야 하며 pixelSize 은 한 픽셀에 사용되는 바이트 수이며 행 사이에 추가 패딩이 없어야 합니다. 그렇지 않으면 줄 사이에 추가 공백이 있는 경우 0이 아닌 stride 을 설정합니다. 이 모든 것은 원시 이미지 데이터가 제공된 경우에만 적용되며, QImage 작업 시에는 자체 stride 값이 있으므로 필요하지 않습니다.

참고: setDataStride()를 통해 보폭을 설정하는 것은 QRhi::ImageDataStridesupported 으로 보고된 경우에만 작동합니다.

참고: QImage 가 제공되면 QImage::bytesPerLine()에서 반환된 보폭이 자동으로 고려되므로 데이터 보폭을 수동으로 설정할 필요가 없습니다.

dataStride()도 참조하세요 .

void QRhiTextureSubresourceUploadDescription::setDestinationTopLeft(const QPoint &p)

대상 왼쪽 상단 위치를 설정합니다 p.

destinationTopLeft()도 참조하세요 .

void QRhiTextureSubresourceUploadDescription::setImage(const QImage &image)

설정 image. 텍스처가 로드될 때 형식 변환 없이 이미지 데이터를 그대로 읽습니다.

참고: image()와 data()는 동시에 설정할 수 없습니다.

image()도 참조하세요 .

void QRhiTextureSubresourceUploadDescription::setSourceSize(const QSize &size)

size 소스를 픽셀 단위로 설정합니다.

참고: sourceSize() 또는 sourceTopLeft()을 설정하면 형식과 백엔드에 따라 내부적으로 QImage 복사본이 트리거될 수 있습니다.

sourceSize()도 참조하세요 .

void QRhiTextureSubresourceUploadDescription::setSourceTopLeft(const QPoint &p)

소스 왼쪽 상단 위치 설정 p.

참고: sourceSize() 또는 sourceTopLeft()을 설정하면 형식과 백엔드에 따라 내부적으로 QImage 복사본이 트리거될 수 있습니다.

sourceTopLeft()도 참조하세요 .

QSize QRhiTextureSubresourceUploadDescription::sourceSize() const

소스 크기를 픽셀 단위로 반환합니다. 기본값은 전체 하위 리소스를 나타내는 기본 구성의 QSize 입니다.

setSourceSize()도 참조하세요 .

QPoint QRhiTextureSubresourceUploadDescription::sourceTopLeft() const

현재 설정된 소스 왼쪽 상단 위치를 반환합니다. 기본값은 (0, 0)입니다.

setSourceTopLeft()도 참조하세요 .

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.