QSSGRenderExtension Class
Clase base para implementaciones de nodos de extensión. Más...
| Header: | #include <QSSGRenderExtension> |
| Since: | Qt 6.7 |
| Inherited By: |
Tipos Públicos
| enum class | RenderMode { Standalone, Main } |
| enum class | RenderStage { PreColor, PostColor } |
Funciones Públicas
| 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 |
Funciones protegidas
| QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags) |
Véase también QQuick3DRenderExtension.
Documentación de tipos de miembros
enum class QSSGRenderExtension::RenderMode
Especifica el modo de extensión del renderizado.
| Constante | Valor | Descripción |
|---|---|---|
QSSGRenderExtension::RenderMode::Standalone | 0 | El código de renderizado se registra en su totalidad durante la fase de preparación del renderizado. Esto normalmente implicará que hay algunas salidas creadas para una(s) extensión(es) de render precedente(s). Cuando se utiliza este modo, las funciones prepareRender() y render() son llamadas durante la fase de preparación del fotograma. |
QSSGRenderExtension::RenderMode::Main | 1 | El código de renderizado se graba dentro del pase de renderizado principal. En este modo, prepareRender() se llama en la fase de preparación del fotograma, mientras que render() se llama en la fase de renderizado del fotograma. |
enum class QSSGRenderExtension::RenderStage
Especifica el orden en que se llamará a la extensión.
| Constante | Valor | Descripción |
|---|---|---|
QSSGRenderExtension::RenderStage::PreColor | 0 | El código de renderizado se graba y ejecuta antes del pase principal (color). |
QSSGRenderExtension::RenderStage::PostColor | 1 | El código de renderizado se graba y ejecuta después del pase principal (color). |
Nota: El RenderStage sólo es relevante cuando RenderMode está configurado como Main.
Documentación de las funciones miembro
[protected] QSSGRenderExtension::QSSGRenderExtension(QSSGRenderGraphObject::Type inType, QSSGRenderGraphObject::FlagT inFlags)
Constructor que permite a los usuarios especificar un tipo de usuario y banderas para una extensión.
Nota: Para extensiones definidas por el usuario, el tipo debe ser una combinación de QSSGRenderGraphObject::BaseType::User y un valor entre 0 y 4095.
Nota: El tipo QSSGRenderGraphObject::BaseType::Extension se añade automáticamente a la dirección inType.
Nota: inFlags debe incluir Flags::HasGraphicsResources si la extensión asigna recursos gráficos.
[pure virtual] QSSGRenderExtension::RenderMode QSSGRenderExtension::mode() const
Devuelve El modo de renderizado utilizado para esta extensión.
[pure virtual] bool QSSGRenderExtension::prepareData(QSSGFrameData &data)
Llamado después de que la escena data es recolectada, pero antes de que cualquier dato de renderizado o renderizado en el cuadro actual haya sido hecho.
Devuelve el estado Sucio. Devuelve true si hay datos sucios que necesitan ser renderizados.
Nota: Muchos de los datos creados/recopilados del motor durante las fases de preparación y renderizado son por frame y deberían ser liberados o asumidos como liberados al comienzo del siguiente frame.
Véase también QSSGFrameData.
[pure virtual] void QSSGRenderExtension::prepareRender(QSSGFrameData &data)
Preparar los datos para el renderizado. Construir y recopilar data necesarios para el renderizado. Cualquier extensión de render programada antes de ésta habrá sido procesada. Además; cualquier extensión de render del modo RenderMode::Standalone se habrá completado en su totalidad, si ha tenido éxito.
Nota: Muchos de los datos creados/recopilados del motor durante las fases de preparación y renderizado son por fotograma y deberían ser liberados o asumidos como liberados al comienzo del siguiente fotograma.
Véase también QSSGFrameData.
[pure virtual] void QSSGRenderExtension::render(QSSGFrameData &data)
Graba el pase de renderizado. Dependiendo de las extensiones mode esta función será llamada durante la fase de preparación o renderizado del fotograma.
Utilice data para acceder al contexto de renderizado desde el que se puede consultar el objeto QRhi activo.
Véase también QSSGRenderExtension::RenderMode.
[pure virtual] void QSSGRenderExtension::resetForFrame()
Llamada cada vez que comienza un nuevo fotograma. Cualquier dato de la trama anterior debe ser borrado en este punto.
[pure virtual] QSSGRenderExtension::RenderStage QSSGRenderExtension::stage() const
Devuelve El escenario en el que se utilizará esta extensión de render.
© 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.