Флейм
GameDev.ru / Флейм / Форум / dell (3 стр)

dell (3 стр)

Advanced: Тема повышенной сложности или важная.
Страницы: 1 2 3 4 59 Следующая »
MrShoorУчастникwww10 сен. 201722:31#30
secvensor
> Мы же не о прирендере говорим.
Чо за прирендер?
Роман ШуваловУчастникwww10 сен. 201722:31#31
MrShoor
> Просто набить надо так, чтобы треугольники занимали 1-2 пикселя на экране.
Ради того, чтобы по неведомым причинам не сглаживать нормали, мы будем в десятки раз увеличивать количество треугольников чтобы они достигли размеров 1 пикселя?

А, погоди, или это сарказм был.

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

MrShoorУчастникwww10 сен. 201722:38#32
Роман Шувалов
> Ради того, чтобы по неведомым причинам не сглаживать нормали, мы будем в
> десятки раз увеличивать количество треугольников чтобы они достигли размеров 1
> пикселя?
Ну это способ втиснуться в условия автора.

> А, погоди, или это сарказм был.
Не. ТС же пытается придумать, чтобы фсьё тармазилла. Поэтому даже сглаживать нормали нельзя, но для современного железа даже его условия не проблема. Конечно в нормальном софте такое делать это фейспалм.

secvensor
> Мы говорим о реал-тайм обработке.
> Какова будет прожорливость при количестве полигонов, если они немного больше
> пикселя?
Если сделать грамотный фрустум куллинг и оклюжн куллинг, а так же нормально реализовать адаптивную тесселяцию. Если не делать слишком сложную модель освещения, не особо заморачиваться с тенями, переотражениями и постэффектами, то на GF1060 легко можно 60FPS выжимать, а то и намного больше.

MrShoorУчастникwww10 сен. 201722:40#33
secvensor
> нам не надо попиксельно его рисовать.
Да ну что за бред? Ну как не надо попиксельно рисовать, если у тебя монитор умеет рисовать только пиксели. Что за чушь ты несешь?
Роман ШуваловУчастникwww10 сен. 201722:45#34
secvensor
> Это плюсы векторной графики, и плюсы которых нет у растровой, упирающейся в
> пиксели и полигоны.
Векторную графику для отрисовки на экране монитора надо (внимание!) преобразовать в растровую. И потерять всю векторность. Но без этого никак, мониторы у нас растровые и способ вывода изображения отличается от осциллографа.

Точно так же твои векторные 3д-поверхности надо преобразовать в растр для вывода на экран. Но поскольку никаких вычислительных мощностей не хватит, чтобы сделать это "в лоб" вычисляя каждый пиксель, придумали отрисовку при помощи полигонов. Преобразоваываем векторную 3д-поверхность в набор полигонов, а уже полигоны выводим на экран, сглаживая артефакты всякими придуманными для этих вещей штуками, главная из которых - интерполяция нормалей и других атрибутов вершин.

Напоминаю: задача программиста, который пишет графику для видеоигры - замаскировать как можно больше артефактов и сжульничать где только возможно, лишь бы достичь максимальной производительности. Поэтому у нас есть полигоны, упрощенная модель освещения, упрощенные фальшивые тени, а деревья на заднем плане подменяются плоскими картинками. Либо производительность, либо фреймрейт 1 кадр в час.

ВасянУчастникwww10 сен. 201722:57#35
Намечается очередной мемасик.
Роман ШуваловУчастникwww10 сен. 201723:25#36
secvensor
> Вот дело о ТАКОМ, только 3D.
Думаешь справа вектор? Наивный. Оба растра. Смотри:

Vector-Raster | dell

Роман ШуваловУчастникwww10 сен. 201723:31#37
Ranma
> Чукча хитрый - он SVG вставил!
Я хитрее - сфотографировал монитор.
Роман ШуваловУчастникwww10 сен. 201723:33#38
secvensor
Усвой разницу между тем, в каком виде данные хранятся внутри программы (или у нас в голове), и при помощи каких средств они выводятся на экран.

Вектор хранится в виде набора координат. А выводится при помощи растра.
Процедурные 3д-модельки, нарисованные при помощи формул, хранятся в виде формул. А выводятся при помощи генерирования треугольников и затем рендерятся во всё тот же растр.

ВасянУчастникwww10 сен. 201723:51#39
Про осциллографы мы уже вспоминали. Давайте теперь про аналоговые компьютеры поговорим.
MrShoorУчастникwww11 сен. 20170:51#40
Джек Аллигатор
> ни одного полигончика!
Брехня. Два как минимум.
ВасянУчастникwww11 сен. 20171:15#41
secvensor
Я видел GTA5 (или 4) на мониторе от Apple 2.
Роман ШуваловУчастникwww11 сен. 20172:07#42
MrShoor
> Брехня. Два как минимум.
Почему, можно один описанный треугольник вокруг экрана.
SuslikМодераторwww11 сен. 20172:45#43
secvensor
> Поэтому в одиннадцатый раз повторяю мне дали задачу найти метод, при котором
> рисуется не полигонами и без полигонов, на основе полигоннальных моделей (путём
> обводки).
обводку ещё какую-то приплёл. не смущает, что формулировка задачи с каждым следующим постом меняется?

> хочет куратор
ну так с этого и надо было начинать. приведи его в тред, может, хоть с ним можно будет нормально поговорить. тему перенёс, не благодари.

MrShoorУчастникwww11 сен. 20175:58#44
FordPerfect
> Да вроде одного хватит же?
Роман Шувалов
> Почему, можно один описанный треугольник вокруг экрана.
Ну оно то конечно можно, но видяха все равно клипнет треугольник квадратом и растеризовать уже будет два.

p.s. сразу предупреждаю. Есть пейпер, который показывает как это сделать одним треугольником, типа чтобы не было овердрава на диагонали экрана, только пейпер этот нифига не работает, потому что железка клипает треугольники все равно. Лично проверял бенчмарками. Так же спецификация OpenGL говорит что видяха может создавать дополнительные примитивы при клиппинге. А еще находил одну из древних спецификаций от AMD, где они говорят что клипают. Думаю на современном железе мало что изменилось.

Правка: 11 сен. 2017 6:00

Страницы: 1 2 3 4 59 Следующая »

/ Форум / Флейм / Программирование

Тема закрыта.

2001—2018 © GameDev.ru — Разработка игр