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부터 |
공개 타입
공개 함수
| 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 class QQuickRenderTarget::Flag
flags QQuickRenderTarget::Flags
QQuickRenderTarget 의 정적 생성자 함수에 대한 플래그입니다.
| 상수 | 값 | 설명 |
|---|---|---|
QQuickRenderTarget::Flag::MultisampleResolve | 0x01 | sampleCount 인자가 제공된 텍스처의 샘플 수가 아니라(즉, 텍스처가 여전히 비멀티샘플 텍스처임), 멀티샘플 앤티앨리어싱에 필요한 샘플 수임을 나타냅니다. 이 플래그가 설정되면 애플리케이션에 노출되지 않은 상태에서 중간 멀티샘플 텍스처(또는 텍스처 배열)가 색상 버퍼로 자동 생성 및 관리됩니다. 샘플은 렌더링 패스가 끝날 때 제공된 텍스처로 자동으로 해결됩니다. 이 플래그가 설정되지 않았고 ` sampleCount ` 인수가 1보다 큰 경우, 제공된 텍스처가 멀티샘플 텍스처임을 의미합니다. ` sampleCount `가 1인 경우(멀티샘플링이 포함되지 않음을 나타냄) 이 플래그는 아무런 영향을 미치지 않습니다. |
이 열거형은 Qt 6.8에서 도입되었습니다.
Flags 유형은 QFlags<Flag>에 대한 typedef입니다. 이 유형은 Flag 값들의 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 texture의 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 texture의 DXGI_FORMAT을 지정합니다. Qt의 렌더링 인프라에서 지원하는 텍스처 형식만 사용해야 합니다.
pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재는 2D 텍스처만 지원됩니다.
sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4나 8과 같은 값은 flags 에 MultisampleResolve 가 포함되어 있지 않은 경우, 네이티브 객체가 멀티샘플 텍스처임을 나타냅니다. 에 가 포함된 경우, 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 must는 D3D12_RESOURCE_STATES의 비트를 포함하는 유효한 비트 마스크여야 하며, 리소스의 현재 상태를 지정합니다.
format texture의 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 must는 D3D12_RESOURCE_STATES의 비트를 포함하는 유효한 비트 마스크여야 하며, 리소스의 현재 상태를 지정합니다.
format texture의 DXGI_FORMAT을 지정합니다. Qt의 렌더링 인프라에서 지원하는 텍스처 형식만 사용해야 합니다.
viewFormat render target view(RTV)에 사용되는 DXGI_FORMAT입니다. 대개 format 와 동일합니다. 드라이버에서 완화된 형식 변환(relaxed format casting )을 지원하는 경우에만 작동하며, 그렇지 않으면 이 인수는 무시됩니다. 실제로는 Windows 10 1703 및 그 이후 버전에서 항상 지원될 것으로 예상됩니다.
pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재는 2D 텍스처와 2D 텍스처 배열만 지원됩니다.
sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4나 8과 같은 값은 flags 에 MultisampleResolve 가 포함되어 있지 않은 경우를 제외하고, 네이티브 객체가 멀티샘플 텍스처임을 나타냅니다. 이 경우, ` 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 texture의 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 texture의 MTLPixelFormat을 지정합니다. Qt의 렌더링 인프라에서 지원하는 텍스처 형식만 사용해야 합니다.
viewFormat 일반적으로 ` format`과 동일한 값으로 설정됩니다. ` _SRGB ` 형식의 텍스처로 렌더링할 때 셰이더 쓰기 시 암시적인 linear->sRGB 변환을 원하지 않는 경우 등 일부 상황에서는 다른 값을 사용할 수 있습니다. 단, 실행 시 ` QRhi `에서 ` QRhi::TextureViewFormat ` 기능이 지원되지 않는다고 보고될 경우, Qt에서 이 값을 무시할 수 있다는 점에 유의하십시오.
pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재는 2D 텍스처와 2D 텍스처 배열만 지원됩니다.
sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4나 8과 같은 값은 flags 에 MultisampleResolve 가 포함되어 있는 경우를 제외하고, 네이티브 객체가 멀티샘플 텍스처임을 나타냅니다. 이 경우, ` texture `는 멀티샘플링이 적용되지 않은 2D 텍스처 또는 2D 텍스처 배열로 간주되며, ` sampleCount `가 원하는 샘플 수를 정의합니다. 결과적으로 생성된 QQuickRenderTarget 는 자동으로 생성된 중간 멀티샘플 텍스처(또는 텍스처 배열)를 색상 어태치먼트로 사용하며, 샘플을 texture 로 변환합니다. 이는 네이티브 Metal 텍스처가 이미 멀티샘플이 아닌 경우 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 를 반환합니다.
이 렌더버퍼는 내부 프레임버퍼 객체의 색상 부착물(color attachment)로 사용됩니다. 이 함수는 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 texture의 기본 내부 형식을 지정합니다. Qt의 렌더링 인프라에서 지원하는 텍스처 형식만 사용해야 합니다.
pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재는 2D 텍스처만 지원됩니다.
sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4나 8과 같은 값은 네이티브 객체가 멀티샘플 텍스처임을 나타냅니다.
이 텍스처는 Qt Quick 시네그래프에서 사용하는 렌더 타겟의 첫 번째 색상 어태치먼트로 사용됩니다. 해당되는 경우, 뎁스-스텐실 버퍼가 자동으로 생성되어 사용됩니다.
OpenGL 객체 이름 ` textureId `는 ` Qt 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 객체 이름 ` textureId `는 ` Qt 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 texture의 기본 내부 형식을 지정합니다. Qt의 렌더링 인프라에서 지원하는 텍스처 형식만 사용해야 합니다.
pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재는 2D 텍스처와 2D 텍스처 배열만 지원됩니다.
sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4나 8과 같은 값은 flags 에 MultisampleResolve 가 포함되어 있지 않은 경우를 제외하고, 네이티브 객체가 멀티샘플 텍스처임을 나타냅니다. 이 경우, ` 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 객체 이름 ` textureId `는 ` Qt 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 Quick 의 software 백엔드로 실행할 때만 사용할 수 있습니다.
참고: QQuickRenderTarget 는 device 에 대한 소유권을 인수하지 않으므로, 필요한 기간 동안 객체가 존재하도록 보장하는 것은 호출자의 책임입니다.
이 함수는 Qt 6.4에서 도입되었습니다.
QQuickWindow::setRenderTarget() 및 QQuickRenderControl도 참조하십시오 .
[static, since 6.6] QQuickRenderTarget QQuickRenderTarget::fromRhiRenderTarget(QRhiRenderTarget *renderTarget)
기존의 renderTarget 를 참조하는 새로운 QQuickRenderTarget 를 반환합니다.
renderTarget 대부분의 경우 이 객체는 ` QRhiTextureRenderTarget`가 되며, 이를 통해 ` Qt Quick ` 장면의 렌더링 결과를 ` QRhiTexture`로 출력할 수 있습니다.
참고: 결과로 생성된 QQuickRenderTarget 은 renderTarget 및 그 기반이 되는 네이티브 리소스를 소유하지 않으며, 단지 참조와 크기 및 샘플 수에 대한 관련 메타데이터만을 포함합니다. 참조된 리소스가 필요한 기간 동안 존재하는지를 보장하는 것은 호출자의 책임입니다.
이 함수는 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 로 지정된 Vulkan 이미지 객체를 참조하는 새로운 ` 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 로 지정된 Vulkan 이미지 객체를 참조하는 새로운 ` 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 로 지정된 Vulkan 이미지 객체를 참조하는 새로운 ` QQuickRenderTarget `를 반환합니다. 이미지의 현재 ` layout `도 함께 제공되어야 합니다. 이미지는 2D 텍스처이거나 2D 텍스처 배열이어야 합니다.
format 이미지의 VkFormat을 지정합니다. Qt의 렌더링 인프라에서 지원하는 이미지 형식만 사용해야 합니다.
viewFormat 일반적으로 format 와 동일한 값으로 설정됩니다. _SRGB 형식의 텍스처로 렌더링할 때 셰이더 쓰기 시 암시적인 linear->sRGB 변환을 원하지 않는 경우 등 일부 상황에서는 값이 다를 수 있습니다. (예: format 이 VK_FORMAT_R8G8B8A8_SRGB 이고, viewFormat 이 VK_FORMAT_R8G8B8A8_UNORM 인 경우).
pixelSize 이미지의 크기를 픽셀 단위로 지정합니다. 현재는 2D 텍스처만 지원됩니다.
sampleCount 샘플 수를 지정합니다. 0 또는 1은 멀티샘플링이 없음을 의미하며, 4나 8과 같은 값은 flags 에 MultisampleResolve 가 포함되어 있는 경우를 제외하고, 네이티브 객체가 멀티샘플 텍스처임을 나타냅니다. 이 경우, ` image `는 멀티샘플이 아닌 2D 텍스처 또는 2D 텍스처 배열로 간주되며, ` sampleCount `는 원하는 샘플 수를 정의합니다. 결과로 생성된 QQuickRenderTarget 는 자동으로 생성된 중간 멀티샘플 텍스처(또는 텍스처 배열)를 색상 어태치먼트로 사용하며, 샘플을 image 로 변환합니다. 이는 네이티브 Vulkan 이미지가 이미 멀티샘플이 아닌 경우 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가 이를 지원하는 경우에만 깊이(depth-stencil) 텍스처에 대해 지원되며, 이러한 지원은 모든 환경에서 제공되는 것은 아닙니다. 자세한 내용은 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)
a 와 b 가 서로 다른 네이티브 객체 집합을 가리키거나, 관련 데이터(크기, 샘플 수)가 일치하지 않는 경우 true를 반환합니다.
[noexcept] bool operator==(const QQuickRenderTarget &a, const QQuickRenderTarget &b)
a 와 b 가 동일한 네이티브 객체 집합을 가리키고, 관련 데이터(크기, 샘플 수)가 일치하는 경우 true를 반환합니다.
© 2026 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.