По поводу спрайтов в DirectDraw
И второе... Есть игрушка ZuluCommander. Написана явно под DirectX. И там довольно неплохо сделано вращение спрайтов, и явно заранее все фазы вращения не прорисовывались.
Где можно достать что-нибудь подобное, или движок или просто процедурку.
1) Да, надо юзать что-то вроде Lock
2) я такой игры не видел...
On 2002-02-27 1432, Saracen wrote
Я так понимаю, что самому писать процедуру вращения нужно используя Lock()?
И второе... Есть игрушка ZuluCommander. Написана явно под DirectX. И там довольно неплохо сделано вращение спрайтов, и явно заранее все фазы вращения не прорисовывались.
Где можно достать что-нибудь подобное, или движок или просто процедурку.
Используй Direct3D с ортогональной проективной матрицей
On 2002-02-27 1432, Saracen wrote
Я так понимаю, что самому писать процедуру вращения нужно используя Lock()?
И второе... Есть игрушка ZuluCommander. Написана явно под DirectX. И там довольно неплохо сделано вращение спрайтов, и явно заранее все фазы вращения не прорисовывались.
Где можно достать что-нибудь подобное, или движок или просто процедурку.
Используй Direct3D с ортогональной проективной матрицей
Что-же все таки лучше, и что проще(не в смысле реализации, а в смысле дальнейшго использования): 2D или 3D. И хватит ли для D3D карточки S3Virge что бы чувствовать себя комфортно и без ограничений ставить эксперименты.
On 2002-03-01 2054, Saracen wrote
Я не хочу связываться с D3D. Ведь есть способ оставаться в 2D. И для моего проекта Blt не будет сильно тормозить. Я так понимаю, что существует апаратный блитинг, а есть софтварный. И если включить софтварный, то работать будет по всякому. А аппаратный будет быстрей.
Что-же все таки лучше, и что проще(не в смысле реализации, а в смысле дальнейшго использования) 2D или 3D. И хватит ли для D3D карточки S3Virge что бы чувствовать себя комфортно и без ограничений ставить эксперименты.
Всё зависит от того что нужно получить, у Direct3d есть software, если рисуе что-то простое, то при правильном выставлении State'ов всё может работать вполне сносно. У DirectDraw тоже есть софтвар.
И что выбрать для текущего проекта, да и всех последующих, однозначно сказать нельзя, где-то можно обойтись в 2d, или притянуть за уши 3d, а есть где без 3d никак.
А насчет вращения, можешь лочить surface и поворачивать сам, алгоритм не сложный. Главное оптимизировать для нормальной скорости работы либо при старте проги подготавливать все картинки и потом использовать.
On 2002-03-05 0643, Ramzes wrote
Берешь и каждый пихел вращаешь...
Типа того, еще выполняешь интерполяцию соседних пикселей, оптимизируешь таблицами, разворотом циклов, переписываешь в асм, а там уже внутренние циклы раскладываешь по тактам.
(если конечно задача позволяет)