more work on the opengl renderer