MegaCraZy6
@MegaCraZy6
Юзерь

Assembler, графика, как сделать еффект расстояния, алгоритм уменьшения ( увелич. ) изображения?

Хочу сделать ну очень простую 3д "сцену" ну на самом деле 2д. Что-то в стиле игры дум. Не планирую ничего сделать ни текстур пола ни неба никакого ничего. Только сцена одноцветный пол, возможность передвигать и какой-то спрайт на сцене.

( Использую только прерывания BIOS, видео режим 320х200, 256 цветов из INT 10h )

Для ефекта 3д надо чтоб чем спрайт далее тем меньшим он казался. Каким алгоритмом можно делать спрайт меньше.

Мне в голову пока приходили варианты:
- Сделать маленький но качественный спрайт который при нужности будет делаться больше. Тоесть чем обьэкт ближе тем больше его надо будет увеличить, и качество потеряется но все-же. ( Хотя для небольшого расстояния можно и другой спрайт попытаться использовать ( но не уверен хорош ли этот вариант ) )

- Сделать большой спрайт который будет уменьшаться, ( тут я даже не понимаю как его адекватно сжать, все что приходит мне в голову сложно и криво, например Один пиксель должен содержать в себе цвета соседей, во первых незнаю как реализовать, во вторых а что если будет один черный пиксель а вокруг него много белых что в итоге получиться. Он просто же исчезнет )

Что скажете, какой метод лучше использовать, какие сложности я не учел, или может знаете другие?

PS: Не особо силен в программирование, все чисто по фану.
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
freeExec
@freeExec
Участник OpenStreetMap
Вы копаете слишком большой пласт. Но для начала можете начать гуглить
  • perspective
  • camera transformation matrix
  • image level of details
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы