Предыдущая тема :: Следующая тема |
Справедливо или жюри облажалось? ;) |
Всё нормально! |
|
42% |
[ 3 ] |
Как всегда выбрали самый отстой |
|
14% |
[ 1 ] |
Да какая разница? |
|
42% |
[ 3 ] |
|
Всего голосов : 7 |
|
Автор |
Сообщение |
phantom lord
Зарегистрирован: 27.09.2007 Сообщения: 264
|
Добавлено: Пт Апр 17, 2009 06:22 Заголовок сообщения: |
|
|
BiTL писал(а): | phantom lord писал(а): |
Конечно не так. Для этих вещей стенсил уже давно существует
|
) лол, какой стенсил. Там все намного сложнее. Попробуй сделать, чтобы куча кубиков отражалась друг в друге, причем дофига раз. Тоесть в отражениях видны другие отражения. И при этом все правильно отражается, а не просто энвиронмент-мэп какойнить. Короче либо рэйтрейсинг на шейдерах, либо какойто хитрый фэйк.
Цитата: |
таким образом отражение не cделается |
да что ви говорити. Подумай ещё раз.
Ставим камеру так чтобы снять вид правильного отражения в конкретной грани относительно наблюдателя. Рендерим. Копируем в текстуру. Рендерим уже с текстурой. Ставим камеру для следующей грани таким же образом, опять делаем "снимок". И так для каждой грани, и несколько проходов, чтобы получить достаточно отражений.
Я сейчас с ходу не напишу формулу расчета матрицы камеры для "съёмки" текстуры отражения. Но это не проблема (как мне думается). Имеем матрицу камеры наблюдателя, имеем нормаль грани. Значит можем сфоткать правильное отражение.
Вот что я имел ввиду. Но это если мы два кубика изображаем. А если десяток? И как в этом случае нам поможет стэнсил? Нам ведь нужно для каждой грани делать как минимум N-1 количество рендеров, где N - количество кубиков (можно правдо оптимайзить, вычисляя перед рендером сколько в конкретном случае может отразится объектов в конкретной взятой грани)
У нас тут с San'ом догадка возникла. Демка то 40мб весит Они могли для конкретно этой сцены сохранить заранее отрендеренные текстуры с отражениями (куб-мэпы, или просто 2д-текстуры, или вообще ави-шки для каждой грани).
|
Да это ты перемудрил, брат. Нет там переотражений.
>Я сейчас с ходу не напишу формулу расчета матрицы камеры для "съёмки" текстуры отражения. Но это не проблема (как мне думается). Имеем матрицу камеры наблюдателя, имеем нормаль грани. Значит можем сфоткать правильное отражение.
Ну нормаль грани нужна конечно, но не для того, чтобы в нее камеру поставить, как ты писал ранее.
>Но это не проблема (как мне думается).
Конечно, не сложно получить камеру для получения отражения, но если ты не делал никогда этого, то думаю не надо насчет этого полемизировать.
Для понятия достаточно взять зеркало и покрутить его перед собой
>Нам ведь нужно для каждой грани делать как минимум N-1 количество рендеров, где N - количество кубиков
Там не на всех кубиках отражения. Стенсил для того чтобы не рендерить в грань всю сцену. |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Пт Апр 17, 2009 07:09 Заголовок сообщения: |
|
|
phantom lord писал(а): |
Да это ты перемудрил, брат. Нет там переотражений.
|
Есть. Тебе что, скриншотов наделать и стрелочками показывать где там "переотражения"? Даже на скриншоте на поуэте это видно.
phantom lord писал(а): |
Ну нормаль грани нужна конечно, но не для того, чтобы в нее камеру поставить, как ты писал ранее.
|
Я упрощенно написал, думал понятно будет.
phantom lord писал(а): |
Конечно, не сложно получить камеру для получения отражения, но если ты не делал никогда этого, то думаю не надо насчет этого полемизировать.
Для понятия достаточно взять зеркало и покрутить его перед собой
|
А ты делал так как я описал?
phantom lord писал(а): |
Там не на всех кубиках отражения. Стенсил для того чтобы не рендерить в грань всю сцену. |
Для чего и как пользоватся стенсил-буфером я вкурсе. Только как его использование в данном случае полезно, кроме как для отражений на полу? Для рендера отраженных сцен во фрагменты экрана которые покрывают грани - подойдёт ЕСЛИ БЫ объекты были плоскими, а там кубики закруглённые. Дошло? И отражения плавно плывут по объекту, дефектов на закруглённых рёбрах нет.
Ладно. Типа, я не шарю. Не делал так. окей. Спросил у San'а, как он думает. Он сказал, что только догадываться может как эта сцена сделана в Старгазере, и что там не очевидно решение.
Спросил Den'a (Bemz), он тоже однозначно не дал ответ, лишь сказал, что там всё круто смотрится и вероятно копирование в текстуры, но както очень хитро.
А эти товарищи реально шарят.
- - - - - - -
версия: копируем в текстуры правильные ракурсы отражений для наблюдателя. (вероятно только для тех кубов которые отчетливо видно в данный момент), для "переотражений" используем фэйк(тут вариантов масса, даже не хочу перечислять), ибо всеравно в конкретной сцене человек не увидит подделки. Плюс красивое шейдерное освещение с бликами, плюс постановка сцены таким образом чтобы смотрелось наиболее "реально".
Ну и может быть стэнсил, для теней и отражений на полу  |
|
Вернуться к началу |
|
 |
phantom lord
Зарегистрирован: 27.09.2007 Сообщения: 264
|
Добавлено: Пт Апр 17, 2009 07:43 Заголовок сообщения: |
|
|
>Тебе что, скриншотов наделать и стрелочками показывать где там "переотражения"?
Ну глянул, ну есть
Только все равно скругленные моменты не отражают и не все кубики отражают. Вообще просто может казаться сложным. Нужно просто сделать в лоб и посмотреть сколько времени съестся. Там же шейдер закраски - текстура+цвет+к-т френеля - быстренько получится.
Еще можно считать отражения в гранях не во всех сразу, а разбить скажем на несколько фреймов. Так скажем поделив такой рендеринг на два этапа уже прирост в два раза. |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Пт Апр 17, 2009 07:53 Заголовок сообщения: |
|
|
phantom lord писал(а): | >Тебе что, скриншотов наделать и стрелочками показывать где там "переотражения"?
Ну глянул, ну есть
Только все равно скругленные моменты не отражают и не все кубики отражают. Вообще просто может казаться сложным. Нужно просто сделать в лоб и посмотреть сколько времени съестся. Там же шейдер закраски - текстура+цвет+к-т френеля - быстренько получится.
Еще можно считать отражения в гранях не во всех сразу, а разбить скажем на несколько фреймов. Так скажем поделив такой рендеринг на два этапа уже прирост в два раза. |
Да, была у Дена версия, что отражения не считаются для всех кубов каждый кадр, а например через один, и юзается текстура с предыдущего кадра. Не заметно будет.
Ну отражения считать канеш только для видимых граней, попадающих в область экрана, да ещё можно отбросить грани кубов которые перекрываются в текущий момет другим кубом.
Вобщем даже если всё не так сложно, эффекд классный. Демосценично какраз. Смотрится классно, что ещё надо. Да там и начальная сцена, где камера типа в нутрь этой штуки водянистой попадает, класс ) Фрактальные кубы - да, тоже очень интересно, как сделано. |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Пт Апр 17, 2009 08:09 Заголовок сообщения: |
|
|
Хотя нет, всетаки считать надо все кубы, покрайней мере которые рядом ) А то фигня получится ) |
|
Вернуться к началу |
|
 |
Manwe Администратор сайта

