innuendo
> кстати, есть полезные демки из NV SDK - с драконами
это где через субпиксели они сортировку делают? эт же ж тормозно..
evirus
> > кстати, есть полезные демки из NV SDK - с драконами
> это где через субпиксели они сортировку делают? эт же ж тормозно..
знаешь, часто в демках есть идеи ... которые потом порождают новые ... главное колесо не изобретать :)
в GL SDK другая демка с драконом
А в чём проблема отсортировать нормально? Главное - как можно реже сортировать, не каждый кадр и не всё. Например, хранить по списку для каждой из 8 сторон, куда камера может смотреть...
>Еще раз: прозрачность и суммирующее смешивание - вещи взаимоисключающие, т.к. считаются по разным формулам.
>НИ ПРИ КАКОМ значении alpha (Y1*alpha + Y2*(1-alpha)) не будет равно (Y1 + Y2).
>Поэтому никакой "прозрачности при суммирующем смешиван" быть не может в принципе.
Кстати по поводу мульти-пасс форвард лайтинг, где подобное как раз должно иметь место быть... первый проход освещения - SRC_ALPHA, ONE_MINUS_SRC_ALPHA, остальные - SRC_ALPHA, ONE. Сортировка никуда не девается, конечно.
innuendo
Да я тоже не наезжаю. Просто такое ярое отстаивание терминологии в вопросах прозрачности мне напомнило тебя, вот и всё.
BUzer
> Просто такое ярое отстаивание терминологии в вопросах прозрачности мне
> напомнило тебя, вот и всё.
ржу не могу :)
а слабо демки от вендоров посмотреть ?
Касательно сортировки - я как-то придумал такой способ (не знаю, мож боян, но тем не менее): Каждый кадр делается один проход по массиву с указателями на рисуемые объекты, и те, у которых дистанция до камеры неправильная относительно друг друга, меняются местами. Получается такая пузырьковая сортировка, размазанная по кадрам. За некоторое количество кадров массив полностью отсортируется.
Можно даже улучшить - например, по четным кадрам делать проход от первого элемента до последнего, а по нечётным - наоборот.
KRIGSSVIN
> А в чём проблема отсортировать нормально? Главное - как можно реже сортировать,
> не каждый кадр и не всё. Например, хранить по списку для каждой из 8 сторон,
> куда камера может смотреть...
Сортировать можно по объектам, а можно по полигонам. Первое - недорого, но не всегда спасает. Второе дороже, т.к. каждый раз надо гнать по шине отсортированные данные. Чтобы этого не делать придумывают всякие техники, чтобы не сортировать или сортировать на GPU. Еще есть проблема в том, что можно расположить полигоны так, что после сортировки они все равно будут рисоваться неправильно (простой пример: 3 полигона перекрестные).
innuendo
> в GL SDK другая демка с драконом
а там что они делают? не Dual Depth Peeling ли? Вот помню была демка с драконом где была туча техник. Скачал недавно демку с сайта NVIDIA, а там всего 2 техники и настроек толком нету :/ Не демку ли из GL SDK я ищу?
если уж на то пошло, то в ShaderX6 есть "Inverse" (не помню точное название) Depth Peeling - когда они рисуют от задних к передним, чтобы не собирать слои, а блендить сразу.
BUzer
> Получается такая пузырьковая сортировка, размазанная по кадрам.
А пробовали реализовывать. Мне кажется. что при большом кол-ве наложений будет сильное моргание - т.е. визуально будет видно. И еще ведь кроме объектов, по-хорошему, полигоны надо сортировать.
evirus
> а там что они делают? не Dual Depth Peeling ли?
evirus
> Вот помню была демка с драконом где была туча техник
там не техники, а типы прорисовки :)
под рукой нету демки
innuendo
> там не техники, а типы прорисовки :)
а чем это по сути отличается, если не вдаваться в терминологические тонкости? - техника/технология/подход/тип прорисовки. Ну даже если брать термин - ну написал я проходы для Depth Peeling, собрал в HLSL-технику - не техника? :)
evirus
> > там не техники, а типы прорисовки :)
> а чем это по сути отличается, если не вдаваться в терминологические тонкости? -
> техника/технология/подход/тип прорисовки. Ну даже если брать термин - ну
> написал я проходы для Depth Peeling, собрал в HLSL-технику - не техника? :)
слуший, у меня нет желания спорить :)
изучение демок, с пристрастием так сказать дало мне кучу новых идей и полезной информации - так понятно ? :)
evirus
> А пробовали реализовывать. Мне кажется. что при большом кол-ве наложений будет сильное моргание - т.е. визуально будет видно.
Пробовал, но у меня было очень мало объектов (а именно, десять) - на таком количестве никаких глюков заметить невозможно, даже если быстро вертеть камерой среди них.
Тема в архиве.