Пятница, 27 Декабря 2024, 03:01

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Морфинг текстур на SDL2. Реально ?
AlkoshaДата: Среда, 10 Сентября 2014, 23:15 | Сообщение # 1
участник
Сейчас нет на сайте
Можно ли с минимальной нагрузкой на CPU (то есть без попиксельного считывания текстуры, a-ля getpixel setpixel) морфить текстурки помимо вытягивания по вертикали\горизонтали ?
В частности интересен вот этот эффект
https://www.youtube.com/watch?v=tuLgJeXBB-A#t=53
https://www.youtube.com/watch?f....#t=2415

В принципе мысль есть. Нужно просто выстроить тайлы с горизонтальным сжатием по синусу (или косинусу) в полупериод.
Сложно будет подгонять позиционирование каждого тайла.


Сообщение отредактировал Alkosha - Четверг, 11 Сентября 2014, 01:07
-l33t-h4xx-Дата: Четверг, 11 Сентября 2014, 09:13 | Сообщение # 2
участник
Сейчас нет на сайте
Вообще, так как сейчас не 91-ый год, лучше бы использовать OpenGL и написать шейдер или что-то вроде того: затраты ресурсов сразу сведутся к минимуму.
Если возможность использовать GPU не интересует, то в этих играх - не знаю, как в Nebulus, но в Battletoads точно - ничего в сущности не морфится, а просто одни тайлы вовремя заменяются другими. Если какие-то трансформации и происходят, то, вероятно, только по таблично заданным функциям, которые не факт что получены какими-то вычислениями, а не эвристически.

Насколько я могу судить по тому, что видел в исходниках, во многих программах для первой SDL морфинг текстур вовсе не необычное дело: для этого, как правило, лочится surface, после чего совершаются хитрые манипуляции с двоичным представлением картинки. Даже в официальной вики чуть ли не рекомендовали такую технику. Дело это трудное, нужно чётко представлять себе формат изображения - так, как он хранится в памяти - и аккуратно писать код, в котором бы не было лишних операций. Пожалуй, только так.


Как правильно задавать вопросы
AlkoshaДата: Пятница, 12 Сентября 2014, 02:07 | Сообщение # 3
участник
Сейчас нет на сайте
Так то да. В быдло-тоадс морфинга не происходит по сути, так как дендя аппаратно не способна на такие вещи, только строго "пререндеренные" тайлы из ПЗУ выводит (хотя в некоторых случаях умудряются даже векторную графику (игра "elite") заносить в область ОЗУ, а затем из неё видео-генератором выводить потайлово.)
А это, между прочим, вполне интересная мысля. Ведь в моём случае можно поступить так же - отрендерить несколько кадров вращения.
Кстати, на NES есть порт nebulus'a, только называется castelian. Графон там покруче спектрумовского (в виду наличия тайл\спрайт-генератора, и ПЗУ картриджа денди больше по килобайтам, чем встроенного ОЗУ тогдашнего спектрума. Это щас аматоры допаивают в спектрум по 4 мегабайта ОЗУ и видеоконтроллеры VGA-уровня).

По поводу шреддеров на оупенГЛ - в Шреддерах я нубец , это раз. И я даже не осилю настроить проект кодблокса на SDL2+openGL , это два.

Добавлено (11.09.2014, 12:31)
---------------------------------------------

Цитата -l33t-h4xx- ()
Если возможность использовать GPU не интересует

GPU уже используется, так как в SDL2 есть хардварная поддержка 2д. Но шреддеров там всё ещё нет, увы. Всё сводится к одному - прикрутить параллельно openGL

Добавлено (12.09.2014, 02:02)
---------------------------------------------
Готово:

Добавлено (12.09.2014, 02:07)
---------------------------------------------
С платформами сложнее будет. Так как в данный момент "движок" (если мою парашу вообще можно так назвать) ориентирован исключительно на стандартный "платфоринг" типа Марио (только с возможностью перемещения вдоль по ступенькам).

-l33t-h4xx-Дата: Пятница, 12 Сентября 2014, 06:54 | Сообщение # 4
участник
Сейчас нет на сайте
Выглядит здорово.
Удачи с платформами. С ними, похоже, придётся попотеть.


Как правильно задавать вопросы

Сообщение отредактировал -l33t-h4xx- - Пятница, 12 Сентября 2014, 07:05
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг