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)