QSSGRenderHelpers Class
QtQuick3D 렌더러를 설정하고 렌더링하기 위한 헬퍼 함수들을 포함하는 클래스입니다. 더 보기...
| Header: | #include <qssgrenderhelpers.h> |
| 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 QSSGNodeIdList &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 class QSSGRenderHelpers::CreateFlag
flags QSSGRenderHelpers::CreateFlags
| 상수 | 값 | 설명 |
|---|---|---|
QSSGRenderHelpers::CreateFlag::None | 0 | 기본값. 지정된 노드에 대해서만 렌더러블이 생성됩니다. |
QSSGRenderHelpers::CreateFlag::Recurse | 0x1 | 각 노드와 그 자식 노드에 대해 렌더러블이 생성됩니다. |
QSSGRenderHelpers::CreateFlag::Steal | 0x2 | 렌더러블은 엔진에서 가져오며, ` 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 QSSGNodeIdList &nodes, QSSGRenderHelpers::CreateFlags flags = CreateFlag::None)
노드 ID 목록을 받아 렌더러에서 추가로 처리할 수 있는 렌더러블을 생성합니다. 목록에 노드가 없거나 렌더러블 노드가 없는 경우, 반환되는 ID는 유효하지 않습니다.
기본적으로 이 함수는 재귀적으로 탐색하지 않으며, ` nodes `의 포함된 자식 노드를 목록에 포함하지 않습니다. 재귀를 활성화하려면 ` flags ` 인자에 ` Recurse ` 플래그를 전달하면 됩니다.
생성된 렌더러블의 ID를 반환합니다.
frameData, prepId
CreateFlags 및 prepareForRender()도 참조하십시오 .
[static] QSSGPrepContextId QSSGRenderHelpers::prepareForRender(const QSSGFrameData &frameData, const QSSGRenderExtension &ext, QSSGCameraId cameraId, quint32 slot = 0)
prepareForRender()는 이 렌더링 확장 기능과 관련된 렌더링 데이터에 대한 정보를 수집하고 저장하기 위한 컨텍스트를 생성합니다.
동일한 노드를 여러 번 렌더링하되, 다른 속성(예: 다른 머티리얼이나 카메라)을 적용해야 하는 경우, 새로운 컨텍스트가 필요합니다. 하나의 확장 기능에 대해 여러 개의 컨텍스트를 생성하려면 ` slot ` 인수를 사용할 수 있습니다. 기본 컨텍스트는 슬롯 0에 생성됩니다.
prep 컨텍스트의 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()도 참조하십시오 .
© 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.