added opengl rendering