QQuickRenderTarget Class

QQuickRenderTarget 클래스는 렌더링 대상을 지정하는 네이티브 그래픽 리소스 및 관련 메타데이터를 위한 불투명 컨테이너를 제공합니다. 더 보기...

헤더: #include <QQuickRenderTarget>
CMake: find_package(Qt6 REQUIRED COMPONENTS Quick)
target_link_libraries(mytarget PRIVATE Qt6::Quick)
qmake: QT += quick
이후: Qt 6.0

공용 형

(since 6.8) enum class Flag { MultisampleResolve }
flags Flags

공용 함수

QQuickRenderTarget()
~QQuickRenderTarget()
(since 6.8) QRhiTexture *depthTexture() const
(since 6.3) qreal devicePixelRatio() const
bool isNull() const
(since 6.4) bool mirrorVertically() const
(since 6.8) void setDepthTexture(QRhiTexture *texture)
(since 6.3) void setDevicePixelRatio(qreal ratio)
(since 6.4) void setMirrorVertically(bool enable)

정적 공용 멤버

(since 6.4) QQuickRenderTarget fromD3D11Texture(void *texture, uint format, const QSize &pixelSize, int sampleCount = 1)
QQuickRenderTarget fromD3D11Texture(void *texture, const QSize &pixelSize, int sampleCount = 1)
(since 6.8) QQuickRenderTarget fromD3D11Texture(void *texture, uint format, QSize pixelSize, int sampleCount, QQuickRenderTarget::Flags flags)
(since 6.6) QQuickRenderTarget fromD3D12Texture(void *texture, int resourceState, uint format, const QSize &pixelSize, int sampleCount = 1)
(since 6.8) QQuickRenderTarget fromD3D12Texture(void *texture, int resourceState, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
(since 6.4) QQuickRenderTarget fromMetalTexture(MTLTexture *texture, uint format, const QSize &pixelSize, int sampleCount = 1)
QQuickRenderTarget fromMetalTexture(MTLTexture *texture, const QSize &pixelSize, int sampleCount = 1)
(since 6.8) QQuickRenderTarget fromMetalTexture(MTLTexture *texture, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
(since 6.2) QQuickRenderTarget fromOpenGLRenderBuffer(uint renderbufferId, const QSize &pixelSize, int sampleCount = 1)
(since 6.4) QQuickRenderTarget fromOpenGLTexture(uint textureId, uint format, const QSize &pixelSize, int sampleCount = 1)
QQuickRenderTarget fromOpenGLTexture(uint textureId, const QSize &pixelSize, int sampleCount = 1)
(since 6.8) QQuickRenderTarget fromOpenGLTexture(uint textureId, uint format, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
(since 6.4) QQuickRenderTarget fromPaintDevice(QPaintDevice *device)
(since 6.6) QQuickRenderTarget fromRhiRenderTarget(QRhiRenderTarget *renderTarget)
(since 6.4) QQuickRenderTarget fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, const QSize &pixelSize, int sampleCount = 1)
QQuickRenderTarget fromVulkanImage(VkImage image, VkImageLayout layout, const QSize &pixelSize, int sampleCount = 1)
(since 6.8) QQuickRenderTarget fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, VkFormat viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)
bool operator!=(const QQuickRenderTarget &a, const QQuickRenderTarget &b)
bool operator==(const QQuickRenderTarget &a, const QQuickRenderTarget &b)

상세 설명

QQuickWindow::setRenderTarget() 및 QQuickGraphicsDevice참조하세요 .

멤버 유형 문서

[since 6.8] enum 클래스 QQuickRenderTarget::Flag
플래그 QQuickRenderTarget::Flags

정적 QQuickRenderTarget 생성자 함수에 대한 플래그입니다.

ConstantValue설명
QQuickRenderTarget::Flag::MultisampleResolve0x01sampleCount 인수가 제공된 텍스처의 샘플 수가 아니라(그리고 텍스처가 여전히 멀티샘플이 아닌 텍스처인 경우) 멀티샘플 안티앨리어싱을 위해 원하는 샘플임을 나타냅니다. 애플리케이션에 투명하게 표시되는 중간 멀티샘플 텍스처(또는 텍스처 배열)를 컬러 버퍼로 자동 생성하고 관리하도록 트리거합니다. 샘플은 렌더링 패스가 끝날 때 제공된 텍스처로 자동으로 해결됩니다. 이 플래그가 설정되어 있지 않고 sampleCount 인수가 1보다 크면 제공된 텍스처가 멀티샘플임을 의미합니다. sampleCount 인수가 1이면 플래그는 아무런 영향을 미치지 않습니다(멀티샘플링이 포함되지 않았음을 나타냄).

이 열거형은 Qt 6.8에 도입되었습니다.

Flags 유형은 QFlags<Flag>에 대한 typedef입니다. 플래그 값의 OR 조합을 저장합니다.

멤버 함수 문서

QQuickRenderTarget::QQuickRenderTarget()

네이티브 오브젝트를 참조하지 않는 기본 QQuickRenderTarget을 생성합니다.

[noexcept] QQuickRenderTarget::~QQuickRenderTarget()

파괴자.

[since 6.8] QRhiTexture *QQuickRenderTarget::depthTexture() const

현재 설정된 깊이 텍스처 또는 대부분의 경우 nullptr 를 반환합니다.

이 값은 setDepthTexture()가 호출되었을 때만 null이 아닙니다.

이 함수는 Qt 6.8에 도입되었습니다.

setDepthTexture()도 참조하십시오 .

[since 6.3] qreal QQuickRenderTarget::devicePixelRatio() const

렌더링 대상의 디바이스 픽셀 비율을 반환합니다. 이는 디바이스 픽셀과 디바이스 독립 픽셀 사이의 비율입니다.

기본 디바이스 픽셀 비율은 1.0입니다.

이 함수는 Qt 6.3에 도입되었습니다.

setDevicePixelRatio()도 참조하십시오 .

[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromD3D11Texture(void *texture, uint format, const QSize &pixelSize, int sampleCount = 1)

texture 에 지정된 D3D11 텍스처 객체를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

format 텍스처의 DXGI_FORMAT을 지정합니다. Qt의 렌더링 인프라에서 지원되는 텍스처 포맷만 사용해야 합니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우 깊이 스텐실 버퍼가 자동으로 생성되어 사용됩니다.

참고: 결과 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.4에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static] QQuickRenderTarget QQuickRenderTarget::fromD3D11Texture(void *texture, const QSize &pixelSize, int sampleCount = 1)

이 함수는 오버로드된 함수입니다.

texture 에 지정된 D3D11 텍스처 오브젝트를 참조하는 새로운 QQuickRenderTarget 을 반환합니다. 텍스처의 형식은 DXGI_FORMAT_R8G8B8A8_UNORM으로 가정합니다.

pixelSize 는 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우 깊이 스텐실 버퍼가 자동으로 생성되어 사용됩니다.

참고: 결과 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하세요 .

[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromD3D11Texture(void *texture, uint format, QSize pixelSize, int sampleCount, QQuickRenderTarget::Flags flags)

이 함수는 오버로드된 함수입니다.

texture 에 지정된 D3D11 텍스처 오브젝트를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

format 텍스처의 DXGI_FORMAT을 지정합니다. Qt의 렌더링 인프라에서 지원되는 텍스처 포맷만 사용해야 합니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 flagsMultisampleResolve 이 포함된 경우를 제외하고 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다. 이 경우 texture 은 멀티샘플이 아닌 2D 텍스처로 간주되며 sampleCount 은 원하는 샘플 수를 정의합니다. 결과 QQuickRenderTarget 은 자동으로 생성된 중간 멀티샘플 텍스처를 색상 어태치먼트로 사용하고 샘플을 texture 으로 해결합니다. 네이티브 텍스처가 아직 멀티샘플이 아닌 경우 MSAA를 수행하는 데 권장되는 접근 방식입니다.

이 텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 뎁스 스텐실 버퍼(해당되는 경우)가 자동으로 생성되어 사용됩니다. 컬러 버퍼가 멀티샘플인 경우 뎁스 스텐실 버퍼도 자동으로 멀티샘플이 됩니다.

참고: 결과 QQuickRenderTarget 에는 기본 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.8에 도입되었습니다.

QQuickWindow::setRenderTarget(), QQuickRenderControl, 및 fromD3D11Texture()도 참조하세요 .

[static, since 6.6] QQuickRenderTarget QQuickRenderTarget::fromD3D12Texture(void *texture, int resourceState, uint format, const QSize &pixelSize, int sampleCount = 1)

texture 에 지정된 D3D12 텍스처 오브젝트를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

resourceState 리소스의 현재 상태를 지정하는 D3D12_RESOURCE_STATES의 비트가 포함된 유효한 비트마스크여야 합니다.

format 는 텍스처의 DXGI_FORMAT을 지정합니다. Qt의 렌더링 인프라에서 지원하는 텍스처 포맷만 사용해야 합니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우 깊이 스텐실 버퍼가 자동으로 생성되어 사용됩니다.

참고: 결과 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.6에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromD3D12Texture(void *texture, int resourceState, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)

이 함수는 오버로드된 함수입니다.

texture 에 지정된 D3D12 2D 텍스처 또는 2D 텍스처 배열 객체를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

resourceState 리소스의 현재 상태를 지정하는 D3D12_RESOURCE_STATES의 비트가 포함된 유효한 비트마스크여야 합니다.

format 텍스처의 DXGI_FORMAT을 지정합니다. Qt의 렌더링 인프라에서 지원하는 텍스처 포맷만 사용해야 합니다.

viewFormat 는 렌더 타깃 뷰(RTV)에 사용되는 DXGI_FORMAT입니다. 종종 format 와 동일합니다. 드라이버에서 완화된 형식 캐스팅을 지원하는 경우에만 작동하며, 그렇지 않으면 인수가 무시됩니다. 실제로는 Windows 10 1703 이상에서 항상 지원될 것으로 예상됩니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처와 2D 텍스처 배열만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 flagsMultisampleResolve 이 포함된 경우를 제외하고 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다. 이 경우 texture 은 멀티샘플이 아닌 2D 텍스처 또는 2D 텍스처 배열로 간주되며 sampleCount 은 원하는 샘플 수를 정의합니다. 결과 QQuickRenderTarget 은 자동으로 생성된 중간 멀티샘플 텍스처(또는 텍스처 배열)를 색상 어태치먼트로 사용하고 샘플을 texture 으로 해결합니다. 네이티브 D3D12 텍스처가 아직 멀티샘플이 아닌 경우 MSAA를 수행하는 데 권장되는 방식입니다.

배열 요소(레이어)의 수는 arraySize 에서 제공됩니다. 1보다 크면 멀티뷰 렌더링(뷰 인스턴싱)을 의미하며, 특히 VR/AR과 관련이 있을 수 있습니다. arraySize 은 뷰 수이며, 일반적으로 2 입니다. Qt Quick 시나리오 내에서 멀티뷰 렌더링을 활성화하는 방법에 대한 자세한 내용은 QSGMaterial::viewCount()를 참조하세요.

텍스처는 Qt Quick 시나리오 그래프에서 사용하는 렌더 타겟의 첫 번째 색상 어태치먼트로 사용됩니다. 뎁스 스텐실 버퍼(해당되는 경우)가 자동으로 생성되어 사용됩니다. 컬러 버퍼가 멀티샘플인 경우 뎁스 스텐실 버퍼도 자동으로 멀티샘플이 됩니다. 멀티뷰 렌더링의 경우 뎁스 스텐실 텍스처는 자동으로 arraySize 와 일치하는 배열로 만들어집니다.

참고: 결과물인 QQuickRenderTarget 에는 네이티브 리소스가 없으며, 단지 크기와 샘플 수에 대한 참조와 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하는지 확인하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.8에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromMetalTexture(MTLTexture *texture, uint format, const QSize &pixelSize, int sampleCount = 1)

texture 에 지정된 Metal 텍스처 오브젝트를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

format 텍스처의 MTLPixelFormat을 지정합니다. Qt의 렌더링 인프라에서 지원되는 텍스처 포맷만 사용해야 합니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우 깊이 스텐실 버퍼가 자동으로 생성되어 사용됩니다.

참고: 결과물인 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.4에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static] QQuickRenderTarget QQuickRenderTarget::fromMetalTexture(MTLTexture *texture, const QSize &pixelSize, int sampleCount = 1)

이 함수는 오버로드된 함수입니다.

texture 에 지정된 Metal 텍스처 오브젝트를 참조하는 새로운 QQuickRenderTarget 을 반환합니다. 텍스처의 형식은 MTLPixelFormatRGBA8Unorm으로 가정합니다.

pixelSize 는 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우 깊이 스텐실 버퍼가 자동으로 생성되어 사용됩니다.

참고: 결과 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하세요 .

[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromMetalTexture(MTLTexture *texture, uint format, uint viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)

이 함수는 오버로드된 함수입니다.

texture 에 지정된 Metal 2D 텍스처 또는 2D 텍스처 배열을 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

format 텍스처의 MTLPixelFormat을 지정합니다. Qt의 렌더링 인프라에서 지원되는 텍스처 포맷만 사용해야 합니다.

viewFormat 는 일반적으로 format 와 같은 값으로 설정됩니다. _SRGB 형식의 텍스처로 렌더링할 때 셰이더 쓰기 시 암시적인 선형->sRGB 변환을 원하지 않는 경우와 같이 일부 경우에는 값이 다를 수 있습니다. 그러나 런타임에 QRhi 에서 QRhi::TextureViewFormat 기능이 지원되지 않는다고 보고하면 이 값은 Qt에서 무시될 수 있다는 점에 유의하세요.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처와 2D 텍스처 배열만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 flagsMultisampleResolve 이 포함된 경우를 제외하고 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다. 이 경우 texture 은 멀티샘플이 아닌 2D 텍스처 또는 2D 텍스처 배열로 간주되며 sampleCount 은 원하는 샘플 수를 정의합니다. 결과 QQuickRenderTarget 은 자동으로 생성된 중간 멀티샘플 텍스처(또는 텍스처 배열)를 색상 어태치먼트로 사용하고 샘플을 texture 으로 해결합니다. 네이티브 메탈 텍스처가 아직 멀티샘플이 아닌 경우 MSAA를 수행하는 데 권장되는 방식입니다.

배열 요소(레이어)의 수는 arraySize 에서 제공됩니다. 1보다 크면 멀티뷰 렌더링을 의미하며, 특히 VR/AR과 관련이 있을 수 있습니다. arraySize 은 뷰 수이며, 일반적으로 2 입니다. Qt Quick 시나리오에서 멀티뷰 렌더링을 활성화하는 방법에 대한 자세한 내용은 QSGMaterial::viewCount()를 참조하세요.

텍스처는 Qt Quick 시나리오 그래프에서 사용하는 렌더 타겟의 첫 번째 색상 어태치먼트로 사용됩니다. 뎁스 스텐실 버퍼(해당되는 경우)가 자동으로 생성되어 사용됩니다. 컬러 버퍼가 멀티샘플인 경우 뎁스 스텐실 버퍼도 자동으로 멀티샘플이 됩니다. 멀티뷰 렌더링의 경우 뎁스 스텐실 텍스처는 자동으로 arraySize 와 일치하는 배열로 만들어집니다.

참고: 결과물인 QQuickRenderTarget 에는 네이티브 리소스가 없으며, 단지 크기와 샘플 수에 대한 참조와 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하는지 확인하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.8에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static, since 6.2] QQuickRenderTarget QQuickRenderTarget::fromOpenGLRenderBuffer(uint renderbufferId, const QSize &pixelSize, int sampleCount = 1)

renderbufferId 에 지정된 OpenGL 렌더버퍼 객체를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

렌더버퍼는 내부 프레임버퍼 객체에 대한 색상 어태치먼트로 사용됩니다. 이 함수는 애플리케이션에서 생성한 렌더버퍼를 타겟팅할 수 있도록 하기 위해 제공되며, 그 밑에 EGLImageKHR과 같은 외부 버퍼가 있습니다. 애플리케이션이 glEGLImageTargetRenderbufferStorageOES를 호출하면 렌더버퍼를 이 함수에 전달할 수 있습니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 렌더버퍼임을 나타냅니다.

참고: 결과 QQuickRenderTarget 은 네이티브 리소스를 소유하지 않으며, 단지 크기와 샘플 수에 대한 참조와 관련 메타데이터만 포함합니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.2에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromOpenGLTexture(uint textureId, uint format, const QSize &pixelSize, int sampleCount = 1)

textureId 에 지정된 OpenGL 텍스처 객체를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

format 는 텍스처의 네이티브 내부 형식을 지정합니다. Qt의 렌더링 인프라에서 지원되는 텍스처 포맷만 사용해야 합니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 뎁스 스텐실 버퍼(해당되는 경우)가 자동으로 생성되어 사용됩니다.

OpenGL 객체 이름 textureIdQt Quick 시나리오 그래프에서 사용하는 렌더링 컨텍스트에서 유효한 이름이어야 합니다.

참고: 결과물인 QQuickRenderTarget 에는 네이티브 리소스가 없으며, 크기와 샘플 수에 대한 참조와 관련 메타데이터만 포함되어 있을 뿐입니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.4에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static] QQuickRenderTarget QQuickRenderTarget::fromOpenGLTexture(uint textureId, const QSize &pixelSize, int sampleCount = 1)

이것은 오버로드된 함수입니다.

textureId 에 지정된 OpenGL 텍스처 객체를 참조하는 새로운 QQuickRenderTarget 을 반환합니다. 텍스처의 형식은 GL_RGBA(GL_RGBA8)로 가정합니다.

pixelSize 는 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 뎁스 스텐실 버퍼(해당되는 경우)가 자동으로 생성되어 사용됩니다.

OpenGL 객체 이름 textureIdQt Quick 시나리오 그래프에서 사용하는 렌더링 컨텍스트에서 유효한 이름이어야 합니다.

참고: 결과물인 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하는지 확인하는 것은 호출자의 책임입니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하세요 .

[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromOpenGLTexture(uint textureId, uint format, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)

이 함수는 오버로드된 함수입니다.

textureId 에 지정된 OpenGL 2D 텍스처 또는 텍스처 배열 객체를 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

format 텍스처의 네이티브 내부 포맷을 지정합니다. Qt의 렌더링 인프라에서 지원되는 텍스처 포맷만 사용해야 합니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처와 2D 텍스처 배열만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 flagsMultisampleResolve 이 포함된 경우를 제외하고 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다. 이 경우 textureId 은 멀티샘플이 아닌 2D 텍스처 또는 2D 텍스처 배열로 간주되며 sampleCount 은 원하는 샘플 수를 정의합니다. 결과 QQuickRenderTarget 은 자동으로 생성된 중간 멀티샘플 텍스처(또는 텍스처 배열)를 색상 어태치먼트로 사용하고 샘플을 textureId 으로 해결합니다. 네이티브 OpenGL 텍스처가 아직 멀티샘플이 아닌 경우 MSAA를 수행하는 데 권장되는 방식입니다.

arraySize 이 1보다 크면 멀티뷰 렌더링(GL_OVR_multiview, QRhiColorAttachment::setMultiViewCount())을 의미하며, 이는 특히 VR/AR과 관련이 있을 수 있습니다. 이 경우 arraySize 는 일반적으로 2 의 뷰 수입니다. Qt Quick 시나리오 그래프 내에서 멀티뷰 렌더링을 활성화하는 방법에 대한 자세한 내용은 QSGMaterial::viewCount()를 참조하세요.

뎁스 스텐실 버퍼(해당되는 경우)가 자동으로 생성되어 사용됩니다. 컬러 버퍼가 멀티샘플인 경우 뎁스 스텐실 버퍼도 자동으로 멀티샘플이 됩니다. 멀티뷰 렌더링의 경우 뎁스 스텐실 텍스처는 자동으로 arraySize 와 일치하는 배열로 만들어집니다.

OpenGL 객체 이름 textureIdQt Quick 시나리오에서 사용하는 렌더링 컨텍스트에서 유효한 2D 텍스처 이름이어야 합니다. arraySize 이 1보다 큰 경우 textureId 은 유효한 2D 텍스처 배열 이름이어야 합니다.

참고: 결과 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함됩니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

참고: 이 오버로드의 구현은 OpenGL ES 2.0 또는 3.0과 호환되지 않으며, 최소한 OpenGL ES 3.1이 필요합니다. (또는 데스크톱의 경우 OpenGL 3.0)

이 기능은 Qt 6.8에 도입되었습니다.

QQuickWindow::setRenderTarget(), QQuickRenderControl, 및 fromOpenGLTexture()도 참조하세요 .

[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromPaintDevice(QPaintDevice *device)

device 에 지정된 페인트 장치 객체를 참조하는 새 QQuickRenderTarget 를 반환합니다.

렌더링을 QPaintDevice 로 리디렉션하는 이 옵션은 Qt Quicksoftware 백엔드로 실행할 때만 사용할 수 있습니다.

참고: QQuickRenderTargetdevice 의 소유권을 가지지 않으며, 필요한 만큼 객체가 존재하는지 확인하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.4에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl도 참조하십시오 .

[static, since 6.6] QQuickRenderTarget QQuickRenderTarget::fromRhiRenderTarget(QRhiRenderTarget *renderTarget)

기존 renderTarget 을 참조하는 새로운 QQuickRenderTarget 을 반환합니다.

renderTarget 대부분의 경우 Qt Quick 씬의 렌더링을 QRhiTexture 로 지정할 수 있는 QRhiTextureRenderTarget 이 됩니다.

참고: 결과 QQuickRenderTargetrenderTarget 및 기본 네이티브 리소스를 소유하지 않으며, 단지 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함합니다. 참조된 리소스가 필요한 기간 동안 존재하는지 확인하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.6에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static, since 6.4] QQuickRenderTarget QQuickRenderTarget::fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, const QSize &pixelSize, int sampleCount = 1)

image 에 지정된 벌칸 이미지 객체를 참조하는 새 QQuickRenderTarget 를 반환합니다. 이미지의 현재 layout 도 제공해야 합니다.

format 는 이미지의 VkFormat을 지정합니다. Qt의 렌더링 인프라에서 지원되는 이미지 포맷만 사용해야 합니다.

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

이 이미지는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우 깊이 스텐실 버퍼가 자동으로 생성되어 사용됩니다.

참고: 결과 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.4에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

[static] QQuickRenderTarget QQuickRenderTarget::fromVulkanImage(VkImage image, VkImageLayout layout, const QSize &pixelSize, int sampleCount = 1)

이것은 오버로드된 함수입니다.

image 에 지정된 벌칸 이미지 객체를 참조하는 새로운 QQuickRenderTarget 을 반환합니다. 이미지의 형식은 VK_FORMAT_R8G8B8A8_UNORM으로 가정합니다.

pixelSize 는 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다.

텍스처는 Qt Quick 시나리오에서 사용하는 렌더링 대상의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우 깊이 스텐실 버퍼가 자동으로 생성되어 사용됩니다.

참고: 결과 QQuickRenderTarget 에는 네이티브 리소스가 없으며 크기와 샘플 수에 대한 참조 및 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하도록 하는 것은 호출자의 책임입니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하세요 .

