OpenGL всегда является отличным выбором для аппаратного ускорения кросс-платформенного рендеринга 3D / 2D. Учитывая пользовательский характер вашей программы, вам, возможно, придется реализовать все самостоятельно, но как только вы поймете суть, это довольно легко. Попробуйте http://nehe.gamedev.net/ это в основном учебники по 3D рендерингу, но их легко применить к 2D.
Возможно, вам придется разбить большее растровое изображение и сохранить его в меньших тайлах, которые я бы порекомендовал вам передавать по мере необходимости. Возможно, вы также захотите загрузить несколько окружающих плиток в любое время, чтобы при масштабировании / панорамировании / вращении не возникало никаких артефактов или загрузки, поскольку изображение обрабатывается в 2D / 3D-пространстве.
Дайте мне знать, если у вас есть какие-либо вопросы.