Основная разница между OpenGL и Direct3D - в том что первый это скорее С, а второй С++. Т.е Direct3D объектно ориентирован со всеми вытекающими. Хотя для OpenGL есть надстройки, которые добавляют ему ОО. Что именно использовать - обычно дело вкуса.
по задаче:
1 вариант (Borland уже предложил) юзать DirecDraw, там через IDirectDrawSurface::Lock получаешь указатель на саму поверхность (пиксели) и работаешь с ней как с массивом. Все трансформации писать придется самому (или это и нужно?). Все будет происходить на проце.
2 вариант - юзая Direct3D или OpenGL (абсолютно не важно, что именно) загнать в текстуру исходное изображение, отобразить ее во весь экран и работать с картинкой используя готовые методы - теже повороты, блендинг и тд. Все вычисления будут в видюхе, если тебе не нужно каких-то мудреных преобразований (хотя тут шейдеры спасут), то этот вариант однозначно быстрее и пишется и работает
|