Войти
ПрограммированиеФорумГрафика

[Unity3D] Делаю свой фреймворк для рисования линий. (3 стр)

Страницы: 1 2 3 4 5 6 Следующая »
#30
16:07, 6 янв. 2019

foxes
> Ты троль - что уже слепому ясно. А мое решение позволяет не заливать и не
> пересоздавать сформированный Mesh на CPU каждый кадр.
прям позволяет даже менять число точек в обънекте без перезалива?)


#31
(Правка: 16:11) 16:10, 6 янв. 2019

Mira
> прям позволяет даже менять число точек в обънекте без перезалива?)
Ну ты то не начинай, стандартный статик объект же. Тем не менее для генерации на CPU вполне приемлемая скорость.

#32
16:11, 6 янв. 2019

Mira

прям позволяет даже менять число точек в обънекте без перезалива?)

а зачем великому изобретателю парится о таких мелочах? Он изобрел GPU билбоард  , а всё остальное кто нибудь потом доделает.

#33
16:13, 6 янв. 2019

Polyflow3d
я лишь подвел итог, что вам хочется и рыбку сьесть..
и чтоб можно было по всякому и очень быстро, без обновления VBO))

я если что в очереди на покупку когда будет готово

#34
(Правка: 16:34) 16:13, 6 янв. 2019

Polyflow3d
> где лишь ориентируешь точки относительно камеры. И все.
Polyflow3d
> Он изобрел GPU билбоард  , а всё остальное кто нибудь потом доделает.
Для тебя даже это несколько постов назад было не достижимо и приходилось решать все на CPU. А уж претензии что не реализовали полный функционал твоего будущего плагина, а лишь ответили на конкретный вопрос - вообще странно. Ж))))))))
Решений как считать линии даже на этом форуме обсуждалось, в том числе есть и мои реализации со всем доделанным. Тебе в 4 раз говорят это просто простой пример написанный за пол часа.

#35
16:44, 6 янв. 2019

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

#36
(Правка: 17:00) 16:52, 6 янв. 2019

Mira
> в кадре миллион линий то перезаполнять VBO будет боль.
В один меш все не влезет. Тобишь еще менеджер пилить для всех объектов с его линиями. А еще копирование из структуры в структуру, вместо того чтобы просто все в меш залить.

#37
(Правка: 17:01) 17:01, 6 янв. 2019

foxes
лайнрендерер чтоли не умеет 32 битные индексы?
с 2017 вроде юнити умеет меш и скиннед меш индексовать 32 битно. с линиями как то не доводилось играться.

#38
(Правка: 17:07) 17:04, 6 янв. 2019

Mira
> лайнрендерер чтоли не умеет 32 битные индексы?
А кроссплатформенность? Те же мобильники? Они гораздо тупее WebGl. И потом миллион линий это минимум 2 миллиона точек.

Mesh.indexFormat - пока ни куда не выпилили.

#39
17:21, 6 янв. 2019

если честно. я не думаю что на мобилках надо будет рендерить мильон точек, так что влезет)
но не представляю где можно чето рисовать одними линиями в таком количестве.
да и одним дравколом это рисовать тоже идея сумашедьшая. это же досвидос куллинг.

а так, отображение направляющих, визуализация какого нибудь процесса парой сотен линий - не пофиг ли как делать. там наверняка это не будет узким местом.

у меня ладно процессинг 20+ персонажей по 15к вершин и под 40 трианглов,  приходится извращаться, и на скриптах там ваще ничего не поедет.

#40
(Правка: 17:47) 17:34, 6 янв. 2019

Mira
Самый прикол в том что в своем примере в нулевом посте он делает тот же процесс что и у меня, рисуя круг и генерируя точки, записывает все в отдельный массив но это еще не Mesh. И только после этого LineRenderer обобщенно генерирует все в Mesh - и при всем этом но кричит что у меня производительность при минимуме функционала равна linerenderer, где я на прямую массивы отправляю в mesh. При том что в WebGL это все, что у меня, что в LineRenderer будет на одном уровне Java кода.

#41
22:47, 6 янв. 2019

lookid

Применение соовсем не понятно.

вот , например, применение Изображение

WebGL демка

#42
0:39, 7 янв. 2019
Я решил запилить свой фреймворк для рисования линий в Юнити.

Это не линии, а кривые (в примере из 0-поста - круги, но бывают кривые безье например), аппроксимированные отрезками малой длины.
Вобщем я решил делать враппер для стандатного LineRenderer , потому что он быстрый. Я не знаю как он там внутри устроен , но он быстрый, очень быстрый.

Любой подобный генератор - создает Mesh - это время самое долгое. Далее Mesh рендериться в камеру каждый кадр - это очень быстро, и LineRenderer или любой другой тут не причем.
Vectrosity например, популярен - но он полностью на cpu стороне все делает. По этому там несколько тысяч точек - и до свидания fps , не вариант , вобщем. 

И что плохого на CPU сделать миллион точек или даже 100 тысяч? Не вижу проблем. Мой генератор векторной графики например генерит сотни тысяч точек и миллионы, да чуть долго - но там и задачи сложные.

Вопрос то в чем? Производительность генерации меша не достаточно быстро? Рунтайм рендер из MeshRenderer долго?

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

#43
0:42, 7 янв. 2019

foxes

Самый прикол в том что в своем примере в нулевом посте он делает тот же процесс что и у меня, рисуя круг и генерируя точки, записывает все в отдельный массив но это еще не Mesh. И только после этого LineRenderer обобщенно генерирует все в Mesh - и при всем этом но кричит что у меня производительность при минимуме функционала равна linerenderer, где я на прямую массивы отправляю в mesh. При том что в WebGL это все, что у меня, что в LineRenderer будет на одном уровне Java кода.

А у вас тоже генератор кругов, и для каких целей?
Что до WebGL - какието нюансы заметили? Генерация под asm.js чуть медленней чем под webassembly, в webassembly медленней чем в редакторе, на моих замерах, но всетаки для несложных Mesh из кругов - вообще не проблема.
#44
(Правка: 1:03) 0:45, 7 янв. 2019

Alex_Hell
> А у вас тоже генератор кругов, и для каких целей?
Пятый раз пишу - просто пример написанный в процессе диалога. И не обязательно кружков.

linerender_001 | [Unity3D] Делаю свой фреймворк для рисования линий.
Страницы: 1 2 3 4 5 6 Следующая »
ПрограммированиеФорумГрафика