def __init__()

in renderer/glRenderer.py [0:0]


    def __init__(self, width=640, height=480, name='GL Renderer',
                 program_files=['renderer/shaders/simple140.fs', 'renderer/shaders/simple140.vs'], color_size=1, ms_rate=1):
        self.width = width
        self.height = height
        self.name = name
        self.display_mode = GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_MULTISAMPLE
        self.use_inverse_depth = False

        global _glut_window
        if _glut_window is None:
            glutInit()
            glutInitDisplayMode(self.display_mode)
            glutInitWindowSize(self.width, self.height)
            glutInitWindowPosition(0, 0)
            _glut_window = glutCreateWindow("GL_Renderer")


            glEnable(GL_DEPTH_CLAMP)
            glEnable(GL_DEPTH_TEST)

            glClampColor(GL_CLAMP_READ_COLOR, GL_FALSE)
            glClampColor(GL_CLAMP_FRAGMENT_COLOR, GL_FALSE)
            glClampColor(GL_CLAMP_VERTEX_COLOR, GL_FALSE)


        self.program = None
        self.initShaderProgram(program_files)

        # Init Uniform variables
        self.model_mat_unif = glGetUniformLocation(self.program, 'ModelMat')
        self.persp_mat_unif = glGetUniformLocation(self.program, 'PerspMat')

        self.model_view_matrix = None
        self.projection_matrix = None

        self.vertex_buffer = glGenBuffers(1)
        self.color_buffer = glGenBuffers(1)
        self.normal_buffer = glGenBuffers(1)

        self.index_buffer = glGenBuffers(1)     #for Mesh face indices. Without this vertices should be repeated and ordered (3x times bigger)

        #Create Background Texture
        glPixelStorei(GL_UNPACK_ALIGNMENT, 1)       #So that texture doesnt have to be power of 2
        self.backgroundTextureID = glGenTextures(1)
        K = np.array([[2000, 0, 960],[0, 2000, 540],[0,0,1]])       #MTC default camera. for 1920 x 1080 input image
        self.camView_K = K
        
        # Inner storage for buffer data
        self.vertex_data = None
        self.vertex_dim = None
        self.n_vertices = None

        #Variables for view change
        self.m_xTrans = 0.
        self.m_yTrans = 0.
        self.m_zTrans = 0.
        self.m_zoom = 378
        self.m_xRotate = 59.
        self.m_yRotate = 0.
        self.m_zRotate = 0.
        self.m_xrot = 0.0
        self.m_yrot = 0.0

        #Camera view
        self.m_viewmode = "cam"

        #To compute sideview
        self.m_meshCenter = None

        #Option
        self.bOffscreenMode = False
        self.bAntiAliasing = True #apply anti aliasing

        #Textures
        self.data_texture = None


        #Visualization option
        self.bShowBackground = False
        self.bShowFloor = False

        self.nearPlane = 1  # original
        self.farPlane = 10000.0

        self.counter=1


        self.bOrthoCam = True
        
        glutMouseFunc(self.mouseButton)
        glutMotionFunc(self.mouseMotion)
        glutDisplayFunc(self.display)
        glutReshapeFunc(self.reshape)