use function pointer types defined by opengl