QSSGRenderHelpers Class

QtQuick3D 렌더러블을 설정하고 렌더링하기 위한 헬퍼 함수를 포함하는 클래스입니다. 더 보기...

Header: #include <QSSGRenderHelpers>
Since: Qt 6.7

공용 유형

enum class CreateFlag { None, Recurse, Steal }
flags CreateFlags

정적 공용 멤버

QSSGPrepResultId commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)
QSSGRenderablesId createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)
QSSGPrepContextId prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)
void prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)
void renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

상세 설명

멤버 유형 문서

enum 클래스 QSSGRenderHelpers::CreateFlag
플래그 QSSGRenderHelpers::CreateFlags

Constant설명
QSSGRenderHelpers::CreateFlag::None0기본값입니다. 렌더러블은 지정된 노드에 대해서만 생성됩니다.
QSSGRenderHelpers::CreateFlag::Recurse0x1렌더러블은 각 노드와 그 자식에 대해 생성됩니다.
QSSGRenderHelpers::CreateFlag::Steal0x2렌더러블은 엔진에서 가져와서 QtQuick3D 에서 렌더링되지 않습니다.

참고: {QSSGRenderHelpers::CreateFlag::Steal}{Steal} 플래그 세트 없이 QSSGRenderHelpers::createRenderables()를 호출하면 노드가 복제되고 QtQuick3D 은 정상적으로 노드의 복사본을 렌더링합니다.

CreateFlags 유형은 QFlags<CreateFlag>에 대한 typedef입니다. CreateFlag 값의 OR 조합을 저장합니다.

멤버 함수 문서

[static] QSSGPrepResultId QSSGRenderHelpers::commit(const QSSGFrameData &frameData, QSSGPrepContextId prepId, QSSGRenderablesId renderablesId, float lodThreshold = 1.0f)

렌더러블에 필요한 변경이 완료되면 데이터를 렌더러에 준비된 것으로 표시할 수 있습니다.

준비 결과에 대한 ID를 반환합니다.

frameData, prepId, renderablesId, lodThreshold

prepareRenderables() 및 renderRenderables()도 참조하세요 .

[static] QSSGRenderablesId QSSGRenderHelpers::createRenderables(const QSSGFrameData &frameData, QSSGPrepContextId prepId, const QSSGRenderHelpers::NodeList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)

노드 ID 목록을 가져와 렌더러에서 추가 처리할 수 있는 렌더러블을 생성합니다. 목록에 노드가 없거나 렌더링 가능한 노드가 없는 경우 반환된 ID는 유효하지 않습니다.

기본적으로 이 함수는 재귀를 수행하지 않으며 목록에 nodes 의 하위 항목을 포함하지 않습니다. flags 인수에 Recurse 플래그를 전달하여 재귀를 활성화할 수 있습니다.

생성된 렌더러블에 아이디를 반환합니다.

frameData, prepId

CreateFlagsprepareForRender()도 참조하세요 .

[static] QSSGPrepContextId QSSGRenderHelpers::prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)

prepareForRender()는 이 렌더링 확장과 관련된 렌더링 데이터에 대한 정보를 수집하고 저장하기 위한 컨텍스트를 생성합니다.

동일한 노드를 두 번 이상 렌더링하지만 다른 속성(예: 다른 머티리얼 또는 카메라)으로 렌더링하려면 새 컨텍스트가 필요합니다. 하나의 확장에 대해 여러 컨텍스트를 만들려면 slot 인수를 사용할 수 있습니다. 기본 컨텍스트는 슬롯 0에 생성됩니다.

준비 컨텍스트에 ID를 반환합니다.

frameData, ext, cameraId

commit()도 참조하세요 .

[static] void QSSGRenderHelpers::prepareRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId, QRhiRenderPassDescriptor *renderPassDescriptor, QSSGRhiGraphicsPipelineState &ps, QSSGRenderablesFilters filter = QSSGRenderablesFilter::All)

renderRenderables 을 호출하기 전에 렌더러블에 필요한 드로우 콜 데이터를 준비합니다.

준비 결과에 대한 ID를 반환합니다.

frameData, renderPassDescriptor, ps, prepId, filter

renderRenderables()도 참조하세요 .

[static] void QSSGRenderHelpers::renderRenderables(const QSSGFrameData &frameData, QSSGPrepResultId prepId)

렌더러블을 렌더링합니다.

frameData, prepId

prepareRenderables()도 참조하세요 .

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