# encoding: utf-8
# module vtkmodules.vtkRenderingOpenGL2
# from C:\Users\xukai\Downloads\发票2\venv\Lib\site-packages\vtkmodules\vtkRenderingOpenGL2.cp311-win_amd64.pyd
# by generator 1.147
# no doc

# imports
import vtkmodules.vtkCommonCore as __vtkmodules_vtkCommonCore
import vtkmodules.vtkRenderingCore as __vtkmodules_vtkRenderingCore
import vtkmodules.vtkRenderingHyperTreeGrid as __vtkmodules_vtkRenderingHyperTreeGrid


from .object import object

class vtkOpenGLQuadHelper(object):
    """
    vtkOpenGLQuadHelper(__a:vtkOpenGLRenderWindow, vs:str, fs:str, gs:str,
         flipY:bool=False) -> vtkOpenGLQuadHelper
    C++: vtkOpenGLQuadHelper(vtkOpenGLRenderWindow *, const char *vs,
        const char *fs, const char *gs, bool flipY=false)
    
    vtkOpenGLQuadHelper - Class to make rendering a full screen quad
    easier
    
    vtkOpenGLQuadHelper is designed to be used by classes in VTK that
    need to render a quad to the screen with a shader program. This
    happens often with render passes or other advanced rendering
    techniques.
    
    Note that when releasing graphics resources instances of this class
    should be destroyed. A common use pattern is to conditionally create
    the instance where used and delete it in ReleaseGraphicsResources and
    the destructor.
    
    It is possible to flip the Y direction of the quad texture coordinate
    by turning on the flipY option in the constructor. This can be useful
    when rendering in an external context having a different convention
    than OpenGL e.g. OpenGL-D3D shared textures. Off by default if
    unspecified.
    
    Example usage:if (!this->QuadHelper)
    {
      this->QuadHelper = vtkOpenGLQualHelper(renWin, vs, fs, gs);
    }
    renWin->GetShaderCache()->ReadyShaderProgram(this->QuadHelper->Program
    );
    aTexture->Activate();
    this->QuadHelper->Program->SetUniformi("aTexture",
    aTexture->GetTextureUnit());
    this->QuadHelper->Render();
    aTexture->Deactivate();
    
    @sa vtkOpenGLRenderUtilities
    """
    def ReleaseGraphicsResources(self, __a): # real signature unknown; restored from __doc__
        """
        ReleaseGraphicsResources(self, __a:vtkWindow) -> None
        C++: void ReleaseGraphicsResources(vtkWindow *)
        
        Release graphics resources. In general, there's no need to call
        this explicitly, since vtkOpenGLQuadHelper will invoke it
        appropriately when needed.
        """
        pass

    def Render(self): # real signature unknown; restored from __doc__
        """
        Render(self) -> None
        C++: void Render()
        """
        pass

    def __getattribute__(self, *args, **kwargs): # real signature unknown
        """ Return getattr(self, name). """
        pass

    def __hash__(self, *args, **kwargs): # real signature unknown
        """ Return hash(self). """
        pass

    def __init__(self, __a, vs, fs, gs, flipY=False): # real signature unknown; restored from __doc__
        pass

    @staticmethod # known case of __new__
    def __new__(*args, **kwargs): # real signature unknown
        """ Create and return a new object.  See help(type) for accurate signature. """
        pass

    def __repr__(self, *args, **kwargs): # real signature unknown
        """ Return repr(self). """
        pass