[static, since 6.8] QQuickRenderTarget QQuickRenderTarget::fromVulkanImage(VkImage image, VkImageLayout layout, VkFormat format, VkFormat viewFormat, QSize pixelSize, int sampleCount, int arraySize, QQuickRenderTarget::Flags flags)

이것은 오버로드된 함수입니다.

image 에 지정된 벌칸 이미지 객체를 참조하는 새 QQuickRenderTarget 를 반환합니다. 이미지의 현재 layout 도 제공해야 합니다. 이미지는 2D 텍스처 또는 2D 텍스처 배열이어야 합니다.

format 는 이미지의 VkFormat을 지정합니다. Qt의 렌더링 인프라에서 지원되는 이미지 포맷만 사용해야 합니다.

viewFormat 는 일반적으로 format 와 같은 값으로 설정됩니다. _SRGB 형식의 텍스처로 렌더링할 때 셰이더 쓰기 시 암시적인 선형->sRGB 변환을 원하지 않는 경우와 같이 일부 경우에는 값이 다를 수 있습니다. (예: VK_FORMAT_R8G8B8A8_SRGBformatviewFormatVK_FORMAT_R8G8B8A8_UNORM).

pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재 2D 텍스처만 지원됩니다.

sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4 또는 8과 같은 값은 flagsMultisampleResolve 이 포함된 경우를 제외하고 네이티브 오브젝트가 멀티샘플 텍스처임을 나타냅니다. 이 경우 image 은 멀티샘플이 아닌 2D 텍스처 또는 2D 텍스처 배열로 간주되며 sampleCount 은 원하는 샘플 수를 정의합니다. 결과 QQuickRenderTarget 은 자동으로 생성된 중간 멀티샘플 텍스처(또는 텍스처 배열)를 색상 어태치먼트로 사용하고 샘플을 image 으로 해결합니다. 네이티브 벌칸 이미지가 아직 멀티샘플이 아닌 경우 MSAA를 수행하는 데 권장되는 방식입니다.

배열 요소(레이어)의 수는 arraySize 에서 제공됩니다. 1보다 크면 멀티뷰 렌더링(VK_KHR_multiview)을 의미하며, 특히 VR/AR과 관련이 있을 수 있습니다. arraySize 는 뷰 수로, 일반적으로 2 입니다. Qt Quick 시나리오 내에서 멀티뷰 렌더링을 활성화하는 방법에 대한 자세한 내용은 QSGMaterial::viewCount()를 참조하세요.

텍스처는 Qt Quick 시나리오 그래프에서 사용하는 렌더 타겟의 첫 번째 색상 어태치먼트로 사용됩니다. 뎁스 스텐실 버퍼(해당되는 경우)가 자동으로 생성되어 사용됩니다. 컬러 버퍼가 멀티샘플인 경우 뎁스 스텐실 버퍼도 자동으로 멀티샘플이 됩니다. 멀티뷰 렌더링의 경우 뎁스 스텐실 텍스처는 자동으로 arraySize 와 일치하는 배열로 만들어집니다.

참고: 결과물인 QQuickRenderTarget 에는 네이티브 리소스가 없으며, 단지 크기와 샘플 수에 대한 참조와 관련 메타데이터만 포함되어 있습니다. 네이티브 리소스가 필요한 기간 동안 존재하는지 확인하는 것은 호출자의 책임입니다.

이 함수는 Qt 6.8에 도입되었습니다.

QQuickWindow::setRenderTarget() 및 QQuickRenderControl참조하십시오 .

bool QQuickRenderTarget::isNull() const

기본 객체를 참조하지 않고 QQuickRenderTarget 기본 구성인 경우 true를 반환합니다.

[since 6.4] bool QQuickRenderTarget::mirrorVertically() const

반환값 렌더링 타깃이 세로로 미러링되는지 여부를 반환합니다.

기본값은 false 입니다.

이 함수는 Qt 6.4에 도입되었습니다.

setMirrorVertically()도 참조하십시오 .

[since 6.8] void QQuickRenderTarget::setDepthTexture(QRhiTexture *texture)

주어진 texture 을 깊이 또는 깊이 스텐실 버퍼로 사용하여 요청합니다. texture 의 소유권은 가져오지 않습니다.

요청은 관련성이 있을 때만 고려됩니다. 예를 들어 fromRhiRenderTarget(), fromPaintDevice() 또는 fromOpenGLRenderBuffer()와 함께 이 함수를 호출해도 아무런 영향을 미치지 않습니다.

일반적으로 뎁스-스텐실 버퍼는 QQuickRenderTarget 사용자에게 투명하게 자동으로 생성되므로 QQuickRenderTarget 으로 작업할 때 대부분의 경우 이 함수를 호출할 필요가 없습니다. 그러나 특별한 상황에서는 Qt Quick 이 자체 중간 텍스처나 버퍼를 생성하도록 하는 대신 뎁스(또는 뎁스와 스텐실) 데이터를 렌더링할 텍스처를 제공하는 것이 필수적일 수 있습니다. 이에 대한 예로 OpenXR과 그 확장 기능인 XR_KHR_composition_layer_depth를 들 수 있습니다. 뎁스 버퍼를 XR 컴포지터에 "제출"하려면 실제로는 OpenXR에서 이미 생성된 뎁스(뎁스 스텐실) 텍스처를 가져와서(XrSwapchain에서) 뎁스 데이터의 렌더 타깃으로 사용해야 합니다. 이 기능이 없었다면 불가능했을 것입니다.

참고: texture 은 항상 멀티샘플이 아닌 2D 텍스처 또는 텍스처 배열(멀티뷰용)로 예상됩니다. MSAA가 포함된 경우 샘플은 MultisampleResolve 플래그 설정 여부에 관계없이 렌더링 패스가 끝날 때 texture 로 리졸브됩니다. MSAA는 기본 3D API가 이를 지원하는 경우에만 깊이(깊이 스텐실) 텍스처에 지원되며, 이 지원은 보편적으로 제공되지 않습니다. 자세한 내용은 the relevant QRhi feature flag 을 참조하세요. 이 기능이 지원되지 않고 사용자 지정 깊이 텍스처와 함께 멀티샘플링이 요청되면 렌더링 중에 texture 이 터치되지 않고 경고가 인쇄됩니다.

참고: OpenGL 및 OpenGL ES의 경우 뎁스 텍스처 사용은 OpenGL ES 2.0에서 작동하지 않으며 최소 OpenGL ES 3.0이 필요합니다. 멀티샘플(MSAA) 지원은 데스크톱에서 OpenGL ES 3.1 또는 OpenGL 3.0 이상이 없으면 사용할 수 없습니다.

이 기능은 Qt 6.8에 도입되었습니다.

depthTexture()도 참조하세요 .

[since 6.3] void QQuickRenderTarget::setDevicePixelRatio(qreal ratio)

이 렌더링 대상의 디바이스 픽셀 비율을 ratio 로 설정합니다. 이는 디바이스 픽셀과 디바이스 독립 픽셀 사이의 비율입니다.

QQuickRenderControl::renderWindow()를 다시 구현하여 유효한 QWindow 을 반환하면 지정된 디바이스 픽셀 비율 값은 무시됩니다.

이 함수는 Qt 6.3에 도입되었습니다.

devicePixelRatio()도 참조하십시오 .

[since 6.4] void QQuickRenderTarget::setMirrorVertically(bool enable)

렌더링 대상 콘텐츠의 크기를 그릴 때 enable 에 세로로 미러링하도록 설정합니다. 이렇게 하면 표준 기대치를 따르지 않는 타사 렌더링 코드를 쉽게 통합할 수 있습니다.

참고: software 백엔드를 사용할 때는 이 함수를 사용해서는 안 됩니다.

이 함수는 Qt 6.4에 도입되었습니다.

mirrorVertically()도 참조하세요 .

관련 비회원

[noexcept] bool operator!=(const QQuickRenderTarget &a, const QQuickRenderTarget &b)

ab 가 서로 다른 네이티브 개체 집합을 참조하거나 관련 데이터(크기, 샘플 수)가 일치하지 않는 경우 true를 반환합니다.

[noexcept] bool operator==(const QQuickRenderTarget &a, const QQuickRenderTarget &b)

ab 가 동일한 네이티브 객체 집합을 참조하고 일치하는 관련 데이터(크기, 샘플 수)가 있는 경우 true를 반환합니다.

© 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.