from __future__ import annotations

from typing import *

import maya.api.OpenMaya

Unknown = Any

class MAttributeParameterMapping:
    """Class for defining relationship between Maya attributes and fragment parameters."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def allowConnection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def allowRename(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def attributeName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resolvedParameterName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MAttributeParameterMappingList:
    """A list of MAttributeParameterMapping objects."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findByAttributeName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findByParameterName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MBlendState:
    """Container class for an acquired GPU blend state."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def desc(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAdd: int = 1
    kAlphaChannel: int = 8
    kBlendFactor: int = 14
    kBlueChannel: int = 4
    kBothInvSourceAlpha: int = 13
    kBothSourceAlpha: int = 12
    kDestinationAlpha: int = 7
    kDestinationColor: int = 9
    kGreenChannel: int = 2
    kInvBlendFactor: int = 15
    kInvDestinationAlpha: int = 8
    kInvDestinationColor: int = 10
    kInvSourceAlpha: int = 6
    kInvSourceColor: int = 4
    kMax: int = 5
    kMaxTargets: int = 8
    kMin: int = 4
    kNoChannels: int = 0
    kOne: int = 2
    kRGBAChannels: int = 15
    kRGBChannels: int = 7
    kRedChannel: int = 1
    kReverseSubtract: int = 3
    kSourceAlpha: int = 5
    kSourceAlphaSat: int = 11
    kSourceColor: int = 3
    kSubtract: int = 2
    kZero: int = 1
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MBlendStateDesc:
    """Descriptor for a blend state for a single render target."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    alphaToCoverageEnable: bool
    blendFactor: List[Any]
    independentBlendEnable: bool
    multiSampleMask: int
    def setDefaults(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    targetBlends: List[Any]

class MCameraOverride:
    """Camera override description. Provides information for specifying a camera override for a render operation."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    mCameraPath: maya.api.OpenMaya.MDagPath
    mFarClippingPlane: float
    mHiddenCameraList: maya.api.OpenMaya.MDagPathArray
    mNearClippingPlane: float
    mProjectionMatrix: maya.api.OpenMaya.MMatrix
    mUseFarClippingPlane: bool
    mUseHiddenCameraList: bool
    mUseNearClippingPlane: bool
    mUseProjectionMatrix: bool
    mUseViewMatrix: bool
    mViewMatrix: maya.api.OpenMaya.MMatrix

class MClearOperation(MRenderOperation):
    """Class which defines the operation of clearing render target channels."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearColor2(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearDepth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearGradient(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearStencil(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kClearAll: int = -1
    kClearColor: int = 1
    kClearDepth: int = 2
    kClearNone: int = 0
    kClearStencil: int = 4
    def mask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def overridesColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClearColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClearColor2(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClearDepth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClearGradient(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setClearStencil(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setOverridesColors(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MColorManagementUtilities:
    """Utilities class for color management"""
    @staticmethod
    def getColorTransformCacheIdForInputSpace(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def getColorTransformCacheIdForOutputTransform(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def getColorTransformData(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isColorManagementAvailable(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isColorManagementEnabled(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MComponentDataIndexing:
    """Class for storing index mapping when vertices are shared."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def componentType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indices(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kFaceVertex: int = 0
    def setComponentType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MComponentDataIndexingList:
    """A list of MComponentDataIndexing objects."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDepthNormalizationDescription:
    """Information required to perform normalization of values stored in the depth buffer of an MImage with respect to clipping plane range."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    fDepthBias: float
    fDepthScale: float
    fFarClipDistance: float
    fNearClipDistance: float

class MDepthStencilState:
    """Container class for an acquired complete GPU depth stencil state."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def desc(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kDecrementStencil: int = 8
    kDecrementStencilSat: int = 5
    kIncrementStencil: int = 7
    kIncrementStencilSat: int = 4
    kInvertStencil: int = 6
    kKeepStencil: int = 1
    kReplaceStencil: int = 3
    kZeroStencil: int = 2
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDepthStencilStateDesc:
    """Descriptor for a complete depth-stencil state."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    backFace: MStencilOpDesc
    depthEnable: bool
    depthFunc: int
    depthWriteEnable: bool
    frontFace: MStencilOpDesc
    def setDefaults(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    stencilEnable: bool
    stencilReadMask: int
    stencilReferenceVal: int
    stencilWriteMask: int

class MDrawContext(MFrameContext):
    """Class to allow access to hardware draw context information."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copyCurrentColorRenderTarget(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def copyCurrentColorRenderTargetToTexture(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def copyCurrentDepthRenderTarget(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def copyCurrentDepthRenderTargetToTexture(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getDepthRange(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFrameStamp(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFrustumBox(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightInformation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightParameterInformation(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getPassContext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRenderTargetSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSceneBox(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getStateManager(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kFilteredIgnoreLightLimit: int = 1
    kFilteredToLightLimit: int = 0
    def numberOfActiveLights(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def viewDirectionAlongNegZ(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MDrawRegistry:
    """Access the registry associating node types with custom draw classes"""
    @staticmethod
    def deregisterComponentConverter(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterDrawOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterGeometryOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterImagePlaneOverrideCreator(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def deregisterIndexBufferMutator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterPrimitiveGenerator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterShaderOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterShadingNodeOverrideCreator(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def deregisterSubSceneOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterSurfaceShadingNodeOverrideCreator(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def deregisterVertexBufferGenerator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterVertexBufferMutator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerComponentConverter(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerDrawOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerGeometryOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerImagePlaneOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerIndexBufferMutator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerPrimitiveGenerator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerShaderOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerShadingNodeOverrideCreator(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def registerSubSceneOverrideCreator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerSurfaceShadingNodeOverrideCreator(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def registerVertexBufferGenerator(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerVertexBufferMutator(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MFragmentManager:
    """Provides facilities for managing fragments for use with Viewport 2.0."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addAutomaticShaderStageInput(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def addDomainShaderInputNameMapping(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def addFragmentGraphFromBuffer(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def addFragmentGraphFromFile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addFragmentPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addShadeFragmentFromBuffer(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def addShadeFragmentFromFile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def findDomainShaderInputName(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def fragmentList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getColorManagementFragmentInfo(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getEffectOutputDirectory(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFragmentXML(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getIntermediateGraphOutputDirectory(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def hasFragment(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kDomainShader: int = 5
    kGeometryShader: int = 2
    kHullConstantShader: int = 4
    kHullShader: int = 3
    kPixelShader: int = 1
    kVertexShader: int = 0
    def removeAutomaticShaderStageInput(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def removeDomainShaderInputNameMapping(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def removeFragment(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setEffectOutputDirectory(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIntermediateGraphOutputDirectory(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MFrameContext:
    """This class contains some global information for the current render frame."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def classificationExclusions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBackgroundParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCurrentCameraPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCurrentColorRenderTarget(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getCurrentDepthRenderTarget(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getDOFParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDisplayStyle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEnvironmentParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getGlobalLineWidth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getHwFogParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightLimit(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getLightingMode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPostEffectEnabled(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRenderOverrideInformation(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getTransparencyAlgorithm(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getTuple(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getViewportDimensions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def inUserInteraction(*args: Unknown, **kwargs: Unknown) -> Any: ...

    k2dViewport: int = 1
    k3dViewport: int = 0
    kAmbientLight: int = 1
    kAmbientOcclusion: int = 0
    kAntiAliasing: int = 4
    kBackfaceCulling: int = 2048
    kBoundingBox: int = 4
    kCustomLights: int = 5
    kDefaultMaterial: int = 16
    kDepthOfField: int = 3
    kDepthPeeling: int = 3
    kExcludeAll: int = 18446744073709551615
    kExcludeCVs: int = 131072
    kExcludeCameras: int = 32
    kExcludeClipGhosts: int = 17179869184
    kExcludeControllers: int = 68719476736
    kExcludeDeformers: int = 256
    kExcludeDimensions: int = 4096
    kExcludeDynamicConstraints: int = 134217728
    kExcludeDynamics: int = 512
    kExcludeFluids: int = 2097152
    kExcludeFollicles: int = 4194304
    kExcludeGreasePencils: int = 34359738368
    kExcludeGrid: int = 65536
    kExcludeHUD: int = 8589934592
    kExcludeHairSystems: int = 8388608
    kExcludeHoldOuts: int = 2147483648
    kExcludeHulls: int = 262144
    kExcludeIkHandles: int = 128
    kExcludeImagePlane: int = 16777216
    kExcludeJoints: int = 64
    kExcludeLights: int = 16
    kExcludeLocators: int = 2048
    kExcludeManipulators: int = 268435456
    kExcludeMeshes: int = 4
    kExcludeMotionTrails: int = 1073741824
    kExcludeNCloths: int = 33554432
    kExcludeNParticles: int = 536870912
    kExcludeNRigids: int = 67108864
    kExcludeNone: int = 0
    kExcludeNurbsCurves: int = 1
    kExcludeNurbsSurfaces: int = 2
    kExcludeParticleInstancers: int = 1024
    kExcludePivots: int = 16384
    kExcludePlanes: int = 8
    kExcludePluginShapes: int = 4294967296
    kExcludeSelectHandles: int = 8192
    kExcludeStrokes: int = 524288
    kExcludeSubdivSurfaces: int = 1048576
    kExcludeTextures: int = 32768
    kFlatShaded: int = 256
    kFogExp: int = 1
    kFogExp2: int = 2
    kFogLinear: int = 0
    kGammaCorrection: int = 2
    kGouraudShaded: int = 1
    kImage: int = 2
    kLightDefault: int = 2
    kMotionBlur: int = 1
    kNoLighting: int = 0
    kObjectSorting: int = 1
    kProjectionInverseMtx: int = 10
    kProjectionMtx: int = 8
    kProjectionTranposeMtx: int = 9
    kProjectionTranspInverseMtx: int = 11
    kSceneLights: int = 4
    kSelectedLights: int = 3
    kSelectionHighlighting: int = 8192
    kShadeActiveOnly: int = 512
    kSmoothWireframe: int = 4096
    kTextured: int = 8
    kTwoSidedLighting: int = 128
    kUnsorted: int = 0
    kViewColorTransformEnabled: int = 2
    kViewDirection: int = 1
    kViewFarClipValue: int = 6
    kViewInverseMtx: int = 6
    kViewMtx: int = 4
    kViewNearClipValue: int = 5
    kViewPosition: int = 0
    kViewProjInverseMtx: int = 14
    kViewProjMtx: int = 12
    kViewProjTranposeMtx: int = 13
    kViewProjTranspInverseMtx: int = 15
    kViewRight: int = 3
    kViewTranspInverseMtx: int = 7
    kViewTransposeMtx: int = 5
    kViewUnnormalizedFarClipValue: int = 8
    kViewUnnormlizedNearClipValue: int = 7
    kViewUp: int = 2
    kViewportPixelSize: int = 4
    kWeightedAverage: int = 2
    kWireFrame: int = 2
    kWireFrameOnShadedNone: int = 2
    kWireFrameOnShadedReduced: int = 1
    kWireframeOnShadedFull: int = 0
    kWorldInverseMtx: int = 2
    kWorldMtx: int = 0
    kWorldTranspInverseMtx: int = 3
    kWorldTransposeMtx: int = 1
    kWorldViewInverseMtx: int = 18
    kWorldViewMtx: int = 16
    kWorldViewProjInverseMtx: int = 22
    kWorldViewProjMtx: int = 20
    kWorldViewProjTranspInverseMtx: int = 23
    kWorldViewProjTransposeMtx: int = 21
    kWorldViewTranspInverseMtx: int = 19
    kWorldViewTransposeMtx: int = 17
    kXray: int = 64
    kXrayActiveComponents: int = 1024
    kXrayJoint: int = 32
    def objectTypeExclusions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderingDestination(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def semanticToMatrixType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def semanticToTupleType(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def shadeTemplates(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def userChangingViewContext(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def wireOnShadedMode(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MGeometry:
    """Class for working with geometric structures used to draw objects."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addIndexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addVertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createIndexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createVertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def dataTypeString(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteIndexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def deleteVertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def drawModeString(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexBufferCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAdjacentLineStrip: int = 9
    kAdjacentLines: int = 8
    kAdjacentTriangleStrip: int = 7
    kAdjacentTriangles: int = 6
    kAll: int = 15
    kBitangent: int = 6
    kBoundingBox: int = 8
    kChar: int = 3
    kColor: int = 4
    kDouble: int = 2
    kFloat: int = 1
    kInt16: int = 5
    kInt32: int = 7
    kInvalidPrimitive: int = 0
    kInvalidSemantic: int = 0
    kInvalidType: int = 0
    kLineStrip: int = 3
    kLines: int = 2
    kNormal: int = 2
    kPatch: int = 10
    kPoints: int = 1
    kPosition: int = 1
    kSelectionHighlighting: int = 32
    kSelectionOnly: int = 16
    kShaded: int = 2
    kTangent: int = 5
    kTangentWithSign: int = 7
    kTexture: int = 3
    kTextured: int = 4
    kTriangleStrip: int = 5
    kTriangles: int = 4
    kUnsignedChar: int = 4
    kUnsignedInt16: int = 6
    kUnsignedInt32: int = 8
    kWireframe: int = 1
    @staticmethod
    def primitiveString(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def semanticString(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexBufferCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MGeometryExtractor:
    """Class for extracting renderable geometry.

    __init__(MGeometryRequirements, MDagObject, MPolyGeomOptions)
        Initializes a new MGeometryExtractor attached to a MDagObject mesh shape.

    __init__(MGeometryRequirements, MObject   , MPolyGeomOptions)
        Initializes a new MGeometryExtractor attached to a mesh data MObject
        of type MFn::kMeshData or MFn::kMeshGeom.
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kPolyGeom_BaseMesh: int = 2
    kPolyGeom_Normal: int = 0
    kPolyGeom_NotSharing: int = 1
    @staticmethod
    def minimumBufferSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def populateIndexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def populateVertexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def primitiveCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MGeometryIndexMapping:
    """A mapping of geometry index."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def component(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dagPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geometryCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexStart(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MGeometryRequirements:
    """Geometry requirements."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addIndexingRequirement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addVertexRequirement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexingRequirements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexRequirements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MGeometryUtilities:
    """Utilities for Viewport 2.0"""
    @staticmethod
    def acquireReferenceGeometry(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def displayStatus(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kActive: int = 0
    kActiveAffected: int = 10
    kActiveComponent: int = 7
    kActiveTemplate: int = 6
    kDefaultCube: int = 2
    kDefaultPlane: int = 1
    kDefaultSphere: int = 0
    kDormant: int = 2
    kHilite: int = 4
    kIntermediateObject: int = 9
    kInvisible: int = 3
    kLead: int = 8
    kLive: int = 1
    kNoStatus: int = 11
    kTemplate: int = 5
    @staticmethod
    def releaseReferenceGeometry(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def wireframeColor(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MHUDRender(MRenderOperation):
    """Class which defines rendering the 2D heads-up-display."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MIndexBuffer:
    """Index buffer for use with MGeometry."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acquire(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commit(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dataType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasCustomResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lockResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def map(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def size(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unload(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unlockResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unmap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def update(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MIndexBufferDescriptor:
    """Describes an indexing scheme."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    component: maya.api.OpenMaya.MObject
    dataType: int
    indexType: int
    kControlVertex: int = 6
    kCustom: int = 14
    kEdgeLine: int = 1
    kEditPoint: int = 5
    kFaceCenter: int = 4
    kHullEdgeCenter: int = 10
    kHullEdgeLine: int = 7
    kHullFaceCenter: int = 9
    kHullTriangle: int = 8
    kHullUV: int = 11
    kSubDivEdge: int = 12
    kTangent: int = 13
    kTriangle: int = 3
    kTriangleEdge: int = 2
    kVertexPoint: int = 0
    name: str
    primitive: int
    primitiveStride: int

class MIndexBufferDescriptorList:
    """A list of MIndexBufferDescriptor objects."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MInitContext:
    """Initialization context used by advanced initalization method."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    dagPath: maya.api.OpenMaya.MDagPath
    shader: maya.api.OpenMaya.MObject

class MInitFeedback:
    """Data to pass back to Maya after initialization."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    customData: Any

class MIntersection:
    """This class gives a description of an intersection when a selection hit occurs."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    barycentricCoordinates: Any
    edgeInterpolantValue: Any
    index: Any
    instanceID: Any
    intersectionPoint: Any
    selectionLevel: Any

class MLightParameterInformation:
    """Class for providing lighting information that may be used with Viewport 2.0."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def arrayParameterCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParameterTextureHandle(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

    kBoolean: int = 1
    kColor: int = 5
    kCosConeAngle: int = 10
    kDecayRate: int = 8
    kDepthRange: int = 21
    kDropoff: int = 9
    kEmitsDiffuse: int = 6
    kEmitsSpecular: int = 7
    kFloat: int = 3
    kFloat2: int = 4
    kFloat3: int = 5
    kFloat4: int = 6
    kFloat4x4Col: int = 8
    kFloat4x4Row: int = 7
    kGlobalShadowOn: int = 18
    kInteger: int = 2
    kIntensity: int = 4
    kInvalid: int = 0
    kIrradianceIn: int = 11
    kLightEnabled: int = 1
    kNoSemantic: int = 0
    kSampler: int = 10
    kShadowBias: int = 14
    kShadowColor: int = 17
    kShadowDirty: int = 20
    kShadowMap: int = 12
    kShadowMapSize: int = 15
    kShadowOn: int = 19
    kShadowSamp: int = 13
    kShadowViewProj: int = 16
    kStartShadowParameters: int = 11
    kTexture2: int = 9
    kTextureCube: int = 11
    kWorldDirection: int = 3
    kWorldPosition: int = 2
    def lightPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lightType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterSemantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPassContext:
    """Class to allow access to pass context information."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasShaderOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kBeginRenderSemantic: str = "beginRender"
    kBeginSceneRenderSemantic: str = "beginSceneRender"
    kColorPassSemantic: str = "colorPass"
    kCullBackSemantic: str = "cullBack"
    kCullFrontSemantic: str = "cullFront"
    kDOFPassSemantic: str = "dofPass"
    kDepthPassSemantic: str = "depthPass"
    kEndRenderSemantic: str = "endRender"
    kEndSceneRenderSemantic: str = "endSceneRender"
    kMaterialOverrideSemantic: str = "materialOverride"
    kMotionVectorPassSemantic: str = "motionVectorPass"
    kNonPEPatternPassSemantic: str = "nonPEPatternPass"
    kNormalDepthPassSemantic: str = "normalDepthPass"
    kOpaqueGeometrySemantic: str = "opaqueGeometry"
    kOpaqueUISemantic: str = "opaqueUIList"
    kPEPatternPassSemantic: str = "PEPatternPass"
    kPostUIGeometrySemantic: str = "postUIGeometry"
    kPreUIGeometrySemantic: str = "preUIGeometry"
    kSelectionPassSemantic: str = "selectionPass"
    kShadowPassSemantic: str = "shadowPass"
    kTransparentGeometrySemantic: str = "transparentGeometry"
    kTransparentPeelAndAvgSemantic: str = "transparentPeelAndAvg"
    kTransparentPeelSemantic: str = "transparentPeel"
    kTransparentUISemantic: str = "transparentUIList"
    kTransparentWeightedAvgSemantic: str = "transparentWeightedAvg"
    kUIGeometrySemantic: str = "uiGeometry"
    kUserPassSemantic: str = "userPass"
    kXrayUISemantic: str = "xrayUIList"
    def passIdentifier(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def passSemantics(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shaderOverrideInstance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPresentTarget(MRenderOperation):
    """Class which defines the operation of presenting a target for final output."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kCenterBuffer: int = 0
    kLeftBuffer: int = 1
    kRightBuffer: int = 2
    def presentDepth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPresentDepth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTargetBackBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def targetBackBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxComponentConverter:
    """Base class for user defined component converter."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addIntersection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def component(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def initialize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectionMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxDrawOverride:
    """Base class for user defined drawing of nodes.


    Note the third parameter of the constructor is optional and defaults to true:
    MPxDrawOverride(obj, callback, isAlwaysDirty = True)
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def boundingBox(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def disableInternalBoundingBoxDraw(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def excludedFromPostEffects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def handleTraceMessage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isBounded(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isTransparent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def pointSnappingActive(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def prepareForDraw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def refineSelectionPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportedDrawAPIs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def traceCallSequence(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transform(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSelectionGranularity(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def userSelect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def wantUserSelection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxGeometryOverride:
    """Base for user-defined classes to prepare geometry for drawing."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cleanUp(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def configCache(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFrameContext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def handleTraceMessage(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isIndexingDirty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isStreamDirty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def pointSnappingActive(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def populateGeometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def refineSelectionPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def requiresGeometryUpdate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def requiresUpdateRenderItems(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def supportedDrawAPIs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportsEvaluationManagerParallelUpdate(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def supportsVP2CustomCaching(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def traceCallSequence(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateDG(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateRenderItems(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSelectionGranularity(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MPxImagePlaneOverride:
    """(Deprecated: The class isn't required for MPxImagePlane to be supported in Viewport 2.0.) Base class for user defined Image Plane overrides."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportedDrawAPIs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxIndexBufferMutator:
    """Base class for user defined index buffer mutators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mutateIndexing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxPrimitiveGenerator:
    """Base class for user defined primitive generators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def computeIndexCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def generateIndexing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxShaderOverride:
    """Base class for user defined shading effect draw overrides."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def activateKey(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addGeometryRequirement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addGeometryRequirements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addIndexingRequirement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addShaderSignature(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def boundingBoxExtraScale(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def draw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawGeometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endUpdate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def handlesConsolidatedGeometry(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def handlesDraw(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def initialize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def initialize2(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isTransparent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def nonTexturedShaderInstance(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def overridesDrawState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def overridesNonMaterialItems(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def rebuildAlways(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGeometryRequirements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shaderInstance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportedDrawAPIs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportsAdvancedTransparency(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def terminateKey(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateDG(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateDevice(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxShadingNodeOverride:
    """Base class for user defined shading node overrides."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def allowConnections(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fragmentName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCustomMappings(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def handlesConsolidatedGeometry(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def outputForConnection(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportedDrawAPIs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateDG(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def valueChangeRequiresFragmentRebuild(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MPxSubSceneOverride:
    """Base class for Viewport 2.0 drawing of DAG nodes which represent sub-scenes."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addInstanceTransform(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def areUIDrawablesDirty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def furtherUpdateRequired(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getInstancedSelectionPath(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getSelectionPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def pointSnappingActive(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeAllInstances(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeExtraInstanceData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeInstance(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def requiresUpdate(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllowTransparentInstances(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setExtraInstanceData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setGeometryForRenderItem(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInstanceTransformArray(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def supportedDrawAPIs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def update(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateInstanceTransform(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateSelectionGranularity(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MPxSurfaceShadingNodeOverride(MPxShadingNodeOverride):
    """Base class for user defined surface shading node overrides."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def bumpAttribute(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def primaryColorParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def transparencyParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxVertexBufferGenerator:
    """Base class for user defined vertex buffer generators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createVertexStream(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSourceIndexing(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSourceStreams(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MPxVertexBufferMutator:
    """Base class for user defined vertex buffer generators."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def modifyVertexStream(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MQuadRender(MRenderOperation):
    """Class which defines a 2d geometry quad render."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def blendStateOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearOperation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def depthStencilStateOverride(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

    mClearOperation: Any
    def rasterizerStateOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRasterizerState:
    """Container class for an acquired complete GPU rasterizer state."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def desc(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kCullBack: int = 3
    kCullFront: int = 2
    kCullNone: int = 1
    kFillSolid: int = 3
    kFillWireFrame: int = 2
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRasterizerStateDesc:
    """Descriptor for a complete rasterizer state."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    antialiasedLineEnable: bool
    cullMode: int
    depthBias: float
    depthBiasClamp: float
    depthBiasIsFloat: bool
    depthClipEnable: bool
    fillMode: int
    frontCounterClockwise: bool
    multiSampleEnable: bool
    scissorEnable: bool
    def setDefaults(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    slopeScaledDepthBias: float

class MRenderItem:
    """A single renderable entity."""

    DecorationItem: int = 2
    DrawOnlyWhenDefaultMaterialActive: int = 1
    IgnoreDefaultMaterialMode: int = 0
    InternalItem: int = 3
    InternalMaterialItem: int = 4
    InternalTexturedMaterialItem: int = 5
    InternalUnsupportedMaterialItem: int = 6
    MaterialSceneItem: int = 0
    NonMaterialSceneItem: int = 1
    OverrideNonMaterialItem: int = 7
    SkipWhenDefaultMaterialActive: int = 2
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def allowIsolateSelectCopy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def associateWithIndexBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def availableShaderParameters(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def boundingBox(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def castsShadows(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def component(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def create(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def customData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def depthPriority(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def destroy(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def drawMode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def enable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def excludedFromDefaultMaterialOverride(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def excludedFromPostEffects(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def geometry(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getCustomData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDefaultMaterialHandling(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getShaderParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isCompatibleWithMayaInstancer(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def isConsolidated(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isEnabled(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isIsolateSelectCopy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isShaderFromNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def objectTypeExclusionFlag(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def primitive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def primitiveAndStride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def receivesShadows(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def requiredVertexBuffers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sActiveLineDepthPriority: int = 9
    sActivePointDepthPriority: int = 17
    sActiveWireDepthPriority: int = 5
    sDormantFilledDepthPriority: int = 0
    sDormantPointDepthPriority: int = 14
    sDormantWireDepthPriority: int = 2
    sHiliteWireDepthPriority: int = 4
    sSelectionDepthPriority: int = 21
    def selectionMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllowIsolateSelectCopy(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setBoundingBox(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCastsShadows(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setCompatibleWithMayaInstancer(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setCustomData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDefaultMaterialHandling(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setDepthPriority(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDrawMode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setExcludedFromDefaultMaterialOverride(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setExcludedFromPostEffects(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setMatrix(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setObjectTypeExclusionFlag(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def setPrimitive(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setReceivesShadows(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSelectionMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setShaderFromNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTreatAsTransparent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setWantConsolidation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setWantSubSceneConsolidation(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def shadingComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sourceDagPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sourceIndexMapping(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def type(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def wantConsolidation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def wantSubSceneConsolidation(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MRenderItemList:
    """A list of MRenderItem objects."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def indexOf(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderOperation:
    """Class which defines a rendering operation."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def enableSRGBWrite(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kClear: int = 0
    kDataServer: int = 4
    kHUDRender: int = 5
    kPresentTarget: int = 6
    kQuadRender: int = 2
    kSceneRender: int = 1
    kUserDefined: int = 3
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def operationType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def targetOverrideList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def viewportRectangleOverride(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MRenderOverride:
    """Class which defines a 2d geometry quad render."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cleanup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFrameContext(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def nextRenderOperation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderOperation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def select(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setup(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def startOperationIterator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def supportedDrawAPIs(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def uiName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderParameters:
    """Base class for render operation functionsets."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isArrayParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def semantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setArrayParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderProfile:
    """The MRenderProfile class describes the rendering APIs and algorithms supported by a given rendering entity (e.g. a shading node, a renderer)."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addRenderer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasRenderer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kMayaD3D: int = 2
    kMayaOpenGL: int = 1
    kMayaSoftware: int = 0
    def numberOfRenderers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderTarget:
    """An instance of a render target that may be used with Viewport 2.0."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def freeRawData(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def rawData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def targetDescription(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateDescription(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderTargetAssignment:
    """Structure to hold the information required to set a texture parameter on a shader using a render target as input."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    target: Any

class MRenderTargetDescription:
    """Class which provides a description of a hardware render target."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def allowsUnorderedAccess(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def arraySliceCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def compatibleWithDescription(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def height(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isCubeMap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def multiSampleCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rasterFormat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAllowsUnorderedAccess(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setArraySliceCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIsCubeMap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setMultiSampleCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRasterFormat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setWidth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def width(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderTargetManager:
    """Provides access to MRenderTarget objects for use in Viewport 2.0."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acquireRenderTarget(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acquireRenderTargetFromScreen(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def formatSupportsSRGBWrite(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def releaseRenderTarget(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderUtilities:
    """Utilities class for rendering in Viewport 2.0"""
    @staticmethod
    def acquireSwatchDrawContext(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def acquireUVTextureDrawContext(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def blitTargetToGL(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def blitTargetToImage(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def drawSimpleMesh(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kAmbientLight: int = 2
    kDefaultLights: int = 0
    kOrthogonalCameraCloseUp: int = 2
    kOrthogonalCameraWithMargin: int = 1
    kPerspectiveCamera: int = 0
    kSwatchLight: int = 1
    @staticmethod
    def releaseDrawContext(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def renderMaterialViewerGeometry(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def swatchBackgroundColor(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MRenderer:
    """Main interface class to the Viewport 2.0 renderer"""
    @staticmethod
    def GPUDeviceHandle(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def GPUmaximumPrimitiveCount(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def GPUmaximumVertexBufferSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def activeRenderOverride(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def copyTargetToScreen(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def deregisterOverride(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def disableChangeManagementUntilNextRefresh(
        *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    @staticmethod
    def drawAPI(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def drawAPIIsOpenGL(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def drawAPIVersion(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def findRenderOverride(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getFragmentManager(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getOutputTargetOverrideSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getRenderTargetManager(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getShaderManager(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getTextureManager(*args: Unknown, **kwargs: Unknown) -> Any: ...

    kA8: int = 23
    kA8B8G8R8: int = 58
    kAllDevices: int = 7
    kB5G5R5A1: int = 39
    kB5G6R5: int = 40
    kB8G8R8A8: int = 55
    kB8G8R8X8: int = 56
    kBC6H_SF16: int = 18
    kBC6H_UF16: int = 17
    kBC7_UNORM: int = 19
    kBC7_UNORM_SRGB: int = 20
    kD24S8: int = 0
    kD24X8: int = 1
    kD32_FLOAT: int = 2
    kDXT1_UNORM: int = 5
    kDXT1_UNORM_SRGB: int = 6
    kDXT2_UNORM: int = 7
    kDXT2_UNORM_PREALPHA: int = 9
    kDXT2_UNORM_SRGB: int = 8
    kDXT3_UNORM: int = 10
    kDXT3_UNORM_PREALPHA: int = 12
    kDXT3_UNORM_SRGB: int = 11
    kDXT4_SNORM: int = 14
    kDXT4_UNORM: int = 13
    kDXT5_SNORM: int = 16
    kDXT5_UNORM: int = 15
    kDirectX11: int = 2
    kL16: int = 34
    kL8: int = 28
    kNone: int = 0
    kNumberOfRasterFormats: int = 73
    kOpenGL: int = 1
    kOpenGLCoreProfile: int = 4
    kR10G10B10A2_UINT: int = 54
    kR10G10B10A2_UNORM: int = 53
    kR16G16B16A16_FLOAT: int = 62
    kR16G16B16A16_SINT: int = 66
    kR16G16B16A16_SNORM: int = 64
    kR16G16B16A16_UINT: int = 65
    kR16G16B16A16_UNORM: int = 63
    kR16G16_FLOAT: int = 44
    kR16G16_SINT: int = 48
    kR16G16_SNORM: int = 46
    kR16G16_UINT: int = 47
    kR16G16_UNORM: int = 45
    kR16_FLOAT: int = 29
    kR16_SINT: int = 33
    kR16_SNORM: int = 31
    kR16_UINT: int = 32
    kR16_UNORM: int = 30
    kR1_UNORM: int = 22
    kR24G8: int = 3
    kR24X8: int = 4
    kR32G32B32A32_FLOAT: int = 70
    kR32G32B32A32_SINT: int = 72
    kR32G32B32A32_UINT: int = 71
    kR32G32B32_FLOAT: int = 67
    kR32G32B32_SINT: int = 69
    kR32G32B32_UINT: int = 68
    kR32G32_FLOAT: int = 59
    kR32G32_SINT: int = 61
    kR32G32_UINT: int = 60
    kR32_FLOAT: int = 41
    kR32_SINT: int = 43
    kR32_UINT: int = 42
    kR8G8B8A8_SINT: int = 52
    kR8G8B8A8_SNORM: int = 50
    kR8G8B8A8_UINT: int = 51
    kR8G8B8A8_UNORM: int = 49
    kR8G8B8X8: int = 57
    kR8G8_SINT: int = 38
    kR8G8_SNORM: int = 36
    kR8G8_UINT: int = 37
    kR8G8_UNORM: int = 35
    kR8_SINT: int = 27
    kR8_SNORM: int = 25
    kR8_UINT: int = 26
    kR8_UNORM: int = 24
    kR9G9B9E5_FLOAT: int = 21
    @staticmethod
    def needEvaluateAllLights(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def outputTargetSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def registerOverride(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def render(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def renderOverrideCount(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def renderOverrideName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setGeometryDrawDirty(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setLightRequiresShadows(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setLightsAndShadowsDirty(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setOutputTargetOverrideSize(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def setRenderOverrideName(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def unsetOutputTargetOverrideSize(*args: Unknown, **kwargs: Unknown) -> Any: ...

class MSamplerState:
    """Container class for an acquired complete GPU sampler state."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def desc(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAnisotropic: int = 85
    kMinLinear_MagMipPoint: int = 16
    kMinLinear_MagPoint_MipLinear: int = 17
    kMinMagLinear_MipPoint: int = 20
    kMinMagMipLinear: int = 21
    kMinMagMipPoint: int = 0
    kMinMagPoint_MipLinear: int = 1
    kMinPoint_MagLinear_MipPoint: int = 4
    kMinPoint_MagMipLinear: int = 5
    kTexBorder: int = 4
    kTexClamp: int = 3
    kTexMirror: int = 2
    kTexWrap: int = 1
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSamplerStateDesc:
    """Descriptor for a complete sampler state."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    addressU: int
    addressV: int
    addressW: int
    borderColor: List[Any]
    comparisonFn: int
    coordCount: int
    elementIndex: int
    filter: int
    maxAnisotropy: int
    maxLOD: int
    minLOD: int
    mipLODBias: float
    def setDefaults(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSceneRender(MRenderOperation):
    """Class which defines a scene render."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPostUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addPreUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cameraOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearOperation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cullingOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def displayModeOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def fragmentName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getObjectTypeExclusions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAmbientLight: int = 2
    kBoundingBox: int = 16
    kCullBackFaces: int = 2
    kCullFrontFaces: int = 3
    kCullNone: int = 1
    kDefaultMaterial: int = 32
    kExcludeAll: int = -1
    kExcludeCVs: int = 131072
    kExcludeCameras: int = 32
    kExcludeDeformers: int = 256
    kExcludeDimensions: int = 4096
    kExcludeDynamicConstraints: int = 134217728
    kExcludeDynamics: int = 512
    kExcludeFluids: int = 2097152
    kExcludeFollicles: int = 4194304
    kExcludeGrid: int = 65536
    kExcludeHairSystems: int = 8388608
    kExcludeHoldOuts: int = -2147483648
    kExcludeHulls: int = 262144
    kExcludeIkHandles: int = 128
    kExcludeImagePlane: int = 16777216
    kExcludeJoints: int = 64
    kExcludeLights: int = 16
    kExcludeLocators: int = 2048
    kExcludeManipulators: int = 268435456
    kExcludeMeshes: int = 4
    kExcludeMotionTrails: int = 1073741824
    kExcludeNCloths: int = 33554432
    kExcludeNParticles: int = 536870912
    kExcludeNRigids: int = 67108864
    kExcludeNone: int = 0
    kExcludeNurbsCurves: int = 1
    kExcludeNurbsSurfaces: int = 2
    kExcludeParticleInstancers: int = 1024
    kExcludePivots: int = 16384
    kExcludePlanes: int = 8
    kExcludeSelectHandles: int = 8192
    kExcludeStrokes: int = 524288
    kExcludeSubdivSurfaces: int = 1048576
    kExcludeTextures: int = 32768
    kFlatShaded: int = 4
    kLightDefault: int = 3
    kNoCullingOverride: int = 0
    kNoDisplayModeOverride: int = 0
    kNoLight: int = 1
    kNoLightingModeOverride: int = 0
    kNoSceneFilterOverride: int = 0
    kPostEffectDisableAll: int = -1
    kPostEffectDisableDOF: int = 4
    kPostEffectDisableMotionBlur: int = 2
    kPostEffectDisableNone: int = 0
    kPostEffectDisableSSAO: int = 1
    kRenderAllItems: int = -1
    kRenderNonShadedItems: int = 9
    kRenderOpaqueShadedItems: int = 2
    kRenderPostSceneUIItems: int = 8
    kRenderPreSceneUIItems: int = 1
    kRenderShadedItems: int = 6
    kRenderTransparentShadedItems: int = 4
    kRenderUIItems: int = 9
    kSceneLights: int = 5
    kSelectedLights: int = 4
    kShadeActiveOnly: int = 8
    kShaded: int = 2
    kTextured: int = 64
    kWireFrame: int = 1
    def lightModeOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    mClearOperation: Any
    def objectSetOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def objectTypeExclusions(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def postEffectsOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def postRender(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def postSceneRender(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def preRender(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def preSceneRender(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderFilterOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shaderOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shadowEnableOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSelectionContext:
    """This class gives control on the viewport 2.0 selection behavior."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kComponent: int = 2
    kEdge: int = 4
    kFace: int = 3
    kNone: int = 0
    kObject: int = 1
    kVertex: int = 5
    selectionLevel: Any

class MSelectionInfo:
    """This class gives informations on the selection."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    alignmentMatrix: Any
    cursorPoint: Any
    isRay: Any
    isSingleSelection: Any
    localRay: Any
    pointSnapping: Any
    selectClosest: Any
    def selectForHilite(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    selectOnHilitedOnly: Any
    selectRect: Any
    def selectable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def selectableComponent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MShaderCompileMacro:
    """Structure to define a shader compiler macro."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    definition: str
    name: str

class MShaderInstance:
    """An instance of a shader that may be used with Viewport 2.0."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def activatePass(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addColorManagementTextures(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def addInputFragment(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addInputFragmentForMultiParams(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def addOutputFragment(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def annotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def bind(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def createShaderInstanceWithColorManagementFragment(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...
    def getArraySize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getPassCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isArrayParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isTransparent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isVaryingParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAnisotropyShader: int = 13
    kAnisotropyShader2: int = 14
    kBoolean: int = 1
    kDisplacementPosShader: int = 15
    kFloat: int = 3
    kFloat2: int = 4
    kFloat3: int = 5
    kFloat4: int = 6
    kFloat4x4Col: int = 8
    kFloat4x4Row: int = 7
    kGeometryShader: int = 4
    kGlossShader: int = 5
    kGlossShader2: int = 6
    kInteger: int = 2
    kInvalid: int = 0
    kNormalShader: int = 1
    kNormalShader2: int = 2
    kPixelShader: int = 0
    kReflectanceShader: int = 9
    kReflectanceShader2: int = 10
    kRotationAngleShader: int = 7
    kRotationAngleShader2: int = 8
    kRoughnessShader: int = 11
    kRoughnessShader2: int = 12
    kSampler: int = 13
    kTexture1: int = 9
    kTexture2: int = 10
    kTexture3: int = 11
    kTextureCube: int = 12
    kVertexShader: int = 3
    def parameterDefaultValue(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterSemantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def parameterType(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def passAnnotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def postDrawCallback(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def preDrawCallback(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renameParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def requiredVertexBuffers(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resourceName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def semantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setArrayParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setAsVarying(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setIsTransparent(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setParameter(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSemantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def techniqueAnnotation(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def techniqueNames(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def uiName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def uiWidget(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unbind(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateParameters(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def writeEffectSourceToFile(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MShaderManager:
    """Provides access to MShaderInstance objects for use in Viewport 2.0."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addShaderIncludePath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addShaderPath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clearEffectCache(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEffectsBufferShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEffectsFileShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getEffectsTechniques(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getFragmentShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getLastError(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getLastErrorSource(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getShaderFromNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getStockShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def isSupportedShaderSemantic(*args: Unknown, **kwargs: Unknown) -> Any: ...

    k3dBlinnShader: int = 1
    k3dCPVDashLineShader: int = 13
    k3dCPVFatPointShader: int = 4
    k3dCPVShader: int = 4
    k3dCPVSolidShader: int = 18
    k3dCPVThickDashLineShader: int = 16
    k3dCPVThickLineShader: int = 11
    k3dColorLookupFatPointShader: int = 5
    k3dColorOpacityLookupFatPointShader: int = 7
    k3dDashLineShader: int = 12
    k3dDefaultMaterialShader: int = 2
    k3dDepthShader: int = 17
    k3dFatPointShader: int = 9
    k3dFloat2NumericShader: int = 21
    k3dFloat3NumericShader: int = 22
    k3dFloatNumericShader: int = 20
    k3dIntegerNumericShader: int = 19
    k3dIsotropicOpenPBRSurfaceShader: int = 28
    k3dIsotropicStandardSurfaceShader: int = 26
    k3dOpacityLookupFatPointShader: int = 6
    k3dOpenPBRSurfaceShader: int = 27
    k3dPointLightShadowerShader: int = 24
    k3dPointVectorShader: int = 23
    k3dShadowerShader: int = 8
    k3dSolidShader: int = 0
    k3dSolidTextureShader: int = 3
    k3dStandardSurfaceShader: int = 25
    k3dStippleShader: int = 14
    k3dThickDashLineShader: int = 15
    k3dThickLineShader: int = 10
    def releaseShader(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeEffectFromCache(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shaderIncludePaths(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def shaderPaths(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MStateManager:
    """Class to allow efficient access to GPU state information."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def acquireBlendState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def acquireDepthStencilState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def acquireRasterizerState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def acquireSamplerState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBlendState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getDepthStencilState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getMaxSamplerCount(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def getRasterizerState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getSamplerState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kCompareAlways: int = 8
    kCompareEqual: int = 3
    kCompareGreater: int = 5
    kCompareGreaterEqual: int = 7
    kCompareLess: int = 2
    kCompareLessEqual: int = 4
    kCompareNever: int = 1
    kCompareNotEqual: int = 6
    kDomainShader: int = 5
    kGeometryShader: int = 2
    kHullShader: int = 4
    kNoShader: int = 0
    kPixelShader: int = 3
    kVertexShader: int = 1
    @staticmethod
    def releaseBlendState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def releaseDepthStencilState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def releaseRasterizerState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def releaseSamplerState(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBlendState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDepthStencilState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setRasterizerState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSamplerState(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MStencilOpDesc:
    """Descriptor for a depth-stencil operation."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDefaults(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    stencilDepthFailOp: int
    stencilFailOp: int
    stencilFunc: int
    stencilPassOp: int

class MSubSceneContainer:
    """Container for render items generated by MPxSubSceneOverride."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def add(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def count(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def find(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getIterator(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSubSceneContainerIterator:
    """Iterator over render items of MSubSceneContainer object."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def destroy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def next(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def reset(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MSwatchRenderBase:
    """Swatch Render Base class."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def cancelCurrentSwatchRender(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def cancelParallelRendering(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def doIteration(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def finishParallelRender(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def image(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def node(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def renderParallel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    renderQuality: Any
    def resolution(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def swatchNode(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTargetBlendDesc:
    """Descriptor for a blend state for a single render target."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    alphaBlendOperation: int
    alphaDestinationBlend: int
    alphaSourceBlend: int
    blendEnable: bool
    blendOperation: int
    destinationBlend: int
    def setDefaults(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    sourceBlend: int
    targetWriteMask: int

class MTexture:
    """Class which includes texture data."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def bytesPerPixel(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def freeRawData(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasAlpha(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasTransparentAlpha(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasZeroAlpha(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rawData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHasAlpha(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHasTransparentAlpha(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setHasZeroAlpha(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def textureDescription(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def update(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTextureAssignment:
    """Structure to hold the information required to set a texture parameter on a shader using a texture as input."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    texture: Any

class MTextureDescription:
    """Texture description. Provides sufficient information to describe how a block of data can be interpreted as a texture."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    fArraySlices: int
    fBytesPerRow: int
    fBytesPerSlice: int
    fDepth: int
    fEnvMapType: int
    fFormat: int
    fHeight: int
    fMipmaps: int
    fTextureType: int
    fWidth: int
    kCubeMap: int = 4
    kDepthTexture: int = 6
    kEnvCrossHoriz: int = 5
    kEnvCrossVert: int = 4
    kEnvCubemap: int = 6
    kEnvHemiSphere: int = 2
    kEnvLatLong: int = 3
    kEnvNone: int = 0
    kEnvSphere: int = 1
    kImage1D: int = 0
    kImage1DArray: int = 1
    kImage2D: int = 2
    kImage2DArray: int = 3
    kNumberOfEnvMapTypes: int = 7
    kNumberOfTextureTypes: int = 7
    kVolumeTexture: int = 5
    def setToDefault2DTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTextureManager:
    """Class which manages texture."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acquireDepthTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acquireTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acquireTiledTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addImagePath(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def imagePaths(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def releaseTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def saveTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MTextureUpdateRegion:
    """Structure to represent an update region for a texture."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    fXRangeMax: int
    fXRangeMin: int
    fYRangeMax: int
    fYRangeMin: int
    fZRangeMax: int
    fZRangeMin: int

class MUIDrawManager:
    """Main interface for drawing basic UI drawables in Viewport 2.0 and Hardware Renderer 2.0."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def arc(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def arc2d(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def beginDrawInXray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def beginDrawable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def box(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def capsule(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def circle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def circle2d(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cone(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cylinder(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def depthPriority(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endDrawInXray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def endDrawable(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getFontList(*args: Unknown, **kwargs: Unknown) -> Any: ...
    @staticmethod
    def getIconNames(*args: Unknown, **kwargs: Unknown) -> Any: ...
    def icon(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kAutomatic: int = 2
    kCenter: int = 1
    kClosedLine: int = 3
    kDashed: int = 3
    kDefaultFontSize: int = 12
    kDotted: int = 4
    kFlat: int = 0
    kInclineItalic: int = 1
    kInclineNormal: int = 0
    kInclineOblique: int = 2
    kLeft: int = 0
    kLineNone: int = 0
    kLineOverline: int = 1
    kLineStrikeoutLine: int = 3
    kLineStrip: int = 2
    kLineUnderline: int = 2
    kLines: int = 1
    kNonSelectable: int = 0
    kPoints: int = 0
    kRight: int = 2
    kSelectable: int = 1
    kShaded: int = 2
    kShortDashed: int = 2
    kShortDotted: int = 1
    kSmallFontSize: int = 9
    kSolid: int = 0
    kStippled: int = 1
    kStretchCondensed: int = 75
    kStretchExpanded: int = 125
    kStretchExtraCondensed: int = 62
    kStretchExtraExpanded: int = 150
    kStretchSemiCondensed: int = 87
    kStretchSemiExpanded: int = 112
    kStretchUltraCondensed: int = 50
    kStretchUltraExpanded: int = 200
    kStretchUnstretched: int = 100
    kTriStrip: int = 5
    kTriangles: int = 4
    kWeightBlack: int = 900
    kWeightBold: int = 700
    kWeightDemiBold: int = 600
    kWeightLight: int = 300
    kWeightNormal: int = 400
    def line(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def line2d(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lineList(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lineStrip(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mesh(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def mesh2d(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def point(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def point2d(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def points(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rect(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def rect2d(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setColor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setColorIndex(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDepthPriority(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFontIncline(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFontLine(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFontName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFontSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFontStretch(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFontWeight(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLineStyle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLineWidth(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPaintStyle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setPointSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTextureMask(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setTextureSampler(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sphere(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def text(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def text2d(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MUniformParameter:
    """The MUniformParameter class provides a high-level interface to hardware shader uniform parameters. By defining your shader's uniform parameters through this class, you allow Maya to handle the attributes, editing, serialisation, and caching for you in a standard way that ensure you'll be able to leverage future performance and functionlity improvements."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asFloatArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def asString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    enumFieldNames: Any
    def hasChanged(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def isATexture(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kSemanticBackgroundColor: int = 46
    kSemanticBump: int = 11
    kSemanticBumpTexture: int = 30
    kSemanticColor: int = 9
    kSemanticColorTexture: int = 28
    kSemanticEnvironment: int = 12
    kSemanticFarClipPlane: int = 49
    kSemanticFrameNumber: int = 47
    kSemanticHWSEdgeLevel: int = 54
    kSemanticHWSFaceLevel: int = 53
    kSemanticHWSFrontCCW: int = 57
    kSemanticHWSHighlighting: int = 59
    kSemanticHWSInstancedDraw: int = 58
    kSemanticHWSObjectLevel: int = 52
    kSemanticHWSOccluder: int = 56
    kSemanticHWSPrimitiveBase: int = 50
    kSemanticHWSPrimitiveCountPerInstance: int = 51
    kSemanticHWSVertexLevel: int = 55
    kSemanticLocalViewer: int = 44
    kSemanticNearClipPlane: int = 48
    kSemanticNormal: int = 10
    kSemanticNormalTexture: int = 29
    kSemanticNormalizationTexture: int = 31
    kSemanticObjectDir: int = 1
    kSemanticObjectPos: int = 5
    kSemanticOpaqueDepthTexture: int = 33
    kSemanticProjectionDir: int = 4
    kSemanticProjectionInverseMatrix: int = 20
    kSemanticProjectionInverseTransposeMatrix: int = 21
    kSemanticProjectionMatrix: int = 19
    kSemanticProjectionPos: int = 8
    kSemanticProjectionTransposeMatrix: int = 37
    kSemanticTime: int = 34
    kSemanticTranspDepthTexture: int = 32
    kSemanticUnknown: int = 0
    kSemanticViewDir: int = 3
    kSemanticViewInverseMatrix: int = 17
    kSemanticViewInverseTransposeMatrix: int = 18
    kSemanticViewMatrix: int = 16
    kSemanticViewPos: int = 7
    kSemanticViewProjectionInverseMatrix: int = 41
    kSemanticViewProjectionInverseTransposeMatrix: int = 43
    kSemanticViewProjectionMatrix: int = 40
    kSemanticViewProjectionTransposeMatrix: int = 42
    kSemanticViewTransposeMatrix: int = 36
    kSemanticViewportPixelSize: int = 45
    kSemanticWorldDir: int = 2
    kSemanticWorldInverseMatrix: int = 14
    kSemanticWorldInverseTransposeMatrix: int = 15
    kSemanticWorldMatrix: int = 13
    kSemanticWorldPos: int = 6
    kSemanticWorldTransposeMatrix: int = 35
    kSemanticWorldViewInverseMatrix: int = 23
    kSemanticWorldViewInverseTransposeMatrix: int = 24
    kSemanticWorldViewMatrix: int = 22
    kSemanticWorldViewProjectionInverseMatrix: int = 26
    kSemanticWorldViewProjectionInverseTransposeMatrix: int = 27
    kSemanticWorldViewProjectionMatrix: int = 25
    kSemanticWorldViewProjectionTransposeMatrix: int = 39
    kSemanticWorldViewTransposeMatrix: int = 38
    kType1DTexture: int = 4
    kType2DTexture: int = 5
    kType3DTexture: int = 6
    kTypeBool: int = 1
    kTypeCubeTexture: int = 7
    kTypeEnum: int = 10
    kTypeEnvTexture: int = 8
    kTypeFloat: int = 3
    kTypeInt: int = 2
    kTypeString: int = 9
    kTypeUnknown: int = 0
    keyable: bool
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numColumns(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numRows(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def plug(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    rangeMax: Any
    rangeMin: Any
    def semantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setBool(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setDirty(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFloat(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setFloatArray(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setInt(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setString(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    softRangeMax: Any
    softRangeMin: Any
    def source(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def type(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    uiHidden: bool
    uiNiceName: Any
    def userData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MUniformParameterList:
    """MUniformParameterList specify the list of uniform shader parameters used by a hardware shader, allowing Maya to handle setting up the node and user interfaces to the data, the population and access of cached data, etc."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MUserRenderOperation(MRenderOperation):
    """Class which defines a user defined rendering operation."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def cameraOverride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasUIDrawables(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def requiresLightData(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def requiresResetDeviceStates(
        self, /, *args: Unknown, **kwargs: Unknown
    ) -> Any: ...

class MVaryingParameter:
    """The MVaryingParameter class provides a high-level interface to hardware shader varying parameters. By defining your shader's varying data through this class, you allow Maya to handle the attributes, editing, serialisation, requirements setup, and cache management for you in a standard way that ensure you'll be able to leverage future performance and functionality improvements.

    To remove any ambiguity between constructors, the mandatory parameters of the third one have been swizzled:
    MVaryingParameter()
    MVaryingParameter(
           name,
           type,
           minDimension=1,
           maxDimension=1,
           semantic=kNoSemantic,
           invertTexCoords=False,
           semanticName=None)
    MVaryingParameter(
           dimension,
           minDimension,
           maxDimension,
           name,
           type,
           semantic=kNoSemantic,
           destinationSet=None,
           invertTexCoords=False,
           semanticName=None)
    """
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def addElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def destinationSetName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def dimension(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def elementSize(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    kBinormal: int = 8
    kChar: int = 3
    kColor: int = 4
    kDouble: int = 2
    kFloat: int = 1
    kInt16: int = 5
    kInt32: int = 7
    kInvalidParameter: int = -1
    kNoSemantic: int = 0
    kNormal: int = 2
    kPosition: int = 1
    kStructure: int = 0
    kTangent: int = 7
    kTexCoord: int = 3
    kUnsignedChar: int = 4
    kUnsignedInt16: int = 6
    kUnsignedInt32: int = 8
    kWeight: int = 5
    def maximumStride(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def name(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def numElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def removeElements(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def semantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def semanticName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setSource(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sourceSemantic(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def sourceSetName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def type(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def updateId(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MVaryingParameterList:
    """MVaryingParameterList specify the surface component level data used by a hardware shader, allowing Maya to handle setting up the node and user interfaces to the data, the population and access of cached data, etc."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def copy(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setElement(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setLength(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MVertexBuffer:
    """Vertex buffer for use with MGeometry."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def acquire(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def commit(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def descriptor(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def hasCustomResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def lockResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def map(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def resourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def setResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unload(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unlockResourceHandle(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def unmap(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def update(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def vertexCount(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MVertexBufferArray:
    """Array of Vertex buffers."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getBuffer(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def getName(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

class MVertexBufferDescriptor:
    """Describes properties of a vertex buffer."""
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

    dataType: int
    dataTypeSize: int
    dimension: int
    name: str
    offset: int
    semantic: int
    semanticName: str
    stride: int

class MVertexBufferDescriptorList:
    """A list of MVertexBufferDescriptor objects."""
    def __getitem__(self, key: Unknown, /) -> Any: ...
    def __init__(self, /, *args: Unknown, **kwargs: Unknown) -> None: ...
    def __len__(self, /) -> Any: ...
    def __new__(cls, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def append(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def clear(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...
    def remove(self, /, *args: Unknown, **kwargs: Unknown) -> Any: ...

key: str = "__file__"

ourdict: Dict[str, Any]

py2dict: Dict[str, Any]

val: str = "C:\\Program Files\\Autodesk\\Maya2026\\Python\\Lib\\site-packages\\maya\\api\\_OpenMayaRender_py2.pyd"
