Войти
ПроектыФорумОцените

SR64 (15 стр)

Страницы: 114 15 16 17 18 Следующая »
#210
(Правка: 1:06) 0:16, 4 фев. 2020

Вот обычный Obj-файл, в котором обычный кубик из 8 вершин:

+ Показать

Индексов в нем 24, а соответственно линий 24.
Но если сравнить, то увидите двойные индексы:
f 2 1 3 4 - это 2-1, 1-3, 3-4, 4-2
Соответственно обратные индексы (1-2, 3-1, 4-3, 2-4) нужно удалить.
Если внимательно посмотрите, то увидите обратные индексы, т.е. по сути дубликаты.
Т.е. по факту тут всего 12 одинарных линий, а не 24.

#211
0:20, 4 фев. 2020

invis
> Это оно?
Это все в 3 mulps умещается. Это ж 3D-вектор.

#212
0:21, 4 фев. 2020

invis
> Посмотрел, как их обычно считают - жуть
Да, невеселое занятие.

#213
0:54, 4 фев. 2020

eDmk
Всё, теперь понял откуда дубли растут.
Как нибудь буду снова писать нейронку, обязательно подумаю в сторону удаления дублей (там задача у меня примерно аналогичная встретится)

invis

Наверняка обход по рёбрам быстрее.

А барицентрик придумали для распаралеливания (интел делит экран на прямоугольники, умещающиеся в кэш и понеслась... получается сильно быстрее)
#214
1:26, 4 фев. 2020

InfusionKRD
> А барицентрик придумали для распаралеливания
Если речь о видеокартах, то да, причём суть не в разбиении экрана на тайлы, а в раскладывании каждого треугольника по пикселям на тысячи своих процессоров.
Но на CPU, мне кажется, нужно параллелить более высокий уровень. Либо треугольники делить по потокам, либо экран на горизонтальные полоски. И поэтому в рисовании через барицентрические координаты мало смысла.

#215
(Правка: 1:39) 1:36, 4 фев. 2020

invis
> в рисовании через барицентрические координаты мало смысла
Треугольники тогда прыгать будут :) Как у боброва aka 122-й.
Весь смысл треугольника в том, что надо загнать его четко в нужные координаты,
а не туда, куда он прилипнет после Round.

#216
3:11, 4 фев. 2020

eDmk
> Треугольники тогда прыгать будут :) Как у боброва aka 122-й.
У кого-то там прыгают - слабый аргумент, значит, сделано криво :)

Хотя вот наткнулся на статью, в которой объясняются преимущества рендера на барицентрике.
https://fgiesen.wordpress.com/2013/02/10/optimizing-the-basic-rasterizer/
Показано, как считать барицентрик за 3 сложения на пиксель, есть пример SIMD-рендера с обработкой нескольких пикселей за итерацию.
В таком варианте выглядит вполне разумно. Хотя в конце автор уточняет, что для больших треугольников в полэкрана всё же не очень оптимально каждый раз проходить весь bounding box.

#217
(Правка: 10:45) 9:37, 4 фев. 2020

invis
> И поэтому в рисовании через барицентрические координаты мало смысла.

Сложные вычисления делаются один раз перед отрисовкой треугольника. Дальше всё дешево: интерполяция, v4:add/mad.

#218
9:38, 4 фев. 2020

eDmk
> Треугольники тогда прыгать будут

Не будет ничо прыгать. Барицентрические координаты тут ни при чём. OpenGL рисует через них и ничо не прыгает. Мой рендер рисует через них и тоже ничо не прыгает.

#219
13:12, 4 фев. 2020

>Не будет ничо прыгать
У меня первая версия триэнгла прыгала.
BC позволяют точки точнее распихать.

#220
(Правка: 13:53) 13:49, 4 фев. 2020

eDmk
> BC позволяют точки точнее распихать.

BC помогают распараллеливать легко, но точнее они это не делают. У тебя где-то ошибки были просто.

Ещё я перешёл на BC потому, что в них дешевле считать dFdx/dFdy. Это будет важно при фильтрации.

Я бы сказал фильтрация это вообще самая дорогая фишка. Особенно трилинейная и mipmap (log).

#221
23:45, 3 июня 2020

Обновление SR64
1. Улучшена стабильность
2. Оптимизация
3. Выделение групп объектов (CTRL + LMB)
4. Генерация икосаэдров вместо сфер

#222
0:39, 4 июня 2020

eDmk Потестил, вроде всё работает. Не нашел до чего докопаться)

#223
11:08, 4 июня 2020

InfusionKRD
На шрифт теперь не ругается?

#224
11:52, 4 июня 2020

eDmk на это ругается...
Я все никак не доберусь себя сделать владельцем папок на этой чудо ОС. Думаю, если больше никто на подобное не жаловался - то проблема только у меня.

Страницы: 114 15 16 17 18 Следующая »
ПроектыФорумОцените