Необходимо разработать достаточно сложную анимационную сцену на плоскости — одновременно перемещать несколько десятков объектов(векторные фигуры с заливкой и растровые изображения).
Требования: плавность перемещения, отсутствие мерцания.
Опыт программирования анимации у меня практически отсутствует.
Насколько понимаю, доступны 3 варианта:
1. GDI/GDI+. Как убрать мерцание?
2. DirectX. Где найти документацию о последних версиях? Есть материал о DirectDraw, но это, вероятно, уже не актуально?
3. OpenGL. Есть ли смысл работать в 2D?
Информация из различных источников противоречивая.
А времени на поиск решения и эксперименты не так много.
Здравствуйте, AlekVladis, Вы писали:
AV>Необходимо разработать достаточно сложную анимационную сцену на плоскости — одновременно перемещать несколько десятков объектов(векторные фигуры с заливкой и растровые изображения). AV>Требования: плавность перемещения, отсутствие мерцания. AV>Опыт программирования анимации у меня практически отсутствует. AV>Насколько понимаю, доступны 3 варианта: AV>1. GDI/GDI+. Как убрать мерцание?
Мерцание в любом из 3-ёх вариантов убирается с помощью теневого экрана: выделяется в памяти буфер со страницу видеопамяти, в нём строится сцена, после построения он целиком копируется в видеопамять (DirectX и OpenGL позволяют сделать это автоматически — переключение страниц, в GDI придётся копировать руками).
AV>2. DirectX. Где найти документацию о последних версиях?
MSDN тебе в руку. AV>Есть материал о DirectDraw, но это, вероятно, уже не актуально?
Для векторной графики DirectDraw точно не актуален, а с самим DirectX`ом, если мало времени, разобраться можешь не успеть. AV>3. OpenGL. Есть ли смысл работать в 2D?
Есть. OpenGL проще DirectX`а в программировании, а возможности те же самые.
AV>Информация из различных источников противоречивая.
Посмотри здесь и здесь
Компьютер сделает всё, что вы ему скажете, но это может сильно отличаться от того, что вы имели в виду.
Здравствуйте, AlekVladis, Вы писали:
AV>Необходимо разработать достаточно сложную анимационную сцену на плоскости — одновременно перемещать несколько десятков объектов(векторные фигуры с заливкой и растровые изображения). AV>Требования: плавность перемещения, отсутствие мерцания.
Для такой задачи хватит обычного GDI...
Имею скафандр — готов путешествовать!
Re: 2D анимация
От:
Аноним
Дата:
09.12.04 09:55
Оценка:
Здравствуйте, AlekVladis, Вы писали:
AV>1. GDI/GDI+. Как убрать мерцание?
По поводу мерцания могу порекомендовать почитать здесь
AV>2. DirectX. Где найти документацию о последних версиях? Есть материал о DirectDraw, но это, вероятно, уже не актуально? AV>3. OpenGL. Есть ли смысл работать в 2D?
Не думаю что стоит использовать таких монстров как OpenGL и DirectDraw в этой задаче. Больше времени потратишь на изучение их работы.
Блин, ошибся:
А>Не думаю что не стоит использовать таких монстров как OpenGL и DirectDraw в этой задаче. Больше времени потратишь на изучение их работы.
Re[2]: 2D анимация
От:
Аноним
Дата:
11.03.05 14:28
Оценка:
А>Не думаю что стоит использовать таких монстров как OpenGL и DirectDraw в этой задаче. Больше времени потратишь на изучение их работы.
А если есть необходимость выводить на плоскость картинку, а поверх рисовать еще изменяющуюся текстуру... Тут уж точно нужен OpenGL. Только вот все равно выходит лажа какая-то ... даже при использование double-bufferringа .
Здравствуйте, <Аноним>, Вы писали:
А>>Не думаю что стоит использовать таких монстров как OpenGL и DirectDraw в этой задаче. Больше времени потратишь на изучение их работы.
А>А если есть необходимость выводить на плоскость картинку, а поверх рисовать еще изменяющуюся текстуру... Тут уж точно нужен OpenGL. Только вот все равно выходит лажа какая-то ... даже при использование double-bufferringа .
Здравствуйте, AlekVladis, Вы писали:
AV>Необходимо разработать достаточно сложную анимационную сцену на плоскости — одновременно перемещать несколько десятков объектов(векторные фигуры с заливкой и растровые изображения). AV>Требования: плавность перемещения, отсутствие мерцания. AV>Опыт программирования анимации у меня практически отсутствует. AV>Насколько понимаю, доступны 3 варианта: AV>1. GDI/GDI+. Как убрать мерцание? AV>2. DirectX. Где найти документацию о последних версиях? Есть материал о DirectDraw, но это, вероятно, уже не актуально? AV>3. OpenGL. Есть ли смысл работать в 2D? AV>Информация из различных источников противоречивая. AV>А времени на поиск решения и эксперименты не так много.