Другие языки программирования и технологии

Почему в компьютерной графике применяют модели а не отрисовку по формулам?

Alexx Versus
Alexx Versus
66 438
Когда-то рисовали по формулам. Была такая космическая стрелялка Elite - она была написана на ассемблере, шла на любом ведре с гвоздями, содержала в себе несколько галактик с сотнями звезд в каждой и весила 65 кБ. Вся. Полностью.
Но сейчас кагбэ требования к графике немного изменились и все эти расчеты-пересчеты стали слишком массовыми, поэтому они перекладываются на графические ядра в таком вот неявном виде. Иначе просто задолбисси, и процессор задолбишь. А, там УНУТРЕ все та же неонка, то бишь те же формулы, стереометрию не обманешь.
Руслан Кондрашин
Руслан Кондрашин
53 880
Лучший ответ
Ervand Gndlyan Т.е. там в моделях формулы не применялись? Да там корабль (особенно на ZX Spectrum) рисовался около 8 навскидку полигонами. На ZX кст в отличие от PC не было даже "текстур" кораблей.
Ervand Gndlyan За УНТУРЕ респект =)
моделью легче управлять
Ээ.. а Вы считаете что сплайны и полигоны из которых н-р состоит модель не несут в себе мат. формул?? У Вас даже шрифты TTF которые Вы видите сейчас на экране изначально используют кривые Безье и отображаются благодаря мат. аппарату.

https://ru.wikipedia.org/wiki/TrueType

Кст интересный момент вспомнился - "давным давно" когда экспериментировали с играми и движками - был забавный движок использующий элллипсоиды, что было очень необычно. Игра на этом движке была Ecstatica. Наверное можно еще найти на youtube.
Во...
https://www.youtube.com/watch?v=4HpjmGSSm9I
Костя :)
Костя :)
84 764
Вы, наверное, сравниваете игровую графику с графикой демосцены, которая весит десятки килобайт.
Есть в этой всей истории один большой подводный камень под названием "процедурные текстуры". Это прекрасное изобретение, но оно заточено под определенные задачи. Можно процедуркой сделать текстуры дерева, ткани и прочей чепухи, но она на то и процедурная, что мало весит и рассчитывается по формуле. И чем больше таких текстур будет и чем они будут сложнее, тем больше будет нагружаться твое железо. Зато. если запечь эти текстуры в обычные, размер игры станет больше, но она начнет работать быстрее.
Следовательно, вот причина №1
И теперь, почему я с моделей ускакал сразу на текстуры. Допустим, модель генерится исключительно по формулам. А как на нее натянуть запеченную текстуру? а процедурную?
Понятно, что для построения геометрии будут использованы тоже формулы, но я рассмотрел вариант именно с демосценой.
Егор Ильященко
Егор Ильященко
29 042
Очень даже применяют. Отрисовка по формулам - это шейдеры. Есть вертексные, а есть пиксельные. Вертексные - это увеличение, поворот, все матричные преобразования. Пиксельные генерят текстуры на лету. Круги, шашечки, шумы и т. д. Если ты видишь в игре забор сетка рабица - скорее всего это шейдер. Ландшафты делают из текстур только в путь. Например, апельсиновая корка - это обычный шар с наложеннием карты нормалей, которая генерится на лету из шумов.
Аlpine Air
Аlpine Air
26 551