elapsed_seconds = current_second - previous_second if elapsed_seconds > 1.0: previous_second = current_second fps = float(frame_count) / float(elapsed_seconds) glfw.SetWindowTitle(window, '%s @ FPS: %.2f' % (window_title, fps)) frame_count = 0.0 frame_count += 1.0 glColorMask(GL_TRUE, GL_TRUE, GL_TRUE, GL_TRUE) glDisable(GL_STENCIL_TEST) glDisable(GL_BLEND) glDisable(GL_CULL_FACE) glClearColor(0.0, 0.0, 0.0, 0.0) screen_shader = Shader('shader/screen_shader.vs', 'shader/screen_shader.frag') screen_shader.compile(); screen_shader.use() color_shader = Shader('shader/color_shader.vs', 'shader/color_shader.frag') color_shader.compile(); color_shader.use() raw_im = np.zeros((480,640,3), dtype=np.uint8) def createFramebuffer(W, H, samples): tex = np.empty(3, dtype=np.uint32) if samples == 1: glCreateTextures(GL_TEXTURE_2D, len(tex), tex) glTextureStorage2D(tex[0], 1, GL_RGB8, W, H) glTextureParameteri(tex[0], GL_TEXTURE_MAG_FILTER, GL_NEAREST) glTextureParameteri(tex[0], GL_TEXTURE_MIN_FILTER, GL_NEAREST) glTextureStorage2D(tex[1], 1, GL_DEPTH_COMPONENT32F, W, H) glTextureParameteri(tex[1], GL_TEXTURE_MAG_FILTER, GL_NEAREST)