# Copyright (C) 2022 The Qt Company Ltd.
# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
from __future__ import annotations

"""
This file contains the exact signatures for all functions in module
PySide6.Qt3DRender, except for defaults which are replaced by "...".
"""

# Module `PySide6.Qt3DRender`

import PySide6.Qt3DRender
import PySide6.QtCore
import PySide6.QtGui
import PySide6.QtOpenGL
import PySide6.Qt3DCore

import enum
from typing import Any, Any, ClassVar, Generator, List, List, Optional, Sequence, Set, Text, Tuple, Tuple, Union, overload
from PySide6.QtCore import Signal
from shiboken6 import Shiboken


NoneType: TypeAlias = type[None]


class QIntList(object): ...


class Qt3DRender(Shiboken.Object):

    class API(enum.Enum):

        OpenGL                   : Qt3DRender.API = ... # 0x0
        Vulkan                   : Qt3DRender.API = ... # 0x1
        DirectX                  : Qt3DRender.API = ... # 0x2
        Metal                    : Qt3DRender.API = ... # 0x3
        RHI                      : Qt3DRender.API = ... # 0x4
        Null                     : Qt3DRender.API = ... # 0x5

    class PropertyReaderInterface(Shiboken.Object):

        def __init__(self) -> None: ...

        def readProperty(self, v: Any) -> Any: ...

    class PropertyReaderInterfacePtr(Shiboken.Object):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, pointee: PySide6.Qt3DRender.Qt3DRender.PropertyReaderInterface) -> None: ...

        @staticmethod
        def __copy__() -> None: ...
        @staticmethod
        def __dir__() -> None: ...
        def data(self) -> PySide6.Qt3DRender.Qt3DRender.PropertyReaderInterface: ...
        @overload
        def reset(self) -> None: ...
        @overload
        def reset(self, t: PySide6.Qt3DRender.Qt3DRender.PropertyReaderInterface) -> None: ...

    class QAbstractLight(PySide6.Qt3DCore.Qt3DCore.QComponent):

        colorChanged             : ClassVar[Signal] = ... # colorChanged(QColor)
        intensityChanged         : ClassVar[Signal] = ... # intensityChanged(float)

        class Type(enum.Enum):

            PointLight               : Qt3DRender.QAbstractLight.Type = ... # 0x0
            DirectionalLight         : Qt3DRender.QAbstractLight.Type = ... # 0x1
            SpotLight                : Qt3DRender.QAbstractLight.Type = ... # 0x2


        def color(self) -> PySide6.QtGui.QColor: ...
        def intensity(self) -> float: ...
        def setColor(self, color: Union[PySide6.QtGui.QColor, str, PySide6.QtGui.QRgba64, Any, PySide6.QtCore.Qt.GlobalColor, int]) -> None: ...
        def setIntensity(self, intensity: float) -> None: ...
        def type(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractLight.Type: ...

    class QAbstractRayCaster(PySide6.Qt3DCore.Qt3DCore.QComponent):

        filterModeChanged        : ClassVar[Signal] = ... # filterModeChanged(Qt3DRender::QAbstractRayCaster::FilterMode)
        hitsChanged              : ClassVar[Signal] = ... # hitsChanged(Qt3DRender::QAbstractRayCaster::Hits)
        runModeChanged           : ClassVar[Signal] = ... # runModeChanged(Qt3DRender::QAbstractRayCaster::RunMode)

        class FilterMode(enum.Enum):

            AcceptAnyMatchingLayers  : Qt3DRender.QAbstractRayCaster.FilterMode = ... # 0x0
            AcceptAllMatchingLayers  : Qt3DRender.QAbstractRayCaster.FilterMode = ... # 0x1
            DiscardAnyMatchingLayers : Qt3DRender.QAbstractRayCaster.FilterMode = ... # 0x2
            DiscardAllMatchingLayers : Qt3DRender.QAbstractRayCaster.FilterMode = ... # 0x3

        class RunMode(enum.Enum):

            Continuous               : Qt3DRender.QAbstractRayCaster.RunMode = ... # 0x0
            SingleShot               : Qt3DRender.QAbstractRayCaster.RunMode = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addLayer(self, layer: PySide6.Qt3DRender.Qt3DRender.QLayer) -> None: ...
        def filterMode(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.FilterMode: ...
        def hits(self) -> List[PySide6.Qt3DRender.Qt3DRender.QRayCasterHit]: ...
        def layers(self) -> List[PySide6.Qt3DRender.Qt3DRender.QLayer]: ...
        def removeLayer(self, layer: PySide6.Qt3DRender.Qt3DRender.QLayer) -> None: ...
        def runMode(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.RunMode: ...
        def setFilterMode(self, filterMode: PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.FilterMode) -> None: ...
        def setRunMode(self, runMode: PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster.RunMode) -> None: ...

    class QAbstractTexture(PySide6.Qt3DCore.Qt3DCore.QNode):

        comparisonFunctionChanged: ClassVar[Signal] = ... # comparisonFunctionChanged(ComparisonFunction)
        comparisonModeChanged    : ClassVar[Signal] = ... # comparisonModeChanged(ComparisonMode)
        depthChanged             : ClassVar[Signal] = ... # depthChanged(int)
        formatChanged            : ClassVar[Signal] = ... # formatChanged(TextureFormat)
        generateMipMapsChanged   : ClassVar[Signal] = ... # generateMipMapsChanged(bool)
        handleChanged            : ClassVar[Signal] = ... # handleChanged(QVariant)
        handleTypeChanged        : ClassVar[Signal] = ... # handleTypeChanged(HandleType)
        heightChanged            : ClassVar[Signal] = ... # heightChanged(int)
        layersChanged            : ClassVar[Signal] = ... # layersChanged(int)
        magnificationFilterChanged: ClassVar[Signal] = ... # magnificationFilterChanged(Filter)
        maximumAnisotropyChanged : ClassVar[Signal] = ... # maximumAnisotropyChanged(float)
        minificationFilterChanged: ClassVar[Signal] = ... # minificationFilterChanged(Filter)
        mipLevelsChanged         : ClassVar[Signal] = ... # mipLevelsChanged(int)
        samplesChanged           : ClassVar[Signal] = ... # samplesChanged(int)
        statusChanged            : ClassVar[Signal] = ... # statusChanged(Status)
        widthChanged             : ClassVar[Signal] = ... # widthChanged(int)

        class ComparisonFunction(enum.Enum):

            CompareNever             : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x200
            CompareLess              : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x201
            CompareEqual             : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x202
            CompareLessEqual         : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x203
            CompareGreater           : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x204
            CommpareNotEqual         : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x205
            CompareGreaterEqual      : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x206
            CompareAlways            : Qt3DRender.QAbstractTexture.ComparisonFunction = ... # 0x207

        class ComparisonMode(enum.Enum):

            CompareNone              : Qt3DRender.QAbstractTexture.ComparisonMode = ... # 0x0
            CompareRefToTexture      : Qt3DRender.QAbstractTexture.ComparisonMode = ... # 0x884e

        class CubeMapFace(enum.Enum):

            CubeMapPositiveX         : Qt3DRender.QAbstractTexture.CubeMapFace = ... # 0x8515
            CubeMapNegativeX         : Qt3DRender.QAbstractTexture.CubeMapFace = ... # 0x8516
            CubeMapPositiveY         : Qt3DRender.QAbstractTexture.CubeMapFace = ... # 0x8517
            CubeMapNegativeY         : Qt3DRender.QAbstractTexture.CubeMapFace = ... # 0x8518
            CubeMapPositiveZ         : Qt3DRender.QAbstractTexture.CubeMapFace = ... # 0x8519
            CubeMapNegativeZ         : Qt3DRender.QAbstractTexture.CubeMapFace = ... # 0x851a
            AllFaces                 : Qt3DRender.QAbstractTexture.CubeMapFace = ... # 0x851b

        class Filter(enum.Enum):

            Nearest                  : Qt3DRender.QAbstractTexture.Filter = ... # 0x2600
            Linear                   : Qt3DRender.QAbstractTexture.Filter = ... # 0x2601
            NearestMipMapNearest     : Qt3DRender.QAbstractTexture.Filter = ... # 0x2700
            LinearMipMapNearest      : Qt3DRender.QAbstractTexture.Filter = ... # 0x2701
            NearestMipMapLinear      : Qt3DRender.QAbstractTexture.Filter = ... # 0x2702
            LinearMipMapLinear       : Qt3DRender.QAbstractTexture.Filter = ... # 0x2703

        class HandleType(enum.Enum):

            NoHandle                 : Qt3DRender.QAbstractTexture.HandleType = ... # 0x0
            OpenGLTextureId          : Qt3DRender.QAbstractTexture.HandleType = ... # 0x1
            RHITextureId             : Qt3DRender.QAbstractTexture.HandleType = ... # 0x2

        class Status(enum.Enum):

            None_                    : Qt3DRender.QAbstractTexture.Status = ... # 0x0
            Loading                  : Qt3DRender.QAbstractTexture.Status = ... # 0x1
            Ready                    : Qt3DRender.QAbstractTexture.Status = ... # 0x2
            Error                    : Qt3DRender.QAbstractTexture.Status = ... # 0x3

        class Target(enum.Enum):

            TargetAutomatic          : Qt3DRender.QAbstractTexture.Target = ... # 0x0
            Target1D                 : Qt3DRender.QAbstractTexture.Target = ... # 0xde0
            Target2D                 : Qt3DRender.QAbstractTexture.Target = ... # 0xde1
            Target3D                 : Qt3DRender.QAbstractTexture.Target = ... # 0x806f
            TargetRectangle          : Qt3DRender.QAbstractTexture.Target = ... # 0x84f5
            TargetCubeMap            : Qt3DRender.QAbstractTexture.Target = ... # 0x8513
            Target1DArray            : Qt3DRender.QAbstractTexture.Target = ... # 0x8c18
            Target2DArray            : Qt3DRender.QAbstractTexture.Target = ... # 0x8c1a
            TargetBuffer             : Qt3DRender.QAbstractTexture.Target = ... # 0x8c2a
            TargetCubeMapArray       : Qt3DRender.QAbstractTexture.Target = ... # 0x9009
            Target2DMultisample      : Qt3DRender.QAbstractTexture.Target = ... # 0x9100
            Target2DMultisampleArray : Qt3DRender.QAbstractTexture.Target = ... # 0x9102

        class TextureFormat(enum.Enum):

            NoFormat                 : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x0
            Automatic                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x1
            DepthFormat              : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x1902
            AlphaFormat              : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x1906
            RGBFormat                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x1907
            RGBAFormat               : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x1908
            LuminanceFormat          : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x1909
            LuminanceAlphaFormat     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x190a
            RG3B2                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x2a10
            RGB8_UNorm               : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8051
            RGB16_UNorm              : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8054
            RGBA4                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8056
            RGB5A1                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8057
            RGBA8_UNorm              : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8058
            RGB10A2                  : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8059
            RGBA16_UNorm             : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x805b
            D16                      : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x81a5
            D24                      : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x81a6
            D32                      : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x81a7
            R8_UNorm                 : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8229
            R16_UNorm                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x822a
            RG8_UNorm                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x822b
            RG16_UNorm               : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x822c
            R16F                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x822d
            R32F                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x822e
            RG16F                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x822f
            RG32F                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8230
            R8I                      : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8231
            R8U                      : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8232
            R16I                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8233
            R16U                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8234
            R32I                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8235
            R32U                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8236
            RG8I                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8237
            RG8U                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8238
            RG16I                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8239
            RG16U                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x823a
            RG32I                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x823b
            RG32U                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x823c
            RGB_DXT1                 : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x83f0
            RGBA_DXT1                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x83f1
            RGBA_DXT3                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x83f2
            RGBA_DXT5                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x83f3
            RGBA32F                  : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8814
            RGB32F                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8815
            RGBA16F                  : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x881a
            RGB16F                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x881b
            D24S8                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x88f0
            RG11B10F                 : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c3a
            RGB9E5                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c3d
            SRGB8                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c41
            SRGB8_Alpha8             : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c43
            SRGB_DXT1                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c4c
            SRGB_Alpha_DXT1          : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c4d
            SRGB_Alpha_DXT3          : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c4e
            SRGB_Alpha_DXT5          : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8c4f
            D32F                     : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8cac
            D32FS8X24                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8cad
            R5G6B5                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d62
            RGB8_ETC1                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d64
            RGBA32U                  : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d70
            RGB32U                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d71
            RGBA16U                  : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d76
            RGB16U                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d77
            RGBA8U                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d7c
            RGB8U                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d7d
            RGBA32I                  : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d82
            RGB32I                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d83
            RGBA16I                  : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d88
            RGB16I                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d89
            RGBA8I                   : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d8e
            RGB8I                    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8d8f
            R_ATI1N_UNorm            : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8dbb
            R_ATI1N_SNorm            : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8dbc
            RG_ATI2N_UNorm           : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8dbd
            RG_ATI2N_SNorm           : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8dbe
            RGB_BP_UNorm             : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8e8c
            SRGB_BP_UNorm            : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8e8d
            RGB_BP_SIGNED_FLOAT      : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8e8e
            RGB_BP_UNSIGNED_FLOAT    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8e8f
            R8_SNorm                 : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f94
            RG8_SNorm                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f95
            RGB8_SNorm               : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f96
            RGBA8_SNorm              : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f97
            R16_SNorm                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f98
            RG16_SNorm               : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f99
            RGB16_SNorm              : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f9a
            RGBA16_SNorm             : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x8f9b
            RGB10A2U                 : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x906f
            R11_EAC_UNorm            : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9270
            R11_EAC_SNorm            : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9271
            RG11_EAC_UNorm           : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9272
            RG11_EAC_SNorm           : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9273
            RGB8_ETC2                : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9274
            SRGB8_ETC2               : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9275
            RGB8_PunchThrough_Alpha1_ETC2: Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9276
            SRGB8_PunchThrough_Alpha1_ETC2: Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9277
            RGBA8_ETC2_EAC           : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9278
            SRGB8_Alpha8_ETC2_EAC    : Qt3DRender.QAbstractTexture.TextureFormat = ... # 0x9279


        @overload
        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...
        @overload
        def __init__(self, target: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Target, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addTextureImage(self, textureImage: PySide6.Qt3DRender.Qt3DRender.QAbstractTextureImage) -> None: ...
        def comparisonFunction(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonFunction: ...
        def comparisonMode(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonMode: ...
        def depth(self) -> int: ...
        def format(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.TextureFormat: ...
        def generateMipMaps(self) -> bool: ...
        def handle(self) -> Any: ...
        def handleType(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.HandleType: ...
        def height(self) -> int: ...
        def layers(self) -> int: ...
        def magnificationFilter(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter: ...
        def maximumAnisotropy(self) -> float: ...
        def minificationFilter(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter: ...
        def mipLevels(self) -> int: ...
        def removeTextureImage(self, textureImage: PySide6.Qt3DRender.Qt3DRender.QAbstractTextureImage) -> None: ...
        def samples(self) -> int: ...
        def setComparisonFunction(self, function: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonFunction) -> None: ...
        def setComparisonMode(self, mode: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonMode) -> None: ...
        def setDepth(self, depth: int) -> None: ...
        def setFormat(self, format: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.TextureFormat) -> None: ...
        def setGenerateMipMaps(self, gen: bool) -> None: ...
        def setHandle(self, handle: Any) -> None: ...
        def setHandleType(self, type: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.HandleType) -> None: ...
        def setHeight(self, height: int) -> None: ...
        def setLayers(self, layers: int) -> None: ...
        def setMagnificationFilter(self, f: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter) -> None: ...
        def setMaximumAnisotropy(self, anisotropy: float) -> None: ...
        def setMinificationFilter(self, f: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter) -> None: ...
        def setMipLevels(self, mipLevels: int) -> None: ...
        def setSamples(self, samples: int) -> None: ...
        def setSize(self, width: int, height: int = ..., depth: int = ...) -> None: ...
        def setStatus(self, status: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Status) -> None: ...
        def setWidth(self, width: int) -> None: ...
        def setWrapMode(self, wrapMode: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode) -> None: ...
        def status(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Status: ...
        def target(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Target: ...
        def textureImages(self) -> List[PySide6.Qt3DRender.Qt3DRender.QAbstractTextureImage]: ...
        def updateData(self, update: PySide6.Qt3DRender.Qt3DRender.QTextureDataUpdate) -> None: ...
        def width(self) -> int: ...
        def wrapMode(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode: ...

    class QAbstractTextureImage(PySide6.Qt3DCore.Qt3DCore.QNode):

        faceChanged              : ClassVar[Signal] = ... # faceChanged(QAbstractTexture::CubeMapFace)
        layerChanged             : ClassVar[Signal] = ... # layerChanged(int)
        mipLevelChanged          : ClassVar[Signal] = ... # mipLevelChanged(int)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def dataGenerator(self) -> Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageDataGenerator]: ...
        def face(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.CubeMapFace: ...
        def layer(self) -> int: ...
        def mipLevel(self) -> int: ...
        def notifyDataGeneratorChanged(self) -> None: ...
        def setFace(self, face: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.CubeMapFace) -> None: ...
        def setLayer(self, layer: int) -> None: ...
        def setMipLevel(self, level: int) -> None: ...

    class QAlphaCoverage(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QAlphaTest(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        alphaFunctionChanged     : ClassVar[Signal] = ... # alphaFunctionChanged(AlphaFunction)
        referenceValueChanged    : ClassVar[Signal] = ... # referenceValueChanged(float)

        class AlphaFunction(enum.Enum):

            Never                    : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x200
            Less                     : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x201
            Equal                    : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x202
            LessOrEqual              : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x203
            Greater                  : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x204
            NotEqual                 : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x205
            GreaterOrEqual           : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x206
            Always                   : Qt3DRender.QAlphaTest.AlphaFunction = ... # 0x207


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def alphaFunction(self) -> PySide6.Qt3DRender.Qt3DRender.QAlphaTest.AlphaFunction: ...
        def referenceValue(self) -> float: ...
        def setAlphaFunction(self, alphaFunction: PySide6.Qt3DRender.Qt3DRender.QAlphaTest.AlphaFunction) -> None: ...
        def setReferenceValue(self, referenceValue: float) -> None: ...

    class QBlendEquation(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        blendFunctionChanged     : ClassVar[Signal] = ... # blendFunctionChanged(BlendFunction)

        class BlendFunction(enum.Enum):

            Add                      : Qt3DRender.QBlendEquation.BlendFunction = ... # 0x8006
            Min                      : Qt3DRender.QBlendEquation.BlendFunction = ... # 0x8007
            Max                      : Qt3DRender.QBlendEquation.BlendFunction = ... # 0x8008
            Subtract                 : Qt3DRender.QBlendEquation.BlendFunction = ... # 0x800a
            ReverseSubtract          : Qt3DRender.QBlendEquation.BlendFunction = ... # 0x800b


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def blendFunction(self) -> PySide6.Qt3DRender.Qt3DRender.QBlendEquation.BlendFunction: ...
        def setBlendFunction(self, blendFunction: PySide6.Qt3DRender.Qt3DRender.QBlendEquation.BlendFunction) -> None: ...

    class QBlendEquationArguments(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        bufferIndexChanged       : ClassVar[Signal] = ... # bufferIndexChanged(int)
        destinationAlphaChanged  : ClassVar[Signal] = ... # destinationAlphaChanged(Blending)
        destinationRgbChanged    : ClassVar[Signal] = ... # destinationRgbChanged(Blending)
        destinationRgbaChanged   : ClassVar[Signal] = ... # destinationRgbaChanged(Blending)
        sourceAlphaChanged       : ClassVar[Signal] = ... # sourceAlphaChanged(Blending)
        sourceRgbChanged         : ClassVar[Signal] = ... # sourceRgbChanged(Blending)
        sourceRgbaChanged        : ClassVar[Signal] = ... # sourceRgbaChanged(Blending)

        class Blending(enum.Enum):

            Zero                     : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x0
            One                      : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x1
            SourceColor              : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x300
            OneMinusSourceColor      : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x301
            SourceAlpha              : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x302
            OneMinusSourceAlpha      : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x303
            Source1Alpha             : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x303
            DestinationAlpha         : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x304
            Source1Color             : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x304
            OneMinusDestinationAlpha : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x305
            DestinationColor         : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x306
            OneMinusDestinationColor : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x307
            SourceAlphaSaturate      : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x308
            ConstantColor            : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x8001
            OneMinusConstantColor    : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x8002
            ConstantAlpha            : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x8003
            OneMinusConstantAlpha    : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x8004
            OneMinusSource1Alpha     : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x8005
            OneMinusSource1Color     : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x8006
            OneMinusSource1Color0    : Qt3DRender.QBlendEquationArguments.Blending = ... # 0x8006


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def bufferIndex(self) -> int: ...
        def destinationAlpha(self) -> PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending: ...
        def destinationRgb(self) -> PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending: ...
        def setBufferIndex(self, index: int) -> None: ...
        def setDestinationAlpha(self, destinationAlpha: PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending) -> None: ...
        def setDestinationRgb(self, destinationRgb: PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending) -> None: ...
        def setDestinationRgba(self, destinationRgba: PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending) -> None: ...
        def setSourceAlpha(self, sourceAlpha: PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending) -> None: ...
        def setSourceRgb(self, sourceRgb: PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending) -> None: ...
        def setSourceRgba(self, sourceRgba: PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending) -> None: ...
        def sourceAlpha(self) -> PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending: ...
        def sourceRgb(self) -> PySide6.Qt3DRender.Qt3DRender.QBlendEquationArguments.Blending: ...

    class QBlitFramebuffer(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        destinationAttachmentPointChanged: ClassVar[Signal] = ... # destinationAttachmentPointChanged()
        destinationChanged       : ClassVar[Signal] = ... # destinationChanged()
        destinationRectChanged   : ClassVar[Signal] = ... # destinationRectChanged()
        interpolationMethodChanged: ClassVar[Signal] = ... # interpolationMethodChanged()
        sourceAttachmentPointChanged: ClassVar[Signal] = ... # sourceAttachmentPointChanged()
        sourceChanged            : ClassVar[Signal] = ... # sourceChanged()
        sourceRectChanged        : ClassVar[Signal] = ... # sourceRectChanged()

        class InterpolationMethod(enum.Enum):

            Nearest                  : Qt3DRender.QBlitFramebuffer.InterpolationMethod = ... # 0x0
            Linear                   : Qt3DRender.QBlitFramebuffer.InterpolationMethod = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def destination(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderTarget: ...
        def destinationAttachmentPoint(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput.AttachmentPoint: ...
        def destinationRect(self) -> PySide6.QtCore.QRectF: ...
        def interpolationMethod(self) -> PySide6.Qt3DRender.Qt3DRender.QBlitFramebuffer.InterpolationMethod: ...
        def setDestination(self, destination: PySide6.Qt3DRender.Qt3DRender.QRenderTarget) -> None: ...
        def setDestinationAttachmentPoint(self, destinationAttachmentPoint: PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput.AttachmentPoint) -> None: ...
        def setDestinationRect(self, destinationRect: Union[PySide6.QtCore.QRectF, PySide6.QtCore.QRect]) -> None: ...
        def setInterpolationMethod(self, interpolationMethod: PySide6.Qt3DRender.Qt3DRender.QBlitFramebuffer.InterpolationMethod) -> None: ...
        def setSource(self, source: PySide6.Qt3DRender.Qt3DRender.QRenderTarget) -> None: ...
        def setSourceAttachmentPoint(self, sourceAttachmentPoint: PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput.AttachmentPoint) -> None: ...
        def setSourceRect(self, sourceRect: Union[PySide6.QtCore.QRectF, PySide6.QtCore.QRect]) -> None: ...
        def source(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderTarget: ...
        def sourceAttachmentPoint(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput.AttachmentPoint: ...
        def sourceRect(self) -> PySide6.QtCore.QRectF: ...

    class QBufferCapture(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QCamera(PySide6.Qt3DCore.Qt3DCore.QEntity):

        aspectRatioChanged       : ClassVar[Signal] = ... # aspectRatioChanged(float)
        bottomChanged            : ClassVar[Signal] = ... # bottomChanged(float)
        exposureChanged          : ClassVar[Signal] = ... # exposureChanged(float)
        farPlaneChanged          : ClassVar[Signal] = ... # farPlaneChanged(float)
        fieldOfViewChanged       : ClassVar[Signal] = ... # fieldOfViewChanged(float)
        leftChanged              : ClassVar[Signal] = ... # leftChanged(float)
        nearPlaneChanged         : ClassVar[Signal] = ... # nearPlaneChanged(float)
        positionChanged          : ClassVar[Signal] = ... # positionChanged(QVector3D)
        projectionMatrixChanged  : ClassVar[Signal] = ... # projectionMatrixChanged(QMatrix4x4)
        projectionTypeChanged    : ClassVar[Signal] = ... # projectionTypeChanged(QCameraLens::ProjectionType)
        rightChanged             : ClassVar[Signal] = ... # rightChanged(float)
        topChanged               : ClassVar[Signal] = ... # topChanged(float)
        upVectorChanged          : ClassVar[Signal] = ... # upVectorChanged(QVector3D)
        viewCenterChanged        : ClassVar[Signal] = ... # viewCenterChanged(QVector3D)
        viewMatrixChanged        : ClassVar[Signal] = ... # viewMatrixChanged()
        viewVectorChanged        : ClassVar[Signal] = ... # viewVectorChanged(QVector3D)

        class CameraTranslationOption(enum.Enum):

            TranslateViewCenter      : Qt3DRender.QCamera.CameraTranslationOption = ... # 0x0
            DontTranslateViewCenter  : Qt3DRender.QCamera.CameraTranslationOption = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def aspectRatio(self) -> float: ...
        def bottom(self) -> float: ...
        def exposure(self) -> float: ...
        def farPlane(self) -> float: ...
        def fieldOfView(self) -> float: ...
        def left(self) -> float: ...
        def lens(self) -> PySide6.Qt3DRender.Qt3DRender.QCameraLens: ...
        def nearPlane(self) -> float: ...
        @overload
        def pan(self, angle: float) -> None: ...
        @overload
        def pan(self, angle: float, axis: PySide6.QtGui.QVector3D) -> None: ...
        @overload
        def panAboutViewCenter(self, angle: float) -> None: ...
        @overload
        def panAboutViewCenter(self, angle: float, axis: PySide6.QtGui.QVector3D) -> None: ...
        def panRotation(self, angle: float) -> PySide6.QtGui.QQuaternion: ...
        def position(self) -> PySide6.QtGui.QVector3D: ...
        def projectionMatrix(self) -> PySide6.QtGui.QMatrix4x4: ...
        def projectionType(self) -> PySide6.Qt3DRender.Qt3DRender.QCameraLens.ProjectionType: ...
        def right(self) -> float: ...
        def roll(self, angle: float) -> None: ...
        def rollAboutViewCenter(self, angle: float) -> None: ...
        def rollRotation(self, angle: float) -> PySide6.QtGui.QQuaternion: ...
        def rotate(self, q: PySide6.QtGui.QQuaternion) -> None: ...
        def rotateAboutViewCenter(self, q: PySide6.QtGui.QQuaternion) -> None: ...
        def rotation(self, angle: float, axis: PySide6.QtGui.QVector3D) -> PySide6.QtGui.QQuaternion: ...
        def setAspectRatio(self, aspectRatio: float) -> None: ...
        def setBottom(self, bottom: float) -> None: ...
        def setExposure(self, exposure: float) -> None: ...
        def setFarPlane(self, farPlane: float) -> None: ...
        def setFieldOfView(self, fieldOfView: float) -> None: ...
        def setLeft(self, left: float) -> None: ...
        def setNearPlane(self, nearPlane: float) -> None: ...
        def setPosition(self, position: PySide6.QtGui.QVector3D) -> None: ...
        def setProjectionMatrix(self, projectionMatrix: Union[PySide6.QtGui.QMatrix4x4, PySide6.QtGui.QTransform]) -> None: ...
        def setProjectionType(self, type: PySide6.Qt3DRender.Qt3DRender.QCameraLens.ProjectionType) -> None: ...
        def setRight(self, right: float) -> None: ...
        def setTop(self, top: float) -> None: ...
        def setUpVector(self, upVector: PySide6.QtGui.QVector3D) -> None: ...
        def setViewCenter(self, viewCenter: PySide6.QtGui.QVector3D) -> None: ...
        def tilt(self, angle: float) -> None: ...
        def tiltAboutViewCenter(self, angle: float) -> None: ...
        def tiltRotation(self, angle: float) -> PySide6.QtGui.QQuaternion: ...
        def top(self) -> float: ...
        def transform(self) -> PySide6.Qt3DCore.Qt3DCore.QTransform: ...
        def translate(self, vLocal: PySide6.QtGui.QVector3D, option: PySide6.Qt3DRender.Qt3DRender.QCamera.CameraTranslationOption = ...) -> None: ...
        def translateWorld(self, vWorld: PySide6.QtGui.QVector3D, option: PySide6.Qt3DRender.Qt3DRender.QCamera.CameraTranslationOption = ...) -> None: ...
        def upVector(self) -> PySide6.QtGui.QVector3D: ...
        def viewAll(self) -> None: ...
        def viewCenter(self) -> PySide6.QtGui.QVector3D: ...
        def viewEntity(self, entity: PySide6.Qt3DCore.Qt3DCore.QEntity) -> None: ...
        def viewMatrix(self) -> PySide6.QtGui.QMatrix4x4: ...
        def viewSphere(self, center: PySide6.QtGui.QVector3D, radius: float) -> None: ...
        def viewVector(self) -> PySide6.QtGui.QVector3D: ...

    class QCameraLens(PySide6.Qt3DCore.Qt3DCore.QComponent):

        aspectRatioChanged       : ClassVar[Signal] = ... # aspectRatioChanged(float)
        bottomChanged            : ClassVar[Signal] = ... # bottomChanged(float)
        exposureChanged          : ClassVar[Signal] = ... # exposureChanged(float)
        farPlaneChanged          : ClassVar[Signal] = ... # farPlaneChanged(float)
        fieldOfViewChanged       : ClassVar[Signal] = ... # fieldOfViewChanged(float)
        leftChanged              : ClassVar[Signal] = ... # leftChanged(float)
        nearPlaneChanged         : ClassVar[Signal] = ... # nearPlaneChanged(float)
        projectionMatrixChanged  : ClassVar[Signal] = ... # projectionMatrixChanged(QMatrix4x4)
        projectionTypeChanged    : ClassVar[Signal] = ... # projectionTypeChanged(QCameraLens::ProjectionType)
        rightChanged             : ClassVar[Signal] = ... # rightChanged(float)
        topChanged               : ClassVar[Signal] = ... # topChanged(float)
        viewSphere               : ClassVar[Signal] = ... # viewSphere(QVector3D,float)

        class ProjectionType(enum.Enum):

            OrthographicProjection   : Qt3DRender.QCameraLens.ProjectionType = ... # 0x0
            PerspectiveProjection    : Qt3DRender.QCameraLens.ProjectionType = ... # 0x1
            FrustumProjection        : Qt3DRender.QCameraLens.ProjectionType = ... # 0x2
            CustomProjection         : Qt3DRender.QCameraLens.ProjectionType = ... # 0x3


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def aspectRatio(self) -> float: ...
        def bottom(self) -> float: ...
        def exposure(self) -> float: ...
        def farPlane(self) -> float: ...
        def fieldOfView(self) -> float: ...
        def left(self) -> float: ...
        def nearPlane(self) -> float: ...
        def projectionMatrix(self) -> PySide6.QtGui.QMatrix4x4: ...
        def projectionType(self) -> PySide6.Qt3DRender.Qt3DRender.QCameraLens.ProjectionType: ...
        def right(self) -> float: ...
        def setAspectRatio(self, aspectRatio: float) -> None: ...
        def setBottom(self, bottom: float) -> None: ...
        def setExposure(self, exposure: float) -> None: ...
        def setFarPlane(self, farPlane: float) -> None: ...
        def setFieldOfView(self, fieldOfView: float) -> None: ...
        def setFrustumProjection(self, left: float, right: float, bottom: float, top: float, nearPlane: float, farPlane: float) -> None: ...
        def setLeft(self, left: float) -> None: ...
        def setNearPlane(self, nearPlane: float) -> None: ...
        def setOrthographicProjection(self, left: float, right: float, bottom: float, top: float, nearPlane: float, farPlane: float) -> None: ...
        def setPerspectiveProjection(self, fieldOfView: float, aspect: float, nearPlane: float, farPlane: float) -> None: ...
        def setProjectionMatrix(self, projectionMatrix: Union[PySide6.QtGui.QMatrix4x4, PySide6.QtGui.QTransform]) -> None: ...
        def setProjectionType(self, projectionType: PySide6.Qt3DRender.Qt3DRender.QCameraLens.ProjectionType) -> None: ...
        def setRight(self, right: float) -> None: ...
        def setTop(self, top: float) -> None: ...
        def top(self) -> float: ...
        def viewAll(self, cameraId: PySide6.Qt3DCore.Qt3DCore.QNodeId) -> None: ...
        def viewEntity(self, entityId: PySide6.Qt3DCore.Qt3DCore.QNodeId, cameraId: PySide6.Qt3DCore.Qt3DCore.QNodeId) -> None: ...

    class QCameraSelector(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        cameraChanged            : ClassVar[Signal] = ... # cameraChanged(Qt3DCore::QEntity*)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def camera(self) -> PySide6.Qt3DCore.Qt3DCore.QEntity: ...
        def setCamera(self, camera: PySide6.Qt3DCore.Qt3DCore.QEntity) -> None: ...

    class QClearBuffers(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        buffersChanged           : ClassVar[Signal] = ... # buffersChanged(BufferType)
        clearColorChanged        : ClassVar[Signal] = ... # clearColorChanged(QColor)
        clearDepthValueChanged   : ClassVar[Signal] = ... # clearDepthValueChanged(float)
        clearStencilValueChanged : ClassVar[Signal] = ... # clearStencilValueChanged(int)
        colorBufferChanged       : ClassVar[Signal] = ... # colorBufferChanged(QRenderTargetOutput*)

        class BufferType(enum.Flag):

            None_                    : Qt3DRender.QClearBuffers.BufferType = ... # 0x0
            ColorBuffer              : Qt3DRender.QClearBuffers.BufferType = ... # 0x1
            DepthBuffer              : Qt3DRender.QClearBuffers.BufferType = ... # 0x2
            ColorDepthBuffer         : Qt3DRender.QClearBuffers.BufferType = ... # 0x3
            StencilBuffer            : Qt3DRender.QClearBuffers.BufferType = ... # 0x4
            DepthStencilBuffer       : Qt3DRender.QClearBuffers.BufferType = ... # 0x6
            ColorDepthStencilBuffer  : Qt3DRender.QClearBuffers.BufferType = ... # 0x7
            AllBuffers               : Qt3DRender.QClearBuffers.BufferType = ... # 0xffffffff


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def buffers(self) -> PySide6.Qt3DRender.Qt3DRender.QClearBuffers.BufferType: ...
        def clearColor(self) -> PySide6.QtGui.QColor: ...
        def clearDepthValue(self) -> float: ...
        def clearStencilValue(self) -> int: ...
        def colorBuffer(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput: ...
        def setBuffers(self, buffers: PySide6.Qt3DRender.Qt3DRender.QClearBuffers.BufferType) -> None: ...
        def setClearColor(self, color: Union[PySide6.QtGui.QColor, str, PySide6.QtGui.QRgba64, Any, PySide6.QtCore.Qt.GlobalColor, int]) -> None: ...
        def setClearDepthValue(self, clearDepthValue: float) -> None: ...
        def setClearStencilValue(self, clearStencilValue: int) -> None: ...
        def setColorBuffer(self, buffer: PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput) -> None: ...

    class QClipPlane(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        distanceChanged          : ClassVar[Signal] = ... # distanceChanged(float)
        normalChanged            : ClassVar[Signal] = ... # normalChanged(QVector3D)
        planeIndexChanged        : ClassVar[Signal] = ... # planeIndexChanged(int)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def distance(self) -> float: ...
        def normal(self) -> PySide6.QtGui.QVector3D: ...
        def planeIndex(self) -> int: ...
        def setDistance(self, arg__1: float) -> None: ...
        def setNormal(self, arg__1: PySide6.QtGui.QVector3D) -> None: ...
        def setPlaneIndex(self, arg__1: int) -> None: ...

    class QColorMask(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        alphaMaskedChanged       : ClassVar[Signal] = ... # alphaMaskedChanged(bool)
        blueMaskedChanged        : ClassVar[Signal] = ... # blueMaskedChanged(bool)
        greenMaskedChanged       : ClassVar[Signal] = ... # greenMaskedChanged(bool)
        redMaskedChanged         : ClassVar[Signal] = ... # redMaskedChanged(bool)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def isAlphaMasked(self) -> bool: ...
        def isBlueMasked(self) -> bool: ...
        def isGreenMasked(self) -> bool: ...
        def isRedMasked(self) -> bool: ...
        def setAlphaMasked(self, alphaMasked: bool) -> None: ...
        def setBlueMasked(self, blueMasked: bool) -> None: ...
        def setGreenMasked(self, greenMasked: bool) -> None: ...
        def setRedMasked(self, redMasked: bool) -> None: ...

    class QComputeCommand(PySide6.Qt3DCore.Qt3DCore.QComponent):

        runTypeChanged           : ClassVar[Signal] = ... # runTypeChanged()
        workGroupXChanged        : ClassVar[Signal] = ... # workGroupXChanged()
        workGroupYChanged        : ClassVar[Signal] = ... # workGroupYChanged()
        workGroupZChanged        : ClassVar[Signal] = ... # workGroupZChanged()

        class RunType(enum.Enum):

            Continuous               : Qt3DRender.QComputeCommand.RunType = ... # 0x0
            Manual                   : Qt3DRender.QComputeCommand.RunType = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def runType(self) -> PySide6.Qt3DRender.Qt3DRender.QComputeCommand.RunType: ...
        def setRunType(self, runType: PySide6.Qt3DRender.Qt3DRender.QComputeCommand.RunType) -> None: ...
        def setWorkGroupX(self, workGroupX: int) -> None: ...
        def setWorkGroupY(self, workGroupY: int) -> None: ...
        def setWorkGroupZ(self, workGroupZ: int) -> None: ...
        @overload
        def trigger(self, frameCount: int = ...) -> None: ...
        @overload
        def trigger(self, workGroupX: int, workGroupY: int, workGroupZ: int, frameCount: int = ...) -> None: ...
        def workGroupX(self) -> int: ...
        def workGroupY(self) -> int: ...
        def workGroupZ(self) -> int: ...

    class QCullFace(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        modeChanged              : ClassVar[Signal] = ... # modeChanged(CullingMode)

        class CullingMode(enum.Enum):

            NoCulling                : Qt3DRender.QCullFace.CullingMode = ... # 0x0
            Front                    : Qt3DRender.QCullFace.CullingMode = ... # 0x404
            Back                     : Qt3DRender.QCullFace.CullingMode = ... # 0x405
            FrontAndBack             : Qt3DRender.QCullFace.CullingMode = ... # 0x408


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def mode(self) -> PySide6.Qt3DRender.Qt3DRender.QCullFace.CullingMode: ...
        def setMode(self, mode: PySide6.Qt3DRender.Qt3DRender.QCullFace.CullingMode) -> None: ...

    class QDebugOverlay(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QDepthRange(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        farValueChanged          : ClassVar[Signal] = ... # farValueChanged(double)
        nearValueChanged         : ClassVar[Signal] = ... # nearValueChanged(double)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def farValue(self) -> float: ...
        def nearValue(self) -> float: ...
        def setFarValue(self, value: float) -> None: ...
        def setNearValue(self, value: float) -> None: ...

    class QDepthTest(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        depthFunctionChanged     : ClassVar[Signal] = ... # depthFunctionChanged(DepthFunction)

        class DepthFunction(enum.Enum):

            Never                    : Qt3DRender.QDepthTest.DepthFunction = ... # 0x200
            Less                     : Qt3DRender.QDepthTest.DepthFunction = ... # 0x201
            Equal                    : Qt3DRender.QDepthTest.DepthFunction = ... # 0x202
            LessOrEqual              : Qt3DRender.QDepthTest.DepthFunction = ... # 0x203
            Greater                  : Qt3DRender.QDepthTest.DepthFunction = ... # 0x204
            NotEqual                 : Qt3DRender.QDepthTest.DepthFunction = ... # 0x205
            GreaterOrEqual           : Qt3DRender.QDepthTest.DepthFunction = ... # 0x206
            Always                   : Qt3DRender.QDepthTest.DepthFunction = ... # 0x207


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def depthFunction(self) -> PySide6.Qt3DRender.Qt3DRender.QDepthTest.DepthFunction: ...
        def setDepthFunction(self, depthFunction: PySide6.Qt3DRender.Qt3DRender.QDepthTest.DepthFunction) -> None: ...

    class QDirectionalLight(PySide6.Qt3DRender.Qt3DRender.QAbstractLight):

        worldDirectionChanged    : ClassVar[Signal] = ... # worldDirectionChanged(QVector3D)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def setWorldDirection(self, worldDirection: PySide6.QtGui.QVector3D) -> None: ...
        def worldDirection(self) -> PySide6.QtGui.QVector3D: ...

    class QDispatchCompute(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        workGroupXChanged        : ClassVar[Signal] = ... # workGroupXChanged()
        workGroupYChanged        : ClassVar[Signal] = ... # workGroupYChanged()
        workGroupZChanged        : ClassVar[Signal] = ... # workGroupZChanged()

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def setWorkGroupX(self, workGroupX: int) -> None: ...
        def setWorkGroupY(self, workGroupY: int) -> None: ...
        def setWorkGroupZ(self, workGroupZ: int) -> None: ...
        def workGroupX(self) -> int: ...
        def workGroupY(self) -> int: ...
        def workGroupZ(self) -> int: ...

    class QDithering(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QEffect(PySide6.Qt3DCore.Qt3DCore.QNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addParameter(self, parameter: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def addTechnique(self, t: PySide6.Qt3DRender.Qt3DRender.QTechnique) -> None: ...
        def parameters(self) -> List[PySide6.Qt3DRender.Qt3DRender.QParameter]: ...
        def removeParameter(self, parameter: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def removeTechnique(self, t: PySide6.Qt3DRender.Qt3DRender.QTechnique) -> None: ...
        def techniques(self) -> List[PySide6.Qt3DRender.Qt3DRender.QTechnique]: ...

    class QEnvironmentLight(PySide6.Qt3DCore.Qt3DCore.QComponent):

        irradianceChanged        : ClassVar[Signal] = ... # irradianceChanged(Qt3DRender::QAbstractTexture*)
        specularChanged          : ClassVar[Signal] = ... # specularChanged(Qt3DRender::QAbstractTexture*)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def irradiance(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture: ...
        def setIrradiance(self, irradiance: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture) -> None: ...
        def setSpecular(self, specular: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture) -> None: ...
        def specular(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture: ...

    class QFilterKey(PySide6.Qt3DCore.Qt3DCore.QNode):

        nameChanged              : ClassVar[Signal] = ... # nameChanged(QString)
        valueChanged             : ClassVar[Signal] = ... # valueChanged(QVariant)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def name(self) -> str: ...
        def setName(self, customType: str) -> None: ...
        def setValue(self, value: Any) -> None: ...
        def value(self) -> Any: ...

    class QFrameGraphNode(PySide6.Qt3DCore.Qt3DCore.QNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def parentFrameGraphNode(self) -> PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode: ...

    class QFrontFace(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        directionChanged         : ClassVar[Signal] = ... # directionChanged(WindingDirection)

        class WindingDirection(enum.Enum):

            ClockWise                : Qt3DRender.QFrontFace.WindingDirection = ... # 0x900
            CounterClockWise         : Qt3DRender.QFrontFace.WindingDirection = ... # 0x901


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def direction(self) -> PySide6.Qt3DRender.Qt3DRender.QFrontFace.WindingDirection: ...
        def setDirection(self, direction: PySide6.Qt3DRender.Qt3DRender.QFrontFace.WindingDirection) -> None: ...

    class QFrustumCulling(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QGeometryRenderer(PySide6.Qt3DCore.Qt3DCore.QBoundingVolume):

        firstInstanceChanged     : ClassVar[Signal] = ... # firstInstanceChanged(int)
        firstVertexChanged       : ClassVar[Signal] = ... # firstVertexChanged(int)
        geometryChanged          : ClassVar[Signal] = ... # geometryChanged(Qt3DCore::QGeometry*)
        indexBufferByteOffsetChanged: ClassVar[Signal] = ... # indexBufferByteOffsetChanged(int)
        indexOffsetChanged       : ClassVar[Signal] = ... # indexOffsetChanged(int)
        instanceCountChanged     : ClassVar[Signal] = ... # instanceCountChanged(int)
        primitiveRestartEnabledChanged: ClassVar[Signal] = ... # primitiveRestartEnabledChanged(bool)
        primitiveTypeChanged     : ClassVar[Signal] = ... # primitiveTypeChanged(PrimitiveType)
        restartIndexValueChanged : ClassVar[Signal] = ... # restartIndexValueChanged(int)
        sortIndexChanged         : ClassVar[Signal] = ... # sortIndexChanged(float)
        vertexCountChanged       : ClassVar[Signal] = ... # vertexCountChanged(int)
        verticesPerPatchChanged  : ClassVar[Signal] = ... # verticesPerPatchChanged(int)

        class PrimitiveType(enum.Enum):

            Points                   : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0x0
            Lines                    : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0x1
            LineLoop                 : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0x2
            LineStrip                : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0x3
            Triangles                : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0x4
            TriangleStrip            : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0x5
            TriangleFan              : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0x6
            LinesAdjacency           : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0xa
            LineStripAdjacency       : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0xb
            TrianglesAdjacency       : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0xc
            TriangleStripAdjacency   : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0xd
            Patches                  : Qt3DRender.QGeometryRenderer.PrimitiveType = ... # 0xe


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def firstInstance(self) -> int: ...
        def firstVertex(self) -> int: ...
        def geometry(self) -> PySide6.Qt3DCore.Qt3DCore.QGeometry: ...
        def indexBufferByteOffset(self) -> int: ...
        def indexOffset(self) -> int: ...
        def instanceCount(self) -> int: ...
        def primitiveRestartEnabled(self) -> bool: ...
        def primitiveType(self) -> PySide6.Qt3DRender.Qt3DRender.QGeometryRenderer.PrimitiveType: ...
        def restartIndexValue(self) -> int: ...
        def setFirstInstance(self, firstInstance: int) -> None: ...
        def setFirstVertex(self, firstVertex: int) -> None: ...
        def setGeometry(self, geometry: PySide6.Qt3DCore.Qt3DCore.QGeometry) -> None: ...
        def setIndexBufferByteOffset(self, offset: int) -> None: ...
        def setIndexOffset(self, indexOffset: int) -> None: ...
        def setInstanceCount(self, instanceCount: int) -> None: ...
        def setPrimitiveRestartEnabled(self, enabled: bool) -> None: ...
        def setPrimitiveType(self, primitiveType: PySide6.Qt3DRender.Qt3DRender.QGeometryRenderer.PrimitiveType) -> None: ...
        def setRestartIndexValue(self, index: int) -> None: ...
        def setSortIndex(self, sortIndex: float) -> None: ...
        def setVertexCount(self, vertexCount: int) -> None: ...
        def setVerticesPerPatch(self, verticesPerPatch: int) -> None: ...
        def sortIndex(self) -> float: ...
        def vertexCount(self) -> int: ...
        def verticesPerPatch(self) -> int: ...

    class QGraphicsApiFilter(PySide6.QtCore.QObject):

        apiChanged               : ClassVar[Signal] = ... # apiChanged(Qt3DRender::QGraphicsApiFilter::Api)
        extensionsChanged        : ClassVar[Signal] = ... # extensionsChanged(QStringList)
        graphicsApiFilterChanged : ClassVar[Signal] = ... # graphicsApiFilterChanged()
        majorVersionChanged      : ClassVar[Signal] = ... # majorVersionChanged(int)
        minorVersionChanged      : ClassVar[Signal] = ... # minorVersionChanged(int)
        profileChanged           : ClassVar[Signal] = ... # profileChanged(Qt3DRender::QGraphicsApiFilter::OpenGLProfile)
        vendorChanged            : ClassVar[Signal] = ... # vendorChanged(QString)

        class Api(enum.Enum):

            OpenGL                   : Qt3DRender.QGraphicsApiFilter.Api = ... # 0x1
            OpenGLES                 : Qt3DRender.QGraphicsApiFilter.Api = ... # 0x2
            Vulkan                   : Qt3DRender.QGraphicsApiFilter.Api = ... # 0x3
            DirectX                  : Qt3DRender.QGraphicsApiFilter.Api = ... # 0x4
            RHI                      : Qt3DRender.QGraphicsApiFilter.Api = ... # 0x5

        class OpenGLProfile(enum.Enum):

            NoProfile                : Qt3DRender.QGraphicsApiFilter.OpenGLProfile = ... # 0x0
            CoreProfile              : Qt3DRender.QGraphicsApiFilter.OpenGLProfile = ... # 0x1
            CompatibilityProfile     : Qt3DRender.QGraphicsApiFilter.OpenGLProfile = ... # 0x2


        def __init__(self, parent: Optional[PySide6.QtCore.QObject] = ...) -> None: ...

        def api(self) -> PySide6.Qt3DRender.Qt3DRender.QGraphicsApiFilter.Api: ...
        def extensions(self) -> List[str]: ...
        def majorVersion(self) -> int: ...
        def minorVersion(self) -> int: ...
        def profile(self) -> PySide6.Qt3DRender.Qt3DRender.QGraphicsApiFilter.OpenGLProfile: ...
        def setApi(self, api: PySide6.Qt3DRender.Qt3DRender.QGraphicsApiFilter.Api) -> None: ...
        def setExtensions(self, extensions: Sequence[str]) -> None: ...
        def setMajorVersion(self, majorVersion: int) -> None: ...
        def setMinorVersion(self, minorVersion: int) -> None: ...
        def setProfile(self, profile: PySide6.Qt3DRender.Qt3DRender.QGraphicsApiFilter.OpenGLProfile) -> None: ...
        def setVendor(self, vendor: str) -> None: ...
        def vendor(self) -> str: ...

    class QLayer(PySide6.Qt3DCore.Qt3DCore.QComponent):

        recursiveChanged         : ClassVar[Signal] = ... # recursiveChanged()

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def recursive(self) -> bool: ...
        def setRecursive(self, recursive: bool) -> None: ...

    class QLayerFilter(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        filterModeChanged        : ClassVar[Signal] = ... # filterModeChanged(FilterMode)

        class FilterMode(enum.Enum):

            AcceptAnyMatchingLayers  : Qt3DRender.QLayerFilter.FilterMode = ... # 0x0
            AcceptAllMatchingLayers  : Qt3DRender.QLayerFilter.FilterMode = ... # 0x1
            DiscardAnyMatchingLayers : Qt3DRender.QLayerFilter.FilterMode = ... # 0x2
            DiscardAllMatchingLayers : Qt3DRender.QLayerFilter.FilterMode = ... # 0x3


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addLayer(self, layer: PySide6.Qt3DRender.Qt3DRender.QLayer) -> None: ...
        def filterMode(self) -> PySide6.Qt3DRender.Qt3DRender.QLayerFilter.FilterMode: ...
        def layers(self) -> List[PySide6.Qt3DRender.Qt3DRender.QLayer]: ...
        def removeLayer(self, layer: PySide6.Qt3DRender.Qt3DRender.QLayer) -> None: ...
        def setFilterMode(self, filterMode: PySide6.Qt3DRender.Qt3DRender.QLayerFilter.FilterMode) -> None: ...

    class QLevelOfDetail(PySide6.Qt3DCore.Qt3DCore.QComponent):

        cameraChanged            : ClassVar[Signal] = ... # cameraChanged(QCamera*)
        currentIndexChanged      : ClassVar[Signal] = ... # currentIndexChanged(int)
        thresholdTypeChanged     : ClassVar[Signal] = ... # thresholdTypeChanged(ThresholdType)
        thresholdsChanged        : ClassVar[Signal] = ... # thresholdsChanged(QList<qreal>)
        volumeOverrideChanged    : ClassVar[Signal] = ... # volumeOverrideChanged(QLevelOfDetailBoundingSphere)

        class ThresholdType(enum.Enum):

            DistanceToCameraThreshold: Qt3DRender.QLevelOfDetail.ThresholdType = ... # 0x0
            ProjectedScreenPixelSizeThreshold: Qt3DRender.QLevelOfDetail.ThresholdType = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def camera(self) -> PySide6.Qt3DRender.Qt3DRender.QCamera: ...
        def createBoundingSphere(self, center: PySide6.QtGui.QVector3D, radius: float) -> PySide6.Qt3DRender.Qt3DRender.QLevelOfDetailBoundingSphere: ...
        def currentIndex(self) -> int: ...
        def setCamera(self, camera: PySide6.Qt3DRender.Qt3DRender.QCamera) -> None: ...
        def setCurrentIndex(self, currentIndex: int) -> None: ...
        def setThresholdType(self, thresholdType: PySide6.Qt3DRender.Qt3DRender.QLevelOfDetail.ThresholdType) -> None: ...
        def setThresholds(self, thresholds: Sequence[float]) -> None: ...
        def setVolumeOverride(self, volumeOverride: PySide6.Qt3DRender.Qt3DRender.QLevelOfDetailBoundingSphere) -> None: ...
        def thresholdType(self) -> PySide6.Qt3DRender.Qt3DRender.QLevelOfDetail.ThresholdType: ...
        def thresholds(self) -> List[float]: ...
        def volumeOverride(self) -> PySide6.Qt3DRender.Qt3DRender.QLevelOfDetailBoundingSphere: ...

    class QLevelOfDetailBoundingSphere(Shiboken.Object):

        @overload
        def __init__(self, center: PySide6.QtGui.QVector3D = ..., radius: float = ...) -> None: ...
        @overload
        def __init__(self, other: PySide6.Qt3DRender.Qt3DRender.QLevelOfDetailBoundingSphere) -> None: ...

        def center(self) -> PySide6.QtGui.QVector3D: ...
        def isEmpty(self) -> bool: ...
        def radius(self) -> float: ...

    class QLevelOfDetailSwitch(PySide6.Qt3DRender.Qt3DRender.QLevelOfDetail):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QLineWidth(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        smoothChanged            : ClassVar[Signal] = ... # smoothChanged(bool)
        valueChanged             : ClassVar[Signal] = ... # valueChanged(float)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def setSmooth(self, enabled: bool) -> None: ...
        def setValue(self, value: float) -> None: ...
        def smooth(self) -> bool: ...
        def value(self) -> float: ...

    class QMaterial(PySide6.Qt3DCore.Qt3DCore.QComponent):

        effectChanged            : ClassVar[Signal] = ... # effectChanged(QEffect*)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addParameter(self, parameter: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def effect(self) -> PySide6.Qt3DRender.Qt3DRender.QEffect: ...
        def parameters(self) -> List[PySide6.Qt3DRender.Qt3DRender.QParameter]: ...
        def removeParameter(self, parameter: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def setEffect(self, effect: PySide6.Qt3DRender.Qt3DRender.QEffect) -> None: ...

    class QMemoryBarrier(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        waitOperationsChanged    : ClassVar[Signal] = ... # waitOperationsChanged(QMemoryBarrier::Operations)

        class Operation(enum.Flag):

            None_                    : Qt3DRender.QMemoryBarrier.Operation = ... # 0x0
            VertexAttributeArray     : Qt3DRender.QMemoryBarrier.Operation = ... # 0x1
            ElementArray             : Qt3DRender.QMemoryBarrier.Operation = ... # 0x2
            Uniform                  : Qt3DRender.QMemoryBarrier.Operation = ... # 0x4
            TextureFetch             : Qt3DRender.QMemoryBarrier.Operation = ... # 0x8
            ShaderImageAccess        : Qt3DRender.QMemoryBarrier.Operation = ... # 0x10
            Command                  : Qt3DRender.QMemoryBarrier.Operation = ... # 0x20
            PixelBuffer              : Qt3DRender.QMemoryBarrier.Operation = ... # 0x40
            TextureUpdate            : Qt3DRender.QMemoryBarrier.Operation = ... # 0x80
            BufferUpdate             : Qt3DRender.QMemoryBarrier.Operation = ... # 0x100
            FrameBuffer              : Qt3DRender.QMemoryBarrier.Operation = ... # 0x200
            TransformFeedback        : Qt3DRender.QMemoryBarrier.Operation = ... # 0x400
            AtomicCounter            : Qt3DRender.QMemoryBarrier.Operation = ... # 0x800
            ShaderStorage            : Qt3DRender.QMemoryBarrier.Operation = ... # 0x1000
            QueryBuffer              : Qt3DRender.QMemoryBarrier.Operation = ... # 0x2000
            All                      : Qt3DRender.QMemoryBarrier.Operation = ... # 0xffffffff


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def setWaitOperations(self, operations: PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier.Operation) -> None: ...
        def waitOperations(self) -> PySide6.Qt3DRender.Qt3DRender.QMemoryBarrier.Operation: ...

    class QMesh(PySide6.Qt3DRender.Qt3DRender.QGeometryRenderer):

        meshNameChanged          : ClassVar[Signal] = ... # meshNameChanged(QString)
        sourceChanged            : ClassVar[Signal] = ... # sourceChanged(QUrl)
        statusChanged            : ClassVar[Signal] = ... # statusChanged(Status)

        class Status(enum.Enum):

            None_                    : Qt3DRender.QMesh.Status = ... # 0x0
            Loading                  : Qt3DRender.QMesh.Status = ... # 0x1
            Ready                    : Qt3DRender.QMesh.Status = ... # 0x2
            Error                    : Qt3DRender.QMesh.Status = ... # 0x3


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def meshName(self) -> str: ...
        def setMeshName(self, meshName: str) -> None: ...
        def setSource(self, source: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def source(self) -> PySide6.QtCore.QUrl: ...
        def status(self) -> PySide6.Qt3DRender.Qt3DRender.QMesh.Status: ...

    class QMultiSampleAntiAliasing(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QNoDepthMask(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QNoDraw(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QNoPicking(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QObjectPicker(PySide6.Qt3DCore.Qt3DCore.QComponent):

        clicked                  : ClassVar[Signal] = ... # clicked(Qt3DRender::QPickEvent*)
        containsMouseChanged     : ClassVar[Signal] = ... # containsMouseChanged(bool)
        dragEnabledChanged       : ClassVar[Signal] = ... # dragEnabledChanged(bool)
        entered                  : ClassVar[Signal] = ... # entered()
        exited                   : ClassVar[Signal] = ... # exited()
        hoverEnabledChanged      : ClassVar[Signal] = ... # hoverEnabledChanged(bool)
        moved                    : ClassVar[Signal] = ... # moved(Qt3DRender::QPickEvent*)
        pressed                  : ClassVar[Signal] = ... # pressed(Qt3DRender::QPickEvent*)
        pressedChanged           : ClassVar[Signal] = ... # pressedChanged(bool)
        priorityChanged          : ClassVar[Signal] = ... # priorityChanged(int)
        released                 : ClassVar[Signal] = ... # released(Qt3DRender::QPickEvent*)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def containsMouse(self) -> bool: ...
        def isDragEnabled(self) -> bool: ...
        def isHoverEnabled(self) -> bool: ...
        def isPressed(self) -> bool: ...
        def priority(self) -> int: ...
        def setDragEnabled(self, dragEnabled: bool) -> None: ...
        def setHoverEnabled(self, hoverEnabled: bool) -> None: ...
        def setPriority(self, priority: int) -> None: ...

    class QPaintedTextureImage(PySide6.Qt3DRender.Qt3DRender.QAbstractTextureImage):

        heightChanged            : ClassVar[Signal] = ... # heightChanged(int)
        sizeChanged              : ClassVar[Signal] = ... # sizeChanged(QSize)
        widthChanged             : ClassVar[Signal] = ... # widthChanged(int)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def dataGenerator(self) -> Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageDataGenerator]: ...
        def height(self) -> int: ...
        def paint(self, painter: PySide6.QtGui.QPainter) -> None: ...
        def setHeight(self, h: int) -> None: ...
        def setSize(self, size: PySide6.QtCore.QSize) -> None: ...
        def setWidth(self, w: int) -> None: ...
        def size(self) -> PySide6.QtCore.QSize: ...
        def update(self, rect: PySide6.QtCore.QRect = ...) -> None: ...
        def width(self) -> int: ...

    class QParameter(PySide6.Qt3DCore.Qt3DCore.QNode):

        nameChanged              : ClassVar[Signal] = ... # nameChanged(QString)
        valueChanged             : ClassVar[Signal] = ... # valueChanged(QVariant)

        @overload
        def __init__(self, name: str, texture: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...
        @overload
        def __init__(self, name: str, value: Any, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...
        @overload
        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def name(self) -> str: ...
        def setName(self, name: str) -> None: ...
        def setValue(self, dv: Any) -> None: ...
        def value(self) -> Any: ...

    class QPickEvent(PySide6.QtCore.QObject):

        acceptedChanged          : ClassVar[Signal] = ... # acceptedChanged(bool)

        class Buttons(enum.Enum):

            NoButton                 : Qt3DRender.QPickEvent.Buttons = ... # 0x0
            LeftButton               : Qt3DRender.QPickEvent.Buttons = ... # 0x1
            RightButton              : Qt3DRender.QPickEvent.Buttons = ... # 0x2
            MiddleButton             : Qt3DRender.QPickEvent.Buttons = ... # 0x4
            BackButton               : Qt3DRender.QPickEvent.Buttons = ... # 0x8

        class Modifiers(enum.Enum):

            NoModifier               : Qt3DRender.QPickEvent.Modifiers = ... # 0x0
            ShiftModifier            : Qt3DRender.QPickEvent.Modifiers = ... # 0x2000000
            ControlModifier          : Qt3DRender.QPickEvent.Modifiers = ... # 0x4000000
            AltModifier              : Qt3DRender.QPickEvent.Modifiers = ... # 0x8000000
            MetaModifier             : Qt3DRender.QPickEvent.Modifiers = ... # 0x10000000
            KeypadModifier           : Qt3DRender.QPickEvent.Modifiers = ... # 0x20000000


        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, position: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint, PySide6.QtGui.QPainterPath.Element], worldIntersection: PySide6.QtGui.QVector3D, localIntersection: PySide6.QtGui.QVector3D, distance: float) -> None: ...
        @overload
        def __init__(self, position: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint, PySide6.QtGui.QPainterPath.Element], worldIntersection: PySide6.QtGui.QVector3D, localIntersection: PySide6.QtGui.QVector3D, distance: float, button: PySide6.Qt3DRender.Qt3DRender.QPickEvent.Buttons, buttons: int, modifiers: int) -> None: ...

        def button(self) -> PySide6.Qt3DRender.Qt3DRender.QPickEvent.Buttons: ...
        def buttons(self) -> int: ...
        def distance(self) -> float: ...
        def entity(self) -> PySide6.Qt3DCore.Qt3DCore.QEntity: ...
        def isAccepted(self) -> bool: ...
        def localIntersection(self) -> PySide6.QtGui.QVector3D: ...
        def modifiers(self) -> int: ...
        def position(self) -> PySide6.QtCore.QPointF: ...
        def setAccepted(self, accepted: bool) -> None: ...
        def viewport(self) -> PySide6.Qt3DRender.Qt3DRender.QViewport: ...
        def worldIntersection(self) -> PySide6.QtGui.QVector3D: ...

    class QPickLineEvent(PySide6.Qt3DRender.Qt3DRender.QPickEvent):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, position: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint, PySide6.QtGui.QPainterPath.Element], worldIntersection: PySide6.QtGui.QVector3D, localIntersection: PySide6.QtGui.QVector3D, distance: float, edgeIndex: int, vertex1Index: int, vertex2Index: int, button: PySide6.Qt3DRender.Qt3DRender.QPickEvent.Buttons, buttons: int, modifiers: int) -> None: ...

        def edgeIndex(self) -> int: ...
        def vertex1Index(self) -> int: ...
        def vertex2Index(self) -> int: ...

    class QPickPointEvent(PySide6.Qt3DRender.Qt3DRender.QPickEvent):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, position: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint, PySide6.QtGui.QPainterPath.Element], worldIntersection: PySide6.QtGui.QVector3D, localIntersection: PySide6.QtGui.QVector3D, distance: float, pointIndex: int, button: PySide6.Qt3DRender.Qt3DRender.QPickEvent.Buttons, buttons: int, modifiers: int) -> None: ...

        def pointIndex(self) -> int: ...

    class QPickTriangleEvent(PySide6.Qt3DRender.Qt3DRender.QPickEvent):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, position: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint, PySide6.QtGui.QPainterPath.Element], worldIntersection: PySide6.QtGui.QVector3D, localIntersection: PySide6.QtGui.QVector3D, distance: float, triangleIndex: int, vertex1Index: int, vertex2Index: int, vertex3Index: int) -> None: ...
        @overload
        def __init__(self, position: Union[PySide6.QtCore.QPointF, PySide6.QtCore.QPoint, PySide6.QtGui.QPainterPath.Element], worldIntersection: PySide6.QtGui.QVector3D, localIntersection: PySide6.QtGui.QVector3D, distance: float, triangleIndex: int, vertex1Index: int, vertex2Index: int, vertex3Index: int, button: PySide6.Qt3DRender.Qt3DRender.QPickEvent.Buttons, buttons: int, modifiers: int, uvw: PySide6.QtGui.QVector3D) -> None: ...

        def triangleIndex(self) -> int: ...
        def uvw(self) -> PySide6.QtGui.QVector3D: ...
        def vertex1Index(self) -> int: ...
        def vertex2Index(self) -> int: ...
        def vertex3Index(self) -> int: ...

    class QPickingProxy(PySide6.Qt3DCore.Qt3DCore.QBoundingVolume):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QPickingSettings(PySide6.Qt3DCore.Qt3DCore.QNode):

        faceOrientationPickingModeChanged: ClassVar[Signal] = ... # faceOrientationPickingModeChanged(QPickingSettings::FaceOrientationPickingMode)
        pickMethodChanged        : ClassVar[Signal] = ... # pickMethodChanged(QPickingSettings::PickMethod)
        pickResultModeChanged    : ClassVar[Signal] = ... # pickResultModeChanged(QPickingSettings::PickResultMode)
        worldSpaceToleranceChanged: ClassVar[Signal] = ... # worldSpaceToleranceChanged(float)

        class FaceOrientationPickingMode(enum.Enum):

            FrontFace                : Qt3DRender.QPickingSettings.FaceOrientationPickingMode = ... # 0x1
            BackFace                 : Qt3DRender.QPickingSettings.FaceOrientationPickingMode = ... # 0x2
            FrontAndBackFace         : Qt3DRender.QPickingSettings.FaceOrientationPickingMode = ... # 0x3

        class PickMethod(enum.Enum):

            BoundingVolumePicking    : Qt3DRender.QPickingSettings.PickMethod = ... # 0x0
            TrianglePicking          : Qt3DRender.QPickingSettings.PickMethod = ... # 0x1
            LinePicking              : Qt3DRender.QPickingSettings.PickMethod = ... # 0x2
            PointPicking             : Qt3DRender.QPickingSettings.PickMethod = ... # 0x4
            PrimitivePicking         : Qt3DRender.QPickingSettings.PickMethod = ... # 0x7

        class PickResultMode(enum.Enum):

            NearestPick              : Qt3DRender.QPickingSettings.PickResultMode = ... # 0x0
            AllPicks                 : Qt3DRender.QPickingSettings.PickResultMode = ... # 0x1
            NearestPriorityPick      : Qt3DRender.QPickingSettings.PickResultMode = ... # 0x2


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def faceOrientationPickingMode(self) -> PySide6.Qt3DRender.Qt3DRender.QPickingSettings.FaceOrientationPickingMode: ...
        def pickMethod(self) -> PySide6.Qt3DRender.Qt3DRender.QPickingSettings.PickMethod: ...
        def pickResultMode(self) -> PySide6.Qt3DRender.Qt3DRender.QPickingSettings.PickResultMode: ...
        def setFaceOrientationPickingMode(self, faceOrientationPickingMode: PySide6.Qt3DRender.Qt3DRender.QPickingSettings.FaceOrientationPickingMode) -> None: ...
        def setPickMethod(self, pickMethod: PySide6.Qt3DRender.Qt3DRender.QPickingSettings.PickMethod) -> None: ...
        def setPickResultMode(self, pickResultMode: PySide6.Qt3DRender.Qt3DRender.QPickingSettings.PickResultMode) -> None: ...
        def setWorldSpaceTolerance(self, worldSpaceTolerance: float) -> None: ...
        def worldSpaceTolerance(self) -> float: ...

    class QPointLight(PySide6.Qt3DRender.Qt3DRender.QAbstractLight):

        constantAttenuationChanged: ClassVar[Signal] = ... # constantAttenuationChanged(float)
        linearAttenuationChanged : ClassVar[Signal] = ... # linearAttenuationChanged(float)
        quadraticAttenuationChanged: ClassVar[Signal] = ... # quadraticAttenuationChanged(float)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def constantAttenuation(self) -> float: ...
        def linearAttenuation(self) -> float: ...
        def quadraticAttenuation(self) -> float: ...
        def setConstantAttenuation(self, value: float) -> None: ...
        def setLinearAttenuation(self, value: float) -> None: ...
        def setQuadraticAttenuation(self, value: float) -> None: ...

    class QPointSize(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        sizeModeChanged          : ClassVar[Signal] = ... # sizeModeChanged(SizeMode)
        valueChanged             : ClassVar[Signal] = ... # valueChanged(float)

        class SizeMode(enum.Enum):

            Fixed                    : Qt3DRender.QPointSize.SizeMode = ... # 0x0
            Programmable             : Qt3DRender.QPointSize.SizeMode = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def setSizeMode(self, sizeMode: PySide6.Qt3DRender.Qt3DRender.QPointSize.SizeMode) -> None: ...
        def setValue(self, value: float) -> None: ...
        def sizeMode(self) -> PySide6.Qt3DRender.Qt3DRender.QPointSize.SizeMode: ...
        def value(self) -> float: ...

    class QPolygonOffset(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        depthStepsChanged        : ClassVar[Signal] = ... # depthStepsChanged(float)
        scaleFactorChanged       : ClassVar[Signal] = ... # scaleFactorChanged(float)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def depthSteps(self) -> float: ...
        def scaleFactor(self) -> float: ...
        def setDepthSteps(self, depthSteps: float) -> None: ...
        def setScaleFactor(self, scaleFactor: float) -> None: ...

    class QProximityFilter(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        distanceThresholdChanged : ClassVar[Signal] = ... # distanceThresholdChanged(float)
        entityChanged            : ClassVar[Signal] = ... # entityChanged(Qt3DCore::QEntity*)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def distanceThreshold(self) -> float: ...
        def entity(self) -> PySide6.Qt3DCore.Qt3DCore.QEntity: ...
        def setDistanceThreshold(self, distanceThreshold: float) -> None: ...
        def setEntity(self, entity: PySide6.Qt3DCore.Qt3DCore.QEntity) -> None: ...

    class QRasterMode(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        faceModeChanged          : ClassVar[Signal] = ... # faceModeChanged(FaceMode)
        rasterModeChanged        : ClassVar[Signal] = ... # rasterModeChanged(RasterMode)

        class FaceMode(enum.Enum):

            Front                    : Qt3DRender.QRasterMode.FaceMode = ... # 0x404
            Back                     : Qt3DRender.QRasterMode.FaceMode = ... # 0x405
            FrontAndBack             : Qt3DRender.QRasterMode.FaceMode = ... # 0x408

        class RasterMode(enum.Enum):

            Points                   : Qt3DRender.QRasterMode.RasterMode = ... # 0x1b00
            Lines                    : Qt3DRender.QRasterMode.RasterMode = ... # 0x1b01
            Fill                     : Qt3DRender.QRasterMode.RasterMode = ... # 0x1b02


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def faceMode(self) -> PySide6.Qt3DRender.Qt3DRender.QRasterMode.FaceMode: ...
        def rasterMode(self) -> PySide6.Qt3DRender.Qt3DRender.QRasterMode.RasterMode: ...
        def setFaceMode(self, faceMode: PySide6.Qt3DRender.Qt3DRender.QRasterMode.FaceMode) -> None: ...
        def setRasterMode(self, rasterMode: PySide6.Qt3DRender.Qt3DRender.QRasterMode.RasterMode) -> None: ...

    class QRayCaster(PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster):

        directionChanged         : ClassVar[Signal] = ... # directionChanged(QVector3D)
        lengthChanged            : ClassVar[Signal] = ... # lengthChanged(float)
        originChanged            : ClassVar[Signal] = ... # originChanged(QVector3D)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def direction(self) -> PySide6.QtGui.QVector3D: ...
        def length(self) -> float: ...
        def origin(self) -> PySide6.QtGui.QVector3D: ...
        def pick(self, origin: PySide6.QtGui.QVector3D, direction: PySide6.QtGui.QVector3D, length: float) -> List[PySide6.Qt3DRender.Qt3DRender.QRayCasterHit]: ...
        def setDirection(self, direction: PySide6.QtGui.QVector3D) -> None: ...
        def setLength(self, length: float) -> None: ...
        def setOrigin(self, origin: PySide6.QtGui.QVector3D) -> None: ...
        @overload
        def trigger(self) -> None: ...
        @overload
        def trigger(self, origin: PySide6.QtGui.QVector3D, direction: PySide6.QtGui.QVector3D, length: float) -> None: ...

    class QRayCasterHit(Shiboken.Object):

        class HitType(enum.Enum):

            TriangleHit              : Qt3DRender.QRayCasterHit.HitType = ... # 0x0
            LineHit                  : Qt3DRender.QRayCasterHit.HitType = ... # 0x1
            PointHit                 : Qt3DRender.QRayCasterHit.HitType = ... # 0x2
            EntityHit                : Qt3DRender.QRayCasterHit.HitType = ... # 0x3


        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, other: PySide6.Qt3DRender.Qt3DRender.QRayCasterHit) -> None: ...
        @overload
        def __init__(self, type: PySide6.Qt3DRender.Qt3DRender.QRayCasterHit.HitType, id: PySide6.Qt3DCore.Qt3DCore.QNodeId, distance: float, localIntersect: PySide6.QtGui.QVector3D, worldIntersect: PySide6.QtGui.QVector3D, primitiveIndex: int, v1: int, v2: int, v3: int) -> None: ...

        @staticmethod
        def __copy__() -> None: ...
        def distance(self) -> float: ...
        def entity(self) -> PySide6.Qt3DCore.Qt3DCore.QEntity: ...
        def entityId(self) -> PySide6.Qt3DCore.Qt3DCore.QNodeId: ...
        def localIntersection(self) -> PySide6.QtGui.QVector3D: ...
        def primitiveIndex(self) -> int: ...
        def toString(self) -> str: ...
        def type(self) -> PySide6.Qt3DRender.Qt3DRender.QRayCasterHit.HitType: ...
        def vertex1Index(self) -> int: ...
        def vertex2Index(self) -> int: ...
        def vertex3Index(self) -> int: ...
        def worldIntersection(self) -> PySide6.QtGui.QVector3D: ...

    class QRenderAspect(PySide6.Qt3DCore.Qt3DCore.QAbstractAspect):

        class SubmissionType(enum.Enum):

            Automatic                : Qt3DRender.QRenderAspect.SubmissionType = ... # 0x0
            Manual                   : Qt3DRender.QRenderAspect.SubmissionType = ... # 0x1


        @overload
        def __init__(self, parent: Optional[PySide6.QtCore.QObject] = ...) -> None: ...
        @overload
        def __init__(self, submissionType: PySide6.Qt3DRender.Qt3DRender.QRenderAspect.SubmissionType, parent: Optional[PySide6.QtCore.QObject] = ...) -> None: ...

        def dependencies(self) -> List[str]: ...

    class QRenderCapabilities(PySide6.QtCore.QObject):

        class API(enum.Enum):

            OpenGL                   : Qt3DRender.QRenderCapabilities.API = ... # 0x1
            OpenGLES                 : Qt3DRender.QRenderCapabilities.API = ... # 0x2
            Vulkan                   : Qt3DRender.QRenderCapabilities.API = ... # 0x3
            DirectX                  : Qt3DRender.QRenderCapabilities.API = ... # 0x4
            RHI                      : Qt3DRender.QRenderCapabilities.API = ... # 0x5

        class Profile(enum.Enum):

            NoProfile                : Qt3DRender.QRenderCapabilities.Profile = ... # 0x0
            CoreProfile              : Qt3DRender.QRenderCapabilities.Profile = ... # 0x1
            CompatibilityProfile     : Qt3DRender.QRenderCapabilities.Profile = ... # 0x2


        def __init__(self, parent: Optional[PySide6.QtCore.QObject] = ...) -> None: ...

        def api(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderCapabilities.API: ...
        def driverVersion(self) -> str: ...
        def extensions(self) -> List[str]: ...
        def glslVersion(self) -> str: ...
        def isValid(self) -> bool: ...
        def majorVersion(self) -> int: ...
        def maxComputeInvocations(self) -> int: ...
        def maxComputeSharedMemorySize(self) -> int: ...
        def maxImageUnits(self) -> int: ...
        def maxSSBOBindings(self) -> int: ...
        def maxSSBOSize(self) -> int: ...
        def maxSamples(self) -> int: ...
        def maxTextureLayers(self) -> int: ...
        def maxTextureSize(self) -> int: ...
        def maxTextureUnits(self) -> int: ...
        def maxUBOBindings(self) -> int: ...
        def maxUBOSize(self) -> int: ...
        def maxWorkGroupCountX(self) -> int: ...
        def maxWorkGroupCountY(self) -> int: ...
        def maxWorkGroupCountZ(self) -> int: ...
        def maxWorkGroupSizeX(self) -> int: ...
        def maxWorkGroupSizeY(self) -> int: ...
        def maxWorkGroupSizeZ(self) -> int: ...
        def minorVersion(self) -> int: ...
        def profile(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderCapabilities.Profile: ...
        def renderer(self) -> str: ...
        def supportsCompute(self) -> bool: ...
        def supportsImageStore(self) -> bool: ...
        def supportsSSBO(self) -> bool: ...
        def supportsUBO(self) -> bool: ...
        def vendor(self) -> str: ...

    class QRenderCapture(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        @overload
        def requestCapture(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderCaptureReply: ...
        @overload
        def requestCapture(self, captureId: int) -> PySide6.Qt3DRender.Qt3DRender.QRenderCaptureReply: ...
        @overload
        def requestCapture(self, rect: PySide6.QtCore.QRect) -> PySide6.Qt3DRender.Qt3DRender.QRenderCaptureReply: ...

    class QRenderCaptureReply(PySide6.QtCore.QObject):

        completed                : ClassVar[Signal] = ... # completed()
        def captureId(self) -> int: ...
        def image(self) -> PySide6.QtGui.QImage: ...
        def isComplete(self) -> bool: ...
        def saveImage(self, fileName: str) -> bool: ...

    class QRenderPass(PySide6.Qt3DCore.Qt3DCore.QNode):

        shaderProgramChanged     : ClassVar[Signal] = ... # shaderProgramChanged(QShaderProgram*)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addFilterKey(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def addParameter(self, p: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def addRenderState(self, state: PySide6.Qt3DRender.Qt3DRender.QRenderState) -> None: ...
        def filterKeys(self) -> List[PySide6.Qt3DRender.Qt3DRender.QFilterKey]: ...
        def parameters(self) -> List[PySide6.Qt3DRender.Qt3DRender.QParameter]: ...
        def removeFilterKey(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def removeParameter(self, p: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def removeRenderState(self, state: PySide6.Qt3DRender.Qt3DRender.QRenderState) -> None: ...
        def renderStates(self) -> List[PySide6.Qt3DRender.Qt3DRender.QRenderState]: ...
        def setShaderProgram(self, shaderProgram: PySide6.Qt3DRender.Qt3DRender.QShaderProgram) -> None: ...
        def shaderProgram(self) -> PySide6.Qt3DRender.Qt3DRender.QShaderProgram: ...

    class QRenderPassFilter(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addMatch(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def addParameter(self, parameter: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def matchAny(self) -> List[PySide6.Qt3DRender.Qt3DRender.QFilterKey]: ...
        def parameters(self) -> List[PySide6.Qt3DRender.Qt3DRender.QParameter]: ...
        def removeMatch(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def removeParameter(self, parameter: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...

    class QRenderSettings(PySide6.Qt3DCore.Qt3DCore.QComponent):

        activeFrameGraphChanged  : ClassVar[Signal] = ... # activeFrameGraphChanged(QFrameGraphNode*)
        renderPolicyChanged      : ClassVar[Signal] = ... # renderPolicyChanged(RenderPolicy)

        class RenderPolicy(enum.Enum):

            OnDemand                 : Qt3DRender.QRenderSettings.RenderPolicy = ... # 0x0
            Always                   : Qt3DRender.QRenderSettings.RenderPolicy = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def activeFrameGraph(self) -> PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode: ...
        def pickingSettings(self) -> PySide6.Qt3DRender.Qt3DRender.QPickingSettings: ...
        def renderCapabilities(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderCapabilities: ...
        def renderPolicy(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderSettings.RenderPolicy: ...
        def setActiveFrameGraph(self, activeFrameGraph: PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode) -> None: ...
        def setRenderPolicy(self, renderPolicy: PySide6.Qt3DRender.Qt3DRender.QRenderSettings.RenderPolicy) -> None: ...

    class QRenderState(PySide6.Qt3DCore.Qt3DCore.QNode): ...

    class QRenderStateSet(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addRenderState(self, state: PySide6.Qt3DRender.Qt3DRender.QRenderState) -> None: ...
        def removeRenderState(self, state: PySide6.Qt3DRender.Qt3DRender.QRenderState) -> None: ...
        def renderStates(self) -> List[PySide6.Qt3DRender.Qt3DRender.QRenderState]: ...

    class QRenderSurfaceSelector(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        externalRenderTargetSizeChanged: ClassVar[Signal] = ... # externalRenderTargetSizeChanged(QSize)
        surfaceChanged           : ClassVar[Signal] = ... # surfaceChanged(QObject*)
        surfacePixelRatioChanged : ClassVar[Signal] = ... # surfacePixelRatioChanged(float)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def externalRenderTargetSize(self) -> PySide6.QtCore.QSize: ...
        def setExternalRenderTargetSize(self, size: PySide6.QtCore.QSize) -> None: ...
        def setSurface(self, surfaceObject: PySide6.QtCore.QObject) -> None: ...
        def setSurfacePixelRatio(self, ratio: float) -> None: ...
        def surface(self) -> PySide6.QtCore.QObject: ...
        def surfacePixelRatio(self) -> float: ...

    class QRenderTarget(PySide6.Qt3DCore.Qt3DCore.QComponent):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addOutput(self, output: PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput) -> None: ...
        def outputs(self) -> List[PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput]: ...
        def removeOutput(self, output: PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput) -> None: ...

    class QRenderTargetOutput(PySide6.Qt3DCore.Qt3DCore.QNode):

        attachmentPointChanged   : ClassVar[Signal] = ... # attachmentPointChanged(AttachmentPoint)
        faceChanged              : ClassVar[Signal] = ... # faceChanged(QAbstractTexture::CubeMapFace)
        layerChanged             : ClassVar[Signal] = ... # layerChanged(int)
        mipLevelChanged          : ClassVar[Signal] = ... # mipLevelChanged(int)
        textureChanged           : ClassVar[Signal] = ... # textureChanged(QAbstractTexture*)

        class AttachmentPoint(enum.Enum):

            Color0                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x0
            Color1                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x1
            Color2                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x2
            Color3                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x3
            Color4                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x4
            Color5                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x5
            Color6                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x6
            Color7                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x7
            Color8                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x8
            Color9                   : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x9
            Color10                  : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0xa
            Color11                  : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0xb
            Color12                  : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0xc
            Color13                  : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0xd
            Color14                  : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0xe
            Color15                  : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0xf
            Depth                    : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x10
            Stencil                  : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x11
            DepthStencil             : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x12
            Left                     : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x13
            Right                    : Qt3DRender.QRenderTargetOutput.AttachmentPoint = ... # 0x14


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def attachmentPoint(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput.AttachmentPoint: ...
        def face(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.CubeMapFace: ...
        def layer(self) -> int: ...
        def mipLevel(self) -> int: ...
        def setAttachmentPoint(self, attachmentPoint: PySide6.Qt3DRender.Qt3DRender.QRenderTargetOutput.AttachmentPoint) -> None: ...
        def setFace(self, face: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.CubeMapFace) -> None: ...
        def setLayer(self, layer: int) -> None: ...
        def setMipLevel(self, level: int) -> None: ...
        def setTexture(self, texture: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture) -> None: ...
        def texture(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture: ...

    class QRenderTargetSelector(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        targetChanged            : ClassVar[Signal] = ... # targetChanged(QRenderTarget*)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def setTarget(self, target: PySide6.Qt3DRender.Qt3DRender.QRenderTarget) -> None: ...
        def target(self) -> PySide6.Qt3DRender.Qt3DRender.QRenderTarget: ...

    class QSceneLoader(PySide6.Qt3DCore.Qt3DCore.QComponent):

        sourceChanged            : ClassVar[Signal] = ... # sourceChanged(QUrl)
        statusChanged            : ClassVar[Signal] = ... # statusChanged(Status)

        class ComponentType(enum.Enum):

            UnknownComponent         : Qt3DRender.QSceneLoader.ComponentType = ... # 0x0
            GeometryRendererComponent: Qt3DRender.QSceneLoader.ComponentType = ... # 0x1
            TransformComponent       : Qt3DRender.QSceneLoader.ComponentType = ... # 0x2
            MaterialComponent        : Qt3DRender.QSceneLoader.ComponentType = ... # 0x3
            LightComponent           : Qt3DRender.QSceneLoader.ComponentType = ... # 0x4
            CameraLensComponent      : Qt3DRender.QSceneLoader.ComponentType = ... # 0x5

        class Status(enum.Enum):

            None_                    : Qt3DRender.QSceneLoader.Status = ... # 0x0
            Loading                  : Qt3DRender.QSceneLoader.Status = ... # 0x1
            Ready                    : Qt3DRender.QSceneLoader.Status = ... # 0x2
            Error                    : Qt3DRender.QSceneLoader.Status = ... # 0x3


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def component(self, entityName: str, componentType: PySide6.Qt3DRender.Qt3DRender.QSceneLoader.ComponentType) -> PySide6.Qt3DCore.Qt3DCore.QComponent: ...
        def entity(self, entityName: str) -> PySide6.Qt3DCore.Qt3DCore.QEntity: ...
        def entityNames(self) -> List[str]: ...
        def setSource(self, arg: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def source(self) -> PySide6.QtCore.QUrl: ...
        def status(self) -> PySide6.Qt3DRender.Qt3DRender.QSceneLoader.Status: ...

    class QScissorTest(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        bottomChanged            : ClassVar[Signal] = ... # bottomChanged(int)
        heightChanged            : ClassVar[Signal] = ... # heightChanged(int)
        leftChanged              : ClassVar[Signal] = ... # leftChanged(int)
        widthChanged             : ClassVar[Signal] = ... # widthChanged(int)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def bottom(self) -> int: ...
        def height(self) -> int: ...
        def left(self) -> int: ...
        def setBottom(self, bottom: int) -> None: ...
        def setHeight(self, height: int) -> None: ...
        def setLeft(self, left: int) -> None: ...
        def setWidth(self, width: int) -> None: ...
        def width(self) -> int: ...

    class QScreenRayCaster(PySide6.Qt3DRender.Qt3DRender.QAbstractRayCaster):

        positionChanged          : ClassVar[Signal] = ... # positionChanged(QPoint)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def pick(self, position: PySide6.QtCore.QPoint) -> List[PySide6.Qt3DRender.Qt3DRender.QRayCasterHit]: ...
        def position(self) -> PySide6.QtCore.QPoint: ...
        def setPosition(self, position: PySide6.QtCore.QPoint) -> None: ...
        @overload
        def trigger(self) -> None: ...
        @overload
        def trigger(self, position: PySide6.QtCore.QPoint) -> None: ...

    class QSeamlessCubemap(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QSetFence(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        handleChanged            : ClassVar[Signal] = ... # handleChanged(QVariant)
        handleTypeChanged        : ClassVar[Signal] = ... # handleTypeChanged(HandleType)

        class HandleType(enum.Enum):

            NoHandle                 : Qt3DRender.QSetFence.HandleType = ... # 0x0
            OpenGLFenceId            : Qt3DRender.QSetFence.HandleType = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def handle(self) -> Any: ...
        def handleType(self) -> PySide6.Qt3DRender.Qt3DRender.QSetFence.HandleType: ...

    class QShaderData(PySide6.Qt3DCore.Qt3DCore.QComponent):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def event(self, event: PySide6.QtCore.QEvent) -> bool: ...
        def propertyReader(self) -> Tuple[PySide6.Qt3DRender.Qt3DRender.PropertyReaderInterface]: ...

    class QShaderImage(PySide6.Qt3DCore.Qt3DCore.QNode):

        accessChanged            : ClassVar[Signal] = ... # accessChanged(Access)
        formatChanged            : ClassVar[Signal] = ... # formatChanged(ImageFormat)
        layerChanged             : ClassVar[Signal] = ... # layerChanged(int)
        layeredChanged           : ClassVar[Signal] = ... # layeredChanged(bool)
        mipLevelChanged          : ClassVar[Signal] = ... # mipLevelChanged(int)
        textureChanged           : ClassVar[Signal] = ... # textureChanged(Qt3DRender::QAbstractTexture*)

        class Access(enum.Enum):

            ReadOnly                 : Qt3DRender.QShaderImage.Access = ... # 0x0
            WriteOnly                : Qt3DRender.QShaderImage.Access = ... # 0x1
            ReadWrite                : Qt3DRender.QShaderImage.Access = ... # 0x2

        class ImageFormat(enum.Enum):

            NoFormat                 : Qt3DRender.QShaderImage.ImageFormat = ... # 0x0
            Automatic                : Qt3DRender.QShaderImage.ImageFormat = ... # 0x1
            RGBA8_UNorm              : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8058
            RGB10A2                  : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8059
            RGBA16_UNorm             : Qt3DRender.QShaderImage.ImageFormat = ... # 0x805b
            R8_UNorm                 : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8229
            R16_UNorm                : Qt3DRender.QShaderImage.ImageFormat = ... # 0x822a
            RG8_UNorm                : Qt3DRender.QShaderImage.ImageFormat = ... # 0x822b
            RG16_UNorm               : Qt3DRender.QShaderImage.ImageFormat = ... # 0x822c
            R16F                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x822d
            R32F                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x822e
            RG16F                    : Qt3DRender.QShaderImage.ImageFormat = ... # 0x822f
            RG32F                    : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8230
            R8I                      : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8231
            R8U                      : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8232
            R16I                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8233
            R16U                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8234
            R32I                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8235
            R32U                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8236
            RG8I                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8237
            RG8U                     : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8238
            RG16I                    : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8239
            RG16U                    : Qt3DRender.QShaderImage.ImageFormat = ... # 0x823a
            RG32I                    : Qt3DRender.QShaderImage.ImageFormat = ... # 0x823b
            RG32U                    : Qt3DRender.QShaderImage.ImageFormat = ... # 0x823c
            RGBA32F                  : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8814
            RGBA16F                  : Qt3DRender.QShaderImage.ImageFormat = ... # 0x881a
            RG11B10F                 : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8c3a
            RGBA32U                  : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8d70
            RGBA16U                  : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8d76
            RGBA8U                   : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8d7c
            RGBA32I                  : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8d82
            RGBA16I                  : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8d88
            RGBA8I                   : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8d8e
            R8_SNorm                 : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8f94
            RG8_SNorm                : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8f95
            RGBA8_SNorm              : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8f97
            R16_SNorm                : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8f98
            RG16_SNorm               : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8f99
            RGBA16_SNorm             : Qt3DRender.QShaderImage.ImageFormat = ... # 0x8f9b
            RGB10A2U                 : Qt3DRender.QShaderImage.ImageFormat = ... # 0x906f


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def access(self) -> PySide6.Qt3DRender.Qt3DRender.QShaderImage.Access: ...
        def format(self) -> PySide6.Qt3DRender.Qt3DRender.QShaderImage.ImageFormat: ...
        def layer(self) -> int: ...
        def layered(self) -> bool: ...
        def mipLevel(self) -> int: ...
        def setAccess(self, access: PySide6.Qt3DRender.Qt3DRender.QShaderImage.Access) -> None: ...
        def setFormat(self, format: PySide6.Qt3DRender.Qt3DRender.QShaderImage.ImageFormat) -> None: ...
        def setLayer(self, layer: int) -> None: ...
        def setLayered(self, layered: bool) -> None: ...
        def setMipLevel(self, mipLevel: int) -> None: ...
        def setTexture(self, texture: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture) -> None: ...
        def texture(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture: ...

    class QShaderProgram(PySide6.Qt3DCore.Qt3DCore.QNode):

        computeShaderCodeChanged : ClassVar[Signal] = ... # computeShaderCodeChanged(QByteArray)
        formatChanged            : ClassVar[Signal] = ... # formatChanged(Format)
        fragmentShaderCodeChanged: ClassVar[Signal] = ... # fragmentShaderCodeChanged(QByteArray)
        geometryShaderCodeChanged: ClassVar[Signal] = ... # geometryShaderCodeChanged(QByteArray)
        logChanged               : ClassVar[Signal] = ... # logChanged(QString)
        statusChanged            : ClassVar[Signal] = ... # statusChanged(Status)
        tessellationControlShaderCodeChanged: ClassVar[Signal] = ... # tessellationControlShaderCodeChanged(QByteArray)
        tessellationEvaluationShaderCodeChanged: ClassVar[Signal] = ... # tessellationEvaluationShaderCodeChanged(QByteArray)
        vertexShaderCodeChanged  : ClassVar[Signal] = ... # vertexShaderCodeChanged(QByteArray)

        class Format(enum.Enum):

            GLSL                     : Qt3DRender.QShaderProgram.Format = ... # 0x0
            SPIRV                    : Qt3DRender.QShaderProgram.Format = ... # 0x1

        class ShaderType(enum.Enum):

            Vertex                   : Qt3DRender.QShaderProgram.ShaderType = ... # 0x0
            Fragment                 : Qt3DRender.QShaderProgram.ShaderType = ... # 0x1
            TessellationControl      : Qt3DRender.QShaderProgram.ShaderType = ... # 0x2
            TessellationEvaluation   : Qt3DRender.QShaderProgram.ShaderType = ... # 0x3
            Geometry                 : Qt3DRender.QShaderProgram.ShaderType = ... # 0x4
            Compute                  : Qt3DRender.QShaderProgram.ShaderType = ... # 0x5

        class Status(enum.Enum):

            NotReady                 : Qt3DRender.QShaderProgram.Status = ... # 0x0
            Ready                    : Qt3DRender.QShaderProgram.Status = ... # 0x1
            Error                    : Qt3DRender.QShaderProgram.Status = ... # 0x2


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def computeShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def format(self) -> PySide6.Qt3DRender.Qt3DRender.QShaderProgram.Format: ...
        def fragmentShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def geometryShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        @staticmethod
        def loadSource(sourceUrl: Union[PySide6.QtCore.QUrl, str]) -> PySide6.QtCore.QByteArray: ...
        def log(self) -> str: ...
        def setComputeShaderCode(self, computeShaderCode: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview]) -> None: ...
        def setFormat(self, format: PySide6.Qt3DRender.Qt3DRender.QShaderProgram.Format) -> None: ...
        def setFragmentShaderCode(self, fragmentShaderCode: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview]) -> None: ...
        def setGeometryShaderCode(self, geometryShaderCode: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview]) -> None: ...
        def setShaderCode(self, type: PySide6.Qt3DRender.Qt3DRender.QShaderProgram.ShaderType, shaderCode: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview]) -> None: ...
        def setTessellationControlShaderCode(self, tessellationControlShaderCode: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview]) -> None: ...
        def setTessellationEvaluationShaderCode(self, tessellationEvaluationShaderCode: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview]) -> None: ...
        def setVertexShaderCode(self, vertexShaderCode: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview]) -> None: ...
        def shaderCode(self, type: PySide6.Qt3DRender.Qt3DRender.QShaderProgram.ShaderType) -> PySide6.QtCore.QByteArray: ...
        def status(self) -> PySide6.Qt3DRender.Qt3DRender.QShaderProgram.Status: ...
        def tessellationControlShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def tessellationEvaluationShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def vertexShaderCode(self) -> PySide6.QtCore.QByteArray: ...

    class QShaderProgramBuilder(PySide6.Qt3DCore.Qt3DCore.QNode):

        computeShaderCodeChanged : ClassVar[Signal] = ... # computeShaderCodeChanged(QByteArray)
        computeShaderGraphChanged: ClassVar[Signal] = ... # computeShaderGraphChanged(QUrl)
        enabledLayersChanged     : ClassVar[Signal] = ... # enabledLayersChanged(QStringList)
        fragmentShaderCodeChanged: ClassVar[Signal] = ... # fragmentShaderCodeChanged(QByteArray)
        fragmentShaderGraphChanged: ClassVar[Signal] = ... # fragmentShaderGraphChanged(QUrl)
        geometryShaderCodeChanged: ClassVar[Signal] = ... # geometryShaderCodeChanged(QByteArray)
        geometryShaderGraphChanged: ClassVar[Signal] = ... # geometryShaderGraphChanged(QUrl)
        shaderProgramChanged     : ClassVar[Signal] = ... # shaderProgramChanged(Qt3DRender::QShaderProgram*)
        tessellationControlShaderCodeChanged: ClassVar[Signal] = ... # tessellationControlShaderCodeChanged(QByteArray)
        tessellationControlShaderGraphChanged: ClassVar[Signal] = ... # tessellationControlShaderGraphChanged(QUrl)
        tessellationEvaluationShaderCodeChanged: ClassVar[Signal] = ... # tessellationEvaluationShaderCodeChanged(QByteArray)
        tessellationEvaluationShaderGraphChanged: ClassVar[Signal] = ... # tessellationEvaluationShaderGraphChanged(QUrl)
        vertexShaderCodeChanged  : ClassVar[Signal] = ... # vertexShaderCodeChanged(QByteArray)
        vertexShaderGraphChanged : ClassVar[Signal] = ... # vertexShaderGraphChanged(QUrl)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def computeShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def computeShaderGraph(self) -> PySide6.QtCore.QUrl: ...
        def enabledLayers(self) -> List[str]: ...
        def fragmentShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def fragmentShaderGraph(self) -> PySide6.QtCore.QUrl: ...
        def geometryShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def geometryShaderGraph(self) -> PySide6.QtCore.QUrl: ...
        def setComputeShaderGraph(self, computeShaderGraph: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def setEnabledLayers(self, layers: Sequence[str]) -> None: ...
        def setFragmentShaderGraph(self, fragmentShaderGraph: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def setGeometryShaderGraph(self, geometryShaderGraph: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def setShaderProgram(self, program: PySide6.Qt3DRender.Qt3DRender.QShaderProgram) -> None: ...
        def setTessellationControlShaderGraph(self, tessellationControlShaderGraph: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def setTessellationEvaluationShaderGraph(self, tessellationEvaluationShaderGraph: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def setVertexShaderGraph(self, vertexShaderGraph: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def shaderProgram(self) -> PySide6.Qt3DRender.Qt3DRender.QShaderProgram: ...
        def tessellationControlShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def tessellationControlShaderGraph(self) -> PySide6.QtCore.QUrl: ...
        def tessellationEvaluationShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def tessellationEvaluationShaderGraph(self) -> PySide6.QtCore.QUrl: ...
        def vertexShaderCode(self) -> PySide6.QtCore.QByteArray: ...
        def vertexShaderGraph(self) -> PySide6.QtCore.QUrl: ...

    class QSharedGLTexture(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        textureIdChanged         : ClassVar[Signal] = ... # textureIdChanged(int)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def setTextureId(self, id: int) -> None: ...
        def textureId(self) -> int: ...

    class QSharedPointer(Shiboken.Object):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, pointee: PySide6.Qt3DRender.Qt3DRender.PropertyReaderInterface) -> None: ...

        @staticmethod
        def __copy__() -> None: ...
        @staticmethod
        def __dir__() -> None: ...
        def data(self) -> PySide6.Qt3DRender.Qt3DRender.PropertyReaderInterface: ...
        @overload
        def reset(self) -> None: ...
        @overload
        def reset(self, t: PySide6.Qt3DRender.Qt3DRender.PropertyReaderInterface) -> None: ...

    class QSortPolicy(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        sortTypesChanged         : ClassVar[Signal] = ... # sortTypesChanged(QList<SortType>); sortTypesChanged(QList<int>)

        class SortType(enum.Enum):

            StateChangeCost          : Qt3DRender.QSortPolicy.SortType = ... # 0x1
            BackToFront              : Qt3DRender.QSortPolicy.SortType = ... # 0x2
            Material                 : Qt3DRender.QSortPolicy.SortType = ... # 0x4
            FrontToBack              : Qt3DRender.QSortPolicy.SortType = ... # 0x8
            Texture                  : Qt3DRender.QSortPolicy.SortType = ... # 0x10
            Uniform                  : Qt3DRender.QSortPolicy.SortType = ... # 0x20


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        @overload
        def setSortTypes(self, sortTypes: Sequence[PySide6.Qt3DRender.Qt3DRender.QSortPolicy.SortType]) -> None: ...
        @overload
        def setSortTypes(self, sortTypesInt: Sequence[int]) -> None: ...
        def sortTypes(self) -> List[PySide6.Qt3DRender.Qt3DRender.QSortPolicy.SortType]: ...
        def sortTypesInt(self) -> List[int]: ...

    class QSpotLight(PySide6.Qt3DRender.Qt3DRender.QAbstractLight):

        constantAttenuationChanged: ClassVar[Signal] = ... # constantAttenuationChanged(float)
        cutOffAngleChanged       : ClassVar[Signal] = ... # cutOffAngleChanged(float)
        linearAttenuationChanged : ClassVar[Signal] = ... # linearAttenuationChanged(float)
        localDirectionChanged    : ClassVar[Signal] = ... # localDirectionChanged(QVector3D)
        quadraticAttenuationChanged: ClassVar[Signal] = ... # quadraticAttenuationChanged(float)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def constantAttenuation(self) -> float: ...
        def cutOffAngle(self) -> float: ...
        def linearAttenuation(self) -> float: ...
        def localDirection(self) -> PySide6.QtGui.QVector3D: ...
        def quadraticAttenuation(self) -> float: ...
        def setConstantAttenuation(self, value: float) -> None: ...
        def setCutOffAngle(self, cutOffAngle: float) -> None: ...
        def setLinearAttenuation(self, value: float) -> None: ...
        def setLocalDirection(self, localDirection: PySide6.QtGui.QVector3D) -> None: ...
        def setQuadraticAttenuation(self, value: float) -> None: ...

    class QStencilMask(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        backOutputMaskChanged    : ClassVar[Signal] = ... # backOutputMaskChanged(uint)
        frontOutputMaskChanged   : ClassVar[Signal] = ... # frontOutputMaskChanged(uint)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def backOutputMask(self) -> int: ...
        def frontOutputMask(self) -> int: ...
        def setBackOutputMask(self, backOutputMask: int) -> None: ...
        def setFrontOutputMask(self, frontOutputMask: int) -> None: ...

    class QStencilOperation(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def back(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments: ...
        def front(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments: ...

    class QStencilOperationArguments(PySide6.QtCore.QObject):

        allTestsPassOperationChanged: ClassVar[Signal] = ... # allTestsPassOperationChanged(Operation)
        depthTestFailureOperationChanged: ClassVar[Signal] = ... # depthTestFailureOperationChanged(Operation)
        faceModeChanged          : ClassVar[Signal] = ... # faceModeChanged(FaceMode)
        stencilTestFailureOperationChanged: ClassVar[Signal] = ... # stencilTestFailureOperationChanged(Operation)

        class FaceMode(enum.Enum):

            Front                    : Qt3DRender.QStencilOperationArguments.FaceMode = ... # 0x404
            Back                     : Qt3DRender.QStencilOperationArguments.FaceMode = ... # 0x405
            FrontAndBack             : Qt3DRender.QStencilOperationArguments.FaceMode = ... # 0x408

        class Operation(enum.Enum):

            Zero                     : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x0
            Invert                   : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x150a
            Keep                     : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x1e00
            Replace                  : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x1e01
            Increment                : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x1e02
            Decrement                : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x1e03
            IncrementWrap            : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x8507
            DecrementWrap            : Qt3DRender.QStencilOperationArguments.Operation = ... # 0x8508


        def allTestsPassOperation(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments.Operation: ...
        def depthTestFailureOperation(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments.Operation: ...
        def faceMode(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments.FaceMode: ...
        def setAllTestsPassOperation(self, operation: PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments.Operation) -> None: ...
        def setDepthTestFailureOperation(self, operation: PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments.Operation) -> None: ...
        def setStencilTestFailureOperation(self, operation: PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments.Operation) -> None: ...
        def stencilTestFailureOperation(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilOperationArguments.Operation: ...

    class QStencilTest(PySide6.Qt3DRender.Qt3DRender.QRenderState):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def back(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilTestArguments: ...
        def front(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilTestArguments: ...

    class QStencilTestArguments(PySide6.QtCore.QObject):

        comparisonMaskChanged    : ClassVar[Signal] = ... # comparisonMaskChanged(uint)
        faceModeChanged          : ClassVar[Signal] = ... # faceModeChanged(StencilFaceMode)
        referenceValueChanged    : ClassVar[Signal] = ... # referenceValueChanged(int)
        stencilFunctionChanged   : ClassVar[Signal] = ... # stencilFunctionChanged(StencilFunction)

        class StencilFaceMode(enum.Enum):

            Front                    : Qt3DRender.QStencilTestArguments.StencilFaceMode = ... # 0x404
            Back                     : Qt3DRender.QStencilTestArguments.StencilFaceMode = ... # 0x405
            FrontAndBack             : Qt3DRender.QStencilTestArguments.StencilFaceMode = ... # 0x408

        class StencilFunction(enum.Enum):

            Never                    : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x200
            Less                     : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x201
            Equal                    : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x202
            LessOrEqual              : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x203
            Greater                  : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x204
            NotEqual                 : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x205
            GreaterOrEqual           : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x206
            Always                   : Qt3DRender.QStencilTestArguments.StencilFunction = ... # 0x207


        def comparisonMask(self) -> int: ...
        def faceMode(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilTestArguments.StencilFaceMode: ...
        def referenceValue(self) -> int: ...
        def setComparisonMask(self, comparisonMask: int) -> None: ...
        def setReferenceValue(self, referenceValue: int) -> None: ...
        def setStencilFunction(self, stencilFunction: PySide6.Qt3DRender.Qt3DRender.QStencilTestArguments.StencilFunction) -> None: ...
        def stencilFunction(self) -> PySide6.Qt3DRender.Qt3DRender.QStencilTestArguments.StencilFunction: ...

    class QSubtreeEnabler(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        enablementChanged        : ClassVar[Signal] = ... # enablementChanged(Qt3DRender::QSubtreeEnabler::Enablement)

        class Enablement(enum.Enum):

            Persistent               : Qt3DRender.QSubtreeEnabler.Enablement = ... # 0x0
            SingleShot               : Qt3DRender.QSubtreeEnabler.Enablement = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def enablement(self) -> PySide6.Qt3DRender.Qt3DRender.QSubtreeEnabler.Enablement: ...
        def requestUpdate(self) -> None: ...
        def setEnablement(self, enablement: PySide6.Qt3DRender.Qt3DRender.QSubtreeEnabler.Enablement) -> None: ...

    class QTechnique(PySide6.Qt3DCore.Qt3DCore.QNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addFilterKey(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def addParameter(self, p: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def addRenderPass(self, pass_: PySide6.Qt3DRender.Qt3DRender.QRenderPass) -> None: ...
        def filterKeys(self) -> List[PySide6.Qt3DRender.Qt3DRender.QFilterKey]: ...
        def graphicsApiFilter(self) -> PySide6.Qt3DRender.Qt3DRender.QGraphicsApiFilter: ...
        def parameters(self) -> List[PySide6.Qt3DRender.Qt3DRender.QParameter]: ...
        def removeFilterKey(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def removeParameter(self, p: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def removeRenderPass(self, pass_: PySide6.Qt3DRender.Qt3DRender.QRenderPass) -> None: ...
        def renderPasses(self) -> List[PySide6.Qt3DRender.Qt3DRender.QRenderPass]: ...

    class QTechniqueFilter(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def addMatch(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def addParameter(self, p: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...
        def matchAll(self) -> List[PySide6.Qt3DRender.Qt3DRender.QFilterKey]: ...
        def parameters(self) -> List[PySide6.Qt3DRender.Qt3DRender.QParameter]: ...
        def removeMatch(self, filterKey: PySide6.Qt3DRender.Qt3DRender.QFilterKey) -> None: ...
        def removeParameter(self, p: PySide6.Qt3DRender.Qt3DRender.QParameter) -> None: ...

    class QTexture1D(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTexture1DArray(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTexture2D(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTexture2DArray(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTexture2DMultisample(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTexture2DMultisampleArray(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTexture3D(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTextureBuffer(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTextureCubeMap(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTextureCubeMapArray(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTextureData(Shiboken.Object):

        def __init__(self) -> None: ...

        def addImageData(self, imageData: Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageData]) -> None: ...
        def comparisonFunction(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonFunction: ...
        def comparisonMode(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonMode: ...
        def depth(self) -> int: ...
        def format(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.TextureFormat: ...
        def height(self) -> int: ...
        def imageData(self) -> List[Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageData]]: ...
        def isAutoMipMapGenerationEnabled(self) -> bool: ...
        def layers(self) -> int: ...
        def magnificationFilter(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter: ...
        def maximumAnisotropy(self) -> float: ...
        def minificationFilter(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter: ...
        def setAutoMipMapGenerationEnabled(self, isAutoMipMapGenerationEnabled: bool) -> None: ...
        def setComparisonFunction(self, comparisonFunction: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonFunction) -> None: ...
        def setComparisonMode(self, comparisonMode: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.ComparisonMode) -> None: ...
        def setDepth(self, depth: int) -> None: ...
        def setFormat(self, arg__1: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.TextureFormat) -> None: ...
        def setHeight(self, height: int) -> None: ...
        def setLayers(self, layers: int) -> None: ...
        def setMagnificationFilter(self, filter: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter) -> None: ...
        def setMaximumAnisotropy(self, maximumAnisotropy: float) -> None: ...
        def setMinificationFilter(self, filter: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Filter) -> None: ...
        def setTarget(self, target: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Target) -> None: ...
        def setWidth(self, width: int) -> None: ...
        def setWrapModeX(self, wrapModeX: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode) -> None: ...
        def setWrapModeY(self, wrapModeY: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode) -> None: ...
        def setWrapModeZ(self, wrapModeZ: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode) -> None: ...
        def target(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.Target: ...
        def width(self) -> int: ...
        def wrapModeX(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode: ...
        def wrapModeY(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode: ...
        def wrapModeZ(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode: ...

    class QTextureDataUpdate(Shiboken.Object):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, other: PySide6.Qt3DRender.Qt3DRender.QTextureDataUpdate) -> None: ...

        @staticmethod
        def __copy__() -> None: ...
        def data(self) -> Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageData]: ...
        def face(self) -> PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.CubeMapFace: ...
        def layer(self) -> int: ...
        def mipLevel(self) -> int: ...
        def setData(self, data: Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageData]) -> None: ...
        def setFace(self, face: PySide6.Qt3DRender.Qt3DRender.QAbstractTexture.CubeMapFace) -> None: ...
        def setLayer(self, layer: int) -> None: ...
        def setMipLevel(self, mipLevel: int) -> None: ...
        def setX(self, x: int) -> None: ...
        def setY(self, y: int) -> None: ...
        def setZ(self, z: int) -> None: ...
        def swap(self, other: PySide6.Qt3DRender.Qt3DRender.QTextureDataUpdate) -> None: ...
        def x(self) -> int: ...
        def y(self) -> int: ...
        def z(self) -> int: ...

    class QTextureImage(PySide6.Qt3DRender.Qt3DRender.QAbstractTextureImage):

        mirroredChanged          : ClassVar[Signal] = ... # mirroredChanged(bool)
        sourceChanged            : ClassVar[Signal] = ... # sourceChanged(QUrl)
        statusChanged            : ClassVar[Signal] = ... # statusChanged(Status)

        class Status(enum.Enum):

            None_                    : Qt3DRender.QTextureImage.Status = ... # 0x0
            Loading                  : Qt3DRender.QTextureImage.Status = ... # 0x1
            Ready                    : Qt3DRender.QTextureImage.Status = ... # 0x2
            Error                    : Qt3DRender.QTextureImage.Status = ... # 0x3


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def dataGenerator(self) -> Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageDataGenerator]: ...
        def isMirrored(self) -> bool: ...
        def setMirrored(self, mirrored: bool) -> None: ...
        def setSource(self, source: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def setStatus(self, status: PySide6.Qt3DRender.Qt3DRender.QTextureImage.Status) -> None: ...
        def source(self) -> PySide6.QtCore.QUrl: ...
        def status(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureImage.Status: ...

    class QTextureImageData(Shiboken.Object):

        def __init__(self) -> None: ...

        def alignment(self) -> int: ...
        def cleanup(self) -> None: ...
        def data(self, layer: int = ..., face: int = ..., mipmapLevel: int = ...) -> PySide6.QtCore.QByteArray: ...
        def depth(self) -> int: ...
        def faces(self) -> int: ...
        def format(self) -> PySide6.QtOpenGL.QOpenGLTexture.TextureFormat: ...
        def height(self) -> int: ...
        def isCompressed(self) -> bool: ...
        def layers(self) -> int: ...
        def mipLevels(self) -> int: ...
        def pixelFormat(self) -> PySide6.QtOpenGL.QOpenGLTexture.PixelFormat: ...
        def pixelType(self) -> PySide6.QtOpenGL.QOpenGLTexture.PixelType: ...
        def setAlignment(self, alignment: int) -> None: ...
        def setData(self, data: Union[PySide6.QtCore.QByteArray, bytes, bytearray, memoryview], blockSize: int, isCompressed: bool = ...) -> None: ...
        def setDepth(self, depth: int) -> None: ...
        def setFaces(self, faces: int) -> None: ...
        def setFormat(self, format: PySide6.QtOpenGL.QOpenGLTexture.TextureFormat) -> None: ...
        def setHeight(self, height: int) -> None: ...
        def setImage(self, arg__1: Union[PySide6.QtGui.QImage, str]) -> None: ...
        def setLayers(self, layers: int) -> None: ...
        def setMipLevels(self, mipLevels: int) -> None: ...
        def setPixelFormat(self, pixelFormat: PySide6.QtOpenGL.QOpenGLTexture.PixelFormat) -> None: ...
        def setPixelType(self, pixelType: PySide6.QtOpenGL.QOpenGLTexture.PixelType) -> None: ...
        def setTarget(self, target: PySide6.QtOpenGL.QOpenGLTexture.Target) -> None: ...
        def setWidth(self, width: int) -> None: ...
        def target(self) -> PySide6.QtOpenGL.QOpenGLTexture.Target: ...
        def width(self) -> int: ...

    class QTextureImageDataGenerator(PySide6.Qt3DCore.Qt3DCore.QAbstractFunctor):

        def __init__(self) -> None: ...

        def __call__(self) -> Tuple[PySide6.Qt3DRender.Qt3DRender.QTextureImageData]: ...

    class QTextureImageDataGeneratorPtr(Shiboken.Object):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, pointee: PySide6.Qt3DRender.Qt3DRender.QTextureImageDataGenerator) -> None: ...

        @staticmethod
        def __copy__() -> None: ...
        @staticmethod
        def __dir__() -> None: ...
        def data(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureImageDataGenerator: ...
        @overload
        def reset(self) -> None: ...
        @overload
        def reset(self, t: PySide6.Qt3DRender.Qt3DRender.QTextureImageDataGenerator) -> None: ...

    class QTextureImageDataPtr(Shiboken.Object):

        @overload
        def __init__(self) -> None: ...
        @overload
        def __init__(self, pointee: PySide6.Qt3DRender.Qt3DRender.QTextureImageData) -> None: ...

        @staticmethod
        def __copy__() -> None: ...
        @staticmethod
        def __dir__() -> None: ...
        def data(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureImageData: ...
        @overload
        def reset(self) -> None: ...
        @overload
        def reset(self, t: PySide6.Qt3DRender.Qt3DRender.QTextureImageData) -> None: ...

    class QTextureLoader(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        mirroredChanged          : ClassVar[Signal] = ... # mirroredChanged(bool)
        sourceChanged            : ClassVar[Signal] = ... # sourceChanged(QUrl)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def isMirrored(self) -> bool: ...
        def setMirrored(self, mirrored: bool) -> None: ...
        def setSource(self, source: Union[PySide6.QtCore.QUrl, str]) -> None: ...
        def source(self) -> PySide6.QtCore.QUrl: ...

    class QTextureRectangle(PySide6.Qt3DRender.Qt3DRender.QAbstractTexture):

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...


    class QTextureWrapMode(PySide6.QtCore.QObject):

        xChanged                 : ClassVar[Signal] = ... # xChanged(WrapMode)
        yChanged                 : ClassVar[Signal] = ... # yChanged(WrapMode)
        zChanged                 : ClassVar[Signal] = ... # zChanged(WrapMode)

        class WrapMode(enum.Enum):

            Repeat                   : Qt3DRender.QTextureWrapMode.WrapMode = ... # 0x2901
            ClampToBorder            : Qt3DRender.QTextureWrapMode.WrapMode = ... # 0x812d
            ClampToEdge              : Qt3DRender.QTextureWrapMode.WrapMode = ... # 0x812f
            MirroredRepeat           : Qt3DRender.QTextureWrapMode.WrapMode = ... # 0x8370


        @overload
        def __init__(self, wrapMode: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode = ..., parent: Optional[PySide6.QtCore.QObject] = ...) -> None: ...
        @overload
        def __init__(self, x: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode, y: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode, z: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode, parent: Optional[PySide6.QtCore.QObject] = ...) -> None: ...

        def setX(self, x: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode) -> None: ...
        def setY(self, y: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode) -> None: ...
        def setZ(self, z: PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode) -> None: ...
        def x(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode: ...
        def y(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode: ...
        def z(self) -> PySide6.Qt3DRender.Qt3DRender.QTextureWrapMode.WrapMode: ...

    class QViewport(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        gammaChanged             : ClassVar[Signal] = ... # gammaChanged(float)
        normalizedRectChanged    : ClassVar[Signal] = ... # normalizedRectChanged(QRectF)

        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def gamma(self) -> float: ...
        def normalizedRect(self) -> PySide6.QtCore.QRectF: ...
        def setGamma(self, gamma: float) -> None: ...
        def setNormalizedRect(self, normalizedRect: Union[PySide6.QtCore.QRectF, PySide6.QtCore.QRect]) -> None: ...

    class QWaitFence(PySide6.Qt3DRender.Qt3DRender.QFrameGraphNode):

        handleChanged            : ClassVar[Signal] = ... # handleChanged(QVariant)
        handleTypeChanged        : ClassVar[Signal] = ... # handleTypeChanged(HandleType)
        timeoutChanged           : ClassVar[Signal] = ... # timeoutChanged(qulonglong)
        waitOnCPUChanged         : ClassVar[Signal] = ... # waitOnCPUChanged(bool)

        class HandleType(enum.Enum):

            NoHandle                 : Qt3DRender.QWaitFence.HandleType = ... # 0x0
            OpenGLFenceId            : Qt3DRender.QWaitFence.HandleType = ... # 0x1


        def __init__(self, parent: Optional[PySide6.Qt3DCore.Qt3DCore.QNode] = ...) -> None: ...

        def handle(self) -> Any: ...
        def handleType(self) -> PySide6.Qt3DRender.Qt3DRender.QWaitFence.HandleType: ...
        def setHandle(self, handle: Any) -> None: ...
        def setHandleType(self, type: PySide6.Qt3DRender.Qt3DRender.QWaitFence.HandleType) -> None: ...
        def setTimeout(self, timeout: int) -> None: ...
        def setWaitOnCPU(self, waitOnCPU: bool) -> None: ...
        def timeout(self) -> int: ...
        def waitOnCPU(self) -> bool: ...


    @staticmethod
    def swap(lhs: PySide6.Qt3DRender.Qt3DRender.QTextureDataUpdate, rhs: PySide6.Qt3DRender.Qt3DRender.QTextureDataUpdate) -> None: ...


# eof
