이 페이지에서

QSSGRenderExtension Class

확장 백엔드 노드 구현을 위한 기본 클래스. 더 보기...

Header: #include <qssgrenderextensions.h>
Since: Qt 6.7
Inherited By:

QSSGRenderTextureProviderExtension

공개 유형

enum class RenderMode { Standalone, Main }
enum class RenderStage { PreColor, PostColor }

공개 함수

virtual QSSGRenderExtension::RenderMode mode() const = 0
virtual bool prepareData(QSSGFrameData &data) = 0
virtual void prepareRender(QSSGFrameData &data) = 0
virtual void render(QSSGFrameData &data) = 0
virtual void resetForFrame() = 0
virtual QSSGRenderExtension::RenderStage stage() const = 0

보호된 함수

QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)

상세 설명

QQuick3DRenderExtension도 참조하십시오 .

멤버 유형 설명

enum class QSSGRenderExtension::RenderMode

렌더링 확장 모드를 지정합니다.

상수값설명
QSSGRenderExtension::RenderMode::Standalone0렌더링 코드는 렌더링 준비 단계에서 전체가 기록됩니다. 이는 일반적으로 이전 렌더링 확장 기능(들)을 위해 생성된 출력물이 있음을 의미합니다. 이 모드를 사용할 경우, 프레임의 준비 단계에서 ` prepareRender()` 및 ` render()` 함수가 모두 호출됩니다.
QSSGRenderExtension::RenderMode::Main1렌더링 코드는 메인 렌더링 패스 내에서 기록됩니다. 이 모드에서는 prepareRender()이 프레임의 준비 단계에서 호출되는 반면, render()은 프레임의 렌더링 단계에서 호출됩니다.

enum class QSSGRenderExtension::RenderStage

확장 기능이 호출될 순서를 지정합니다.

상수값설명
QSSGRenderExtension::RenderStage::PreColor0렌더링 코드가 기록되어 메인(컬러) 패스 전에 실행됩니다.
QSSGRenderExtension::RenderStage::PostColor1렌더링 코드가 기록된 후 메인(컬러) 패스 후에 실행됩니다.

참고: RenderStage는 RenderMode 가 Main 로 설정된 경우에만 적용됩니다.

멤버 함수 설명서

[protected] QSSGRenderExtension::QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)

사용자가 확장 기능에 대한 사용자 정의 유형과 플래그를 지정할 수 있게 해주는 생성자입니다.

참고: 사용자 정의 확장 기능의 경우 , 유형은 QSSGRenderGraphObject::BaseType::User와 0에서 4095 사이의 값을 조합하여 지정해야 합니다.

참고: QSSGRenderGraphObject::BaseType::Extension유형은 지정된 inType 에 자동으로 추가됩니다.

참고: 확장 기능이 그래픽 리소스를 할당하는 경우,` inFlags `에는 `Flags::HasGraphicsResources`가 포함되어야 합니다.

[pure virtual] QSSGRenderExtension::RenderMode QSSGRenderExtension::mode() const

이 확장 기능에 사용되는 렌더링 모드를 반환합니다.

[pure virtual] bool QSSGRenderExtension::prepareData(QSSGFrameData &data)

data 가 수집된 후, 현재 프레임의 렌더링 데이터 처리나 렌더링이 수행되기 전에 호출됩니다.

Dirty 상태를 반환합니다. 렌더링해야 할 더티 데이터가 있는 경우 true 를 반환합니다.

참고: 준비 및 렌더링 단계 동안 엔진에서 생성되거나 수집된 데이터의대부분은 프레임 단위로 처리되며, 다음 프레임이 시작될 때 해제되거나 해제된 것으로 간주되어야 합니다.

QSSGFrameData도 참조하십시오 .

[pure virtual] void QSSGRenderExtension::prepareRender(QSSGFrameData &data)

렌더링을 위한 데이터를 준비합니다. 렌더링에 필요한 렌더링 데이터( data )를 생성하고 수집합니다. 이 작업보다 먼저 예약된 모든 렌더링 확장은 이미 처리된 상태입니다. 또한, ‘ RenderMode::Standalone ’ 모드의 렌더링 확장은 성공한 경우 완전히 완료된 상태입니다.

참고: 준비 및 렌더링 단계에서 엔진에 의해 생성되거나 수집된 데이터의대부분은 프레임 단위로 처리되므로, 다음 프레임이 시작될 때 해제되거나 해제된 것으로 간주되어야 합니다.

QSSGFrameData도 참조하십시오 .

[pure virtual] void QSSGRenderExtension::render(QSSGFrameData &data)

렌더 패스를 기록합니다. 확장 기능 mode 에 따라 이 함수는 프레임의 prepare 또는 render 단계에서 호출됩니다.

data 를 사용하여 렌더링 컨텍스트에 접근하면, 해당 컨텍스트에서 활성 QRhi 객체를 조회할 수 있습니다.

QSSGRenderExtension::RenderMode도 참조하십시오 .

[pure virtual] void QSSGRenderExtension::resetForFrame()

새로운 프레임이 시작될 때마다 호출됩니다. 이 시점에서 이전 프레임의 모든 데이터는 지워져야 합니다.

[pure virtual] QSSGRenderExtension::RenderStage QSSGRenderExtension::stage() const

이 렌더링 확장 기능이 사용될 단계를 반환합니다.

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