Зарегистрирован: 21.09.2007 Сообщения: 1426
|
Добавлено: Пт Апр 17, 2009 23:41 Заголовок сообщения: |
|
|
По-моему, "фрактальные кубы" - самая серая, затянутая и неинтересная сцена. Вот у ASD в Midnight Run (кажется) самый примитивный из фракталов ("бинарный", вроде, называется) использован как фон - это нормально. Минимализм и олдскул (я такой на БК-0010 в интре делал, например)... А раздувать подобное на "полноценную" 3D-сцену - как-то пошло. |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Апр 18, 2009 11:40 Заголовок сообщения: |
|
|
Ну фрактальные кубы с технической точки интересны. Их тоже просто так в лоб не реализуешь, так чтобы не тормозило.
Но согласен, эту сцену бы в 2 раза короче по времени. А в финале нехватает какойнить завершающей крышеносной сцены, как в Second Reality полёт по городу. Тогда бы Stargazer мог бы претендовать на лучшую демо 5-летки ) Хотя он и так в топ-10 на pouet.net |
|
Вернуться к началу |
|
 |
Manwe Администратор сайта

Зарегистрирован: 21.09.2007 Сообщения: 1426
|
Добавлено: Сб Апр 18, 2009 16:47 Заголовок сообщения: |
|
|
BiTL писал(а): | Ну фрактальные кубы с технической точки интересны. Их тоже просто так в лоб не реализуешь, так чтобы не тормозило. |
При построении бинарного фрактала первая итерация задаётся случайным образом (одномерный массив с точками и пустотами), поэтому дальнейшее построение на плоскости возможно только итерационным циклом.
А в Stargazer структура регулярная, то есть легко просчитывается без итераций, следовательно не нужен 3d-массив для хранения поколений и т.п. Никакого RND я там не заметил (может быть плохо смотрел?). Мне показалось, что структура одинакова по всем осям - то есть даже если им лень считать честно, могли прекалькулейтить одномерный массив, а дальше применять его и для оси X, и для Y, и для Z. |
|
Вернуться к началу |
|
 |
Ized shader killer

Зарегистрирован: 28.12.2007 Сообщения: 128
|
Добавлено: Сб Апр 18, 2009 19:03 Заголовок сообщения: |
|
|
Цитата: | Хммм... А как его вызвать? |
Во время сцены с кубами нажми F5, увидишь олдскульный скроллер примерно с таким текстом: Thanx to BiTL for fast reflections algorithm.  |
|
Вернуться к началу |
|
 |
phantom lord
Зарегистрирован: 27.09.2007 Сообщения: 264
|
Добавлено: Сб Апр 18, 2009 21:16 Заголовок сообщения: |
|
|
Manwe писал(а): |
А в Stargazer структура регулярная, то есть легко просчитывается без итераций, следовательно не нужен 3d-массив для хранения поколений и т.п. Никакого RND я там не заметил (может быть плохо смотрел?). Мне показалось, что структура одинакова по всем осям - то есть даже если им лень считать честно, могли прекалькулейтить одномерный массив, а дальше применять его и для оси X, и для Y, и для Z. |
Не в структуре дело - с ней как раз все понятно. Битл же сказал - реализовать, чтобы не тормозило. Там просто на самом деле объем выводимого очень большой и, наверняка, какой-то хитрый фейк присутствует. |
|
Вернуться к началу |
|
 |
Manwe Администратор сайта

Зарегистрирован: 21.09.2007 Сообщения: 1426
|
Добавлено: Сб Апр 18, 2009 22:38 Заголовок сообщения: |
|
|
phantom lord писал(а): | Не в структуре дело - с ней как раз все понятно. Битл же сказал - реализовать, чтобы не тормозило. |
В старых демках сцены с фракталами тормозили как раз из-за рассчётов, а не из-за отрисовки пикселей...
Цитата: | Там просто на самом деле объем выводимого очень большой и, наверняка, какой-то хитрый фейк присутствует. |
Ну если структура регулярная и самый большой объём вывода по оси Z (в глубину экрана), разве нельзя копировать уже отрендеренные фрагменты с масштабированием? Скачай видео, посмотри: в любой момент ставишь на паузу и видишь повторное использование одинаковых фрагментов (только они ещё масштабируются и инверсируются). |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вс Апр 19, 2009 00:39 Заголовок сообщения: |
|
|
Manwe писал(а): | phantom lord писал(а): | Не в структуре дело - с ней как раз все понятно. Битл же сказал - реализовать, чтобы не тормозило. |
В старых демках сцены с фракталами тормозили как раз из-за рассчётов, а не из-за отрисовки пикселей...
Цитата: | Там просто на самом деле объем выводимого очень большой и, наверняка, какой-то хитрый фейк присутствует. |
Ну если структура регулярная и самый большой объём вывода по оси Z (в глубину экрана), разве нельзя копировать уже отрендеренные фрагменты с масштабированием? Скачай видео, посмотри: в любой момент ставишь на паузу и видишь повторное использование одинаковых фрагментов (только они ещё масштабируются и инверсируются). |
Не, как ты в 3д будеш клонировать "уже отрендеренное"(в данном случае)? Этож не бублики как в Into The Pink, которые в удаленных от камеры местах можно рисовать спрайтами. В Старгазере фрактальные кубы смотрятся так, будто рисуется невероятно массивный меш, тоесть ппц скоко полигонов, они нам это и доказывают какбе, полетав камерой во всевозможные итерации
На самом деле такой объём (даже видимого) mesh'a отрисовывать без тормозов нельзя. Скорее всего у них чесно отрисовываться геометрия начинает только при подлёте к дырке, а до этого мы видем текстуру, в которой какимто образом рисуются порталы, шейдер например какойнить хитрый.
Если бы юзались шейдеры 4.0, то видимо можно бы было в этой сцене геометрию генерировать прямо на ГПУ, хотя всеравно не весь меш сразу, а по мере пролёта внутрь. Но если я не ошибаюсь в Старгазере не используются шейдеры 4.0.
Ещё не даёт покоя размер демки ) Наверняка там много прекалка ) |
|
Вернуться к началу |
|
 |
Manwe Администратор сайта

Зарегистрирован: 21.09.2007 Сообщения: 1426
|
Добавлено: Пн Апр 20, 2009 12:06 Заголовок сообщения: |
|
|
BiTL писал(а): | Не, как ты в 3д будеш клонировать "уже отрендеренное" (в данном случае)? |
Вот, к примеру, быстрый тяп-ляп фотошопинг:
Красная грань получена из другой (угадай какой). Для фейка вполне сойдёт. Учитывая, что в Фотошопе я кривовато на глазок сделал.
А ведь можно как ещё исхитриться: считать грани с обычной перспективой, потом клонировать, а дальше из буфера выводить на экран "рыбьим глазом" (чуть-чуть выпукло). Тогда будет ощущение, что все грани немного разные.
Цитата: | Ещё не даёт покоя размер демки. Наверняка там много прекалка |
Это да. |
|
Вернуться к началу |
|
 |
BiTL DOS lover

Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вт Апр 21, 2009 00:31 Заголовок сообщения: |
|
|
Ну видимо да, както так они и делали, юзали текстуры. Но красиво же всё. Это демосценично.
А то щас некоторые любят влоб 10000 поликов нарисовать, чай видюха тянет. Это не айс. |
|
Вернуться к началу |
|
 |
phantom lord
Зарегистрирован: 27.09.2007 Сообщения: 264
|
Добавлено: Вт Апр 21, 2009 07:19 Заголовок сообщения: |
|
|
2 Manwe:
красная грань , я так понял вручную нарисованна, т.е. то не есть кадр с демы?
Просто все остальное на шоте перспективно корректно. |
|
Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|