www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Scene.org Awards 2008
На страницу Пред.  1, 2, 3, 4  След.
 
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Демопати
Предыдущая тема :: Следующая тема  

Справедливо или жюри облажалось? ;)
Всё нормально!
42%
 42%  [ 3 ]
Как всегда выбрали самый отстой
14%
 14%  [ 1 ]
Да какая разница?
42%
 42%  [ 3 ]
Всего голосов : 7

Автор Сообщение
phantom lord



Зарегистрирован: 27.09.2007
Сообщения: 264


СообщениеДобавлено: Пт Апр 17, 2009 06:22    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
phantom lord писал(а):

Конечно не так. Для этих вещей стенсил уже давно существуетWink


Wink) лол, какой стенсил. Там все намного сложнее. Попробуй сделать, чтобы куча кубиков отражалась друг в друге, причем дофига раз. Тоесть в отражениях видны другие отражения. И при этом все правильно отражается, а не просто энвиронмент-мэп какойнить. Короче либо рэйтрейсинг на шейдерах, либо какойто хитрый фэйк.

Цитата:

таким образом отражение не cделаетсяWink


да что ви говорити. Подумай ещё раз.



Ставим камеру так чтобы снять вид правильного отражения в конкретной грани относительно наблюдателя. Рендерим. Копируем в текстуру. Рендерим уже с текстурой. Ставим камеру для следующей грани таким же образом, опять делаем "снимок". И так для каждой грани, и несколько проходов, чтобы получить достаточно отражений.

Я сейчас с ходу не напишу формулу расчета матрицы камеры для "съёмки" текстуры отражения. Но это не проблема (как мне думается). Имеем матрицу камеры наблюдателя, имеем нормаль грани. Значит можем сфоткать правильное отражение.

Вот что я имел ввиду. Но это если мы два кубика изображаем. А если десяток? И как в этом случае нам поможет стэнсил? Нам ведь нужно для каждой грани делать как минимум N-1 количество рендеров, где N - количество кубиков (можно правдо оптимайзить, вычисляя перед рендером сколько в конкретном случае может отразится объектов в конкретной взятой грани)

У нас тут с San'ом догадка возникла. Демка то 40мб весит Smile Они могли для конкретно этой сцены сохранить заранее отрендеренные текстуры с отражениями (куб-мэпы, или просто 2д-текстуры, или вообще ави-шки для каждой грани).



Да это ты перемудрил, брат. Нет там переотражений.

>Я сейчас с ходу не напишу формулу расчета матрицы камеры для "съёмки" текстуры отражения. Но это не проблема (как мне думается). Имеем матрицу камеры наблюдателя, имеем нормаль грани. Значит можем сфоткать правильное отражение.

Ну нормаль грани нужна конечно, но не для того, чтобы в нее камеру поставить, как ты писал ранее.

>Но это не проблема (как мне думается).

Конечно, не сложно получить камеру для получения отражения, но если ты не делал никогда этого, то думаю не надо насчет этого полемизировать.
Для понятия достаточно взять зеркало и покрутить его перед собойWink



>Нам ведь нужно для каждой грани делать как минимум N-1 количество рендеров, где N - количество кубиков

Там не на всех кубиках отражения. Стенсил для того чтобы не рендерить в грань всю сцену.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Пт Апр 17, 2009 07:09    Заголовок сообщения: Ответить с цитатой

phantom lord писал(а):

Да это ты перемудрил, брат. Нет там переотражений.


Есть. Тебе что, скриншотов наделать и стрелочками показывать где там "переотражения"? Даже на скриншоте на поуэте это видно.

phantom lord писал(а):

Ну нормаль грани нужна конечно, но не для того, чтобы в нее камеру поставить, как ты писал ранее.


Я упрощенно написал, думал понятно будет.

phantom lord писал(а):

Конечно, не сложно получить камеру для получения отражения, но если ты не делал никогда этого, то думаю не надо насчет этого полемизировать.
Для понятия достаточно взять зеркало и покрутить его перед собойWink


А ты делал так как я описал?

phantom lord писал(а):

Там не на всех кубиках отражения. Стенсил для того чтобы не рендерить в грань всю сцену.


Для чего и как пользоватся стенсил-буфером я вкурсе. Только как его использование в данном случае полезно, кроме как для отражений на полу? Для рендера отраженных сцен во фрагменты экрана которые покрывают грани - подойдёт ЕСЛИ БЫ объекты были плоскими, а там кубики закруглённые. Дошло? И отражения плавно плывут по объекту, дефектов на закруглённых рёбрах нет.

Ладно. Типа, я не шарю. Не делал так. окей. Спросил у San'а, как он думает. Он сказал, что только догадываться может как эта сцена сделана в Старгазере, и что там не очевидно решение.
Спросил Den'a (Bemz), он тоже однозначно не дал ответ, лишь сказал, что там всё круто смотрится и вероятно копирование в текстуры, но както очень хитро.

А эти товарищи реально шарят.

- - - - - - -
версия: копируем в текстуры правильные ракурсы отражений для наблюдателя. (вероятно только для тех кубов которые отчетливо видно в данный момент), для "переотражений" используем фэйк(тут вариантов масса, даже не хочу перечислять), ибо всеравно в конкретной сцене человек не увидит подделки. Плюс красивое шейдерное освещение с бликами, плюс постановка сцены таким образом чтобы смотрелось наиболее "реально".
Ну и может быть стэнсил, для теней и отражений на полу Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
phantom lord



Зарегистрирован: 27.09.2007
Сообщения: 264


СообщениеДобавлено: Пт Апр 17, 2009 07:43    Заголовок сообщения: Ответить с цитатой

>Тебе что, скриншотов наделать и стрелочками показывать где там "переотражения"?

Ну глянул, ну естьWink
Только все равно скругленные моменты не отражают и не все кубики отражают. Вообще просто может казаться сложным. Нужно просто сделать в лоб и посмотреть сколько времени съестся. Там же шейдер закраски - текстура+цвет+к-т френеля - быстренько получится.
Еще можно считать отражения в гранях не во всех сразу, а разбить скажем на несколько фреймов. Так скажем поделив такой рендеринг на два этапа уже прирост в два раза.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Пт Апр 17, 2009 07:53    Заголовок сообщения: Ответить с цитатой

phantom lord писал(а):
>Тебе что, скриншотов наделать и стрелочками показывать где там "переотражения"?

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


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

Ну отражения считать канеш только для видимых граней, попадающих в область экрана, да ещё можно отбросить грани кубов которые перекрываются в текущий момет другим кубом.

Вобщем даже если всё не так сложно, эффекд классный. Демосценично какраз. Смотрится классно, что ещё надо. Да там и начальная сцена, где камера типа в нутрь этой штуки водянистой попадает, класс ) Фрактальные кубы - да, тоже очень интересно, как сделано.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Пт Апр 17, 2009 08:09    Заголовок сообщения: Ответить с цитатой

Хотя нет, всетаки считать надо все кубы, покрайней мере которые рядом ) А то фигня получится )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1424


СообщениеДобавлено: Пт Апр 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
Сообщения: 1424


СообщениеДобавлено: Сб Апр 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. Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
phantom lord



Зарегистрирован: 27.09.2007
Сообщения: 264


СообщениеДобавлено: Сб Апр 18, 2009 21:16    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):

А в Stargazer структура регулярная, то есть легко просчитывается без итераций, следовательно не нужен 3d-массив для хранения поколений и т.п. Никакого RND я там не заметил (может быть плохо смотрел?). Мне показалось, что структура одинакова по всем осям - то есть даже если им лень считать честно, могли прекалькулейтить одномерный массив, а дальше применять его и для оси X, и для Y, и для Z.


Не в структуре дело - с ней как раз все понятно. Битл же сказал - реализовать, чтобы не тормозило. Там просто на самом деле объем выводимого очень большой и, наверняка, какой-то хитрый фейк присутствует.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1424


СообщениеДобавлено: Сб Апр 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, которые в удаленных от камеры местах можно рисовать спрайтами. В Старгазере фрактальные кубы смотрятся так, будто рисуется невероятно массивный меш, тоесть ппц скоко полигонов, они нам это и доказывают какбе, полетав камерой во всевозможные итерации Smile

На самом деле такой объём (даже видимого) mesh'a отрисовывать без тормозов нельзя. Скорее всего у них чесно отрисовываться геометрия начинает только при подлёте к дырке, а до этого мы видем текстуру, в которой какимто образом рисуются порталы, шейдер например какойнить хитрый.

Если бы юзались шейдеры 4.0, то видимо можно бы было в этой сцене геометрию генерировать прямо на ГПУ, хотя всеравно не весь меш сразу, а по мере пролёта внутрь. Но если я не ошибаюсь в Старгазере не используются шейдеры 4.0.

Ещё не даёт покоя размер демки ) Наверняка там много прекалка )
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1424


СообщениеДобавлено: Пн Апр 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:
красная грань , я так понял вручную нарисованна, т.е. то не есть кадр с демы?
Просто все остальное на шоте перспективно корректно.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Демопати Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, 4  След.
Страница 2 из 4

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах