Имбирная Ведьмочка
> понадобится 3д-сетка с частотой не меньше 1е7 1/м
Никто не мешает схитрить и сделать для расчёта длину волны побольше. Это будкт эквивалентно уменьшению сцены до милли и микромасштабов.
> хранят широкий спектр частот, тогда как нас интересует только три конкретные частоты - эр, гэ и бэ
Без произвольного спектра у тебя радуги не получится. Будет три тонких полоски твоих эр гэ бэ.
> поляризация нас не интересует
Точно не интересует? Есть же случаи, когда поляризация таки влияет. Вон, при отражении свет ведь поляризуется. Может так оказаться, что при множественном отражении из-за эффектов поляризации свет уйдёт в одном из направлений с нулевой интенсивностью, тогда как алгоритм без учёта поляризации даст ненулевую интенсивность.
slepov
Вполне норм, если это позволит заменить квадрат и куб кекофлопс на полкекобайта, что намного хуже чем кекоофлопс на кекобайт.
Особенно если кекофлопс на кекобайт это хотя бы 30фпс реалтайм кинцо линейно масштабирующееся со сложностью сцены и ценовым диапазоном новой пекарни, а куб кекофлопс на пол кекобайта - полфпс слайдцо постепенно превращающееся по кубической зависисмости в 1 кадр в день как в 90х на заре силикон графикс и первых пека спецэффектов с увеличением сцены.
В первом случае мы получим физично честный некстген графон без костылей с освещением отражением и затенением, легко масштабирующийся докидыванием бабла на апгрейд (пусть и на топ видюхе на первых порах). Во втором - даже закидывание миллионами не поможет.
Asdpoi
> получим физично честный некстген графон без костылей
протрезвей, потом берись за работу. жду честный графон
Имбирная Ведьмочка
}:+()___ [Smile]
кстати, заметил интересный математический факт: трюк с поверхностными диполями работает только для волн. он не работает для статических процессов вроде электростатики или геометрической оптики, даже если в ней бы существовали "источники света с отрицательной яркостью". чтобы понять, почему так, представьте бесконечную плоскость в 3д пространстве, состояющую из элементарных источников. в случае со статическими уравнениями (где поле точечного источника падает как 1/r^2), поле бесконечной плоскости оказывается константным на произвольном удалении от плоскости. а в случае с осциллирующими уравнениями, где поле точечного источника имеет форму sin(kr+t)/r, поле плоскости имеет форму sin(k|x|+t). что такое поверхностные диполи? их можно представить как две такие близко расположенные пластины с противоположенными "зарядами". какое поле создают две такие пластины? это поле пропорционально производной функции поля одной пластины от расстояния. то есть поле статически заряженной пластины — константа, поэтому поле двух пластин (это аналог электростатического конденсатора) равно нулю. а поле осциллирующих пластин — это производная синуса, то есть косинус. то есть только осциллирующие диполи могут создавать ненулевое поле на бесконечности.
умникам
я ничего не имею против людей, которые не понимают физику, но интересуются. но когда люди не понимают физику, но лезут меня учить, как правильно жить, это вымораживает. что вы вообще делаете в этом треде? неужели вы реально думаете, что меня интересует ваше мнение?
Suslik
> но лезут меня учить, как правильно жить, это вымораживает.
Поплачь еще. Взялся вещать с короной великого физика? приготовься терпеть даже самую лютую дичь.
Suslik
Попроси вата сделать капчу с задачами из Демидовича на отправку псто в тред.
slepov
Справедливости ради, суслик единственный трипла-рокстар мирового уровня (пусть и с достаточно скатившегося дьяблоклона) на этом форуме.
Suslik
> какое поле создают две такие пластины? это поле пропорционально производной
> функции поля одной пластины от расстояния.
что за херню написал человек "знающий физику" ? какой функции? Неизвестной которую я сам задам - так любое число пропорционально функции которую я придумал в голове.
Слушай старого радиофизика: поле внутри плоского конденсатора постоянно и не зависит от расстояния до пластин! Ближе к краям и за пределами поле имеет сложную форму, чему оно там пропорционально - ну да, какой то функции. Ппц, просто не пиши обо всем сразу, и в акустику тебя несет, и в оптику, и в термодинамику, и гидро, и кванты.. по факту нигде. Шаришь ты в шейдерах, молодец, крутой поц, но не пиши ты чушь уже.
Зачем так критиковать ?
Суслик со всей душой, идею интересную подогнал.
А ты его хейтишь !
Тебе снигурочки не дают
?
Даже если есть в идее Суслика недочеты и лишнее, то это вопрос времени пофиксить это все.
Главное прорабатывать идею и улучшать код.
ronniko
> Даже если есть в идее Суслика
Напомни в чем суть идеи. Моделить голограмму на компе? Книжки по цифровой голограмме, и ее моделирование, были уже в 80х годах. Мне трудно парсить поток сознания суслика. Там может и есть что то годное, но столько шума что ппц.
slepov
> Напомни в чем суть идеи. Моделить голограмму на компе?
Нет. Не способен прочитать, не пиши. И в общем-то это даже не статья, так что претензии
вида - я не понимаю, объясните получше должны идти сразу лесом.
slepov
> Напомни в чем суть идеи.
Цель - рассчитать освещение на сцене. Это должна быть альтернатива лайт-пробам, ссги и прочим люменам.
Suslik
> кстати, заметил интересный математический факт: трюк с поверхностными диполями
> работает только для волн. он не работает для статических процессов вроде
> электростатики или геометрической оптики, даже если в ней бы существовали
> "источники света с отрицательной яркостью".
А я вот подумал, что, в принципе, возможен такой вариант - вторичные источники света мы кодируем как "свет через окно". То есть мы задаём его через полигон, с которого происходит излучение, и точку, которая задаёт направление. Либо, что эквивалентно - точку-источник и набор плоскостей, задающий область в пространстве:
\(\displaystyle \varphi_s = \begin{cases} \frac{1}{\vec r^2} \ L_s & \text{if } \forall_{p \in P_s} \ \vec r \cdot \vec n_p \geqslant d_p, \\ 0 & \text{otherwise} \end{cases}\)
Их может быть сложнее рассчитать, однако. В частности, уже не получится заранее разбить поверхности на конечные элементы - так как свет от одного полигона может захватить только часть второго, разбиение тоже придётся делать итеративно.
Ну и получится, в общем-то, просто ещё одна вариация на стенсилтные тени.
slepov
> что за херню написал человек "знающий физику" ? какой функции?
Я, на самом деле, сам не знаю наверняка, но могу накинуть вариант из головы:
\(\displaystyle \varphi_s = \begin{cases} \frac{1}{\vec r^2} \ L_s \ e^{i \ k \ |\vec r|} \ \text{norm}(\vec r) \cdot \vec n_s & \text{if } \vec r \cdot \vec n_s > 0, \\ 0 & \text{otherwise} \end{cases}\)
Кстати, Suslik, а вот такие наведённые источники разве не нарушают голографический принцип? С ним можно было бы провести такую оптимизацию - хранить даже не набор диполей на поверхности, а всего лишь один срез из поля в какой-нибудь плоскости, считать эффекты только на нём, и затем в конце восстановить поле из среза как из голограммы. Однако, с источником выше такой фокус не прокатит, например, если срез окажется целиком на "тихой" стороне источника - он вообще никак не отпечатается. А чтобы отпечаток был - надо, чтобы поверхность отражала, причём определённым образом. Ты думал над этим вопросом?
И, кстати, об отражениях - ты уже придумал, как будешь представлять диффузные отражения?
Имбирная Ведьмочка
> Однако, с источником выше такой фокус не прокатит, например, если срез окажется целиком на "тихой" стороне источника - он вообще никак не отпечатается.
голографический принцип описывает только поведение систем конечного размера. то есть для бесконечных плоскостей/диполей он не подходит. если же излучающая плоскость конечного размера, то на достаточном расстоянии поле появится даже на "тёмной" стороне.
Имбирная Ведьмочка
> И, кстати, об отражениях - ты уже придумал, как будешь представлять диффузные
> отражения?
зеркальные отражения легко. они эквивалентны не диполям, а наведённым точечным источникам. диффузные отражения — это наведённые точечные источники с рандомными фазами. это уже смайл когда-то заявлял, я проверил, оно работает.
текущая проблема, которая меня ввела немного в ступор, заключается в том, что мои поглощающие дипольные стенки, как выянислось, поглощают излучение с одной стороны и увеличивают его интенсивность, если "посвестить" с внутренней стороны. в принципе в жизни свет никогда изнутри непрозрачного тела светить не может, поэтому трудно судить, как именно должна себя вести такая идеализированная тонкая стенка, но что-то мне подсказывает, что разницы быть не должно. она должна поглощать свет одинаково с любой стороны. я могу подшаманить формулу интенсивности наведённого диполя, чтобы это выполнялось (заменив интенсивность поля на производную по направлению нормали * i/k), но на этом этапе я теряю контроль над тем, почему она должна работать, и меня это не устраивает.
slepov
> Suslik
> какое поле создают две такие пластины? это поле пропорционально производной функции поля одной пластины от расстояния.
какой функции?
Suslik
> функции поля одной пластины от расстояния.
> поле внутри плоского конденсатора постоянно и не зависит от расстояния до пластин!
молодец, а теперь попробуй дочитать предложение, которое ты цитировал. энивей, я могу потратить полчаса времени и объяснить тебе подробно, что именно я хотел сказать и почему, разложить по полочкам, почему это так и всё разжевать. но зачем? все, кто мне чем-то могут помочь, всё прекрасно поняли (дельфигеймер выше своими словами всё правильно переформулировал). какой смысл мне это разжёвывать для всех остальных? я занимаюсь поиском, а не написанием популярной статьи.
Suslik
> но зачем?
Чтобы быть понятым например. А иначе на кой хрен на публику распинаться?
С дельфигамером ты и в уютном чатике, хоть на китайском и голышом можешь.
slepov
Так геймдев.ру и есть этот чатик. Тебя же насильно в этот тред никто не тащит, не нравится атмосфера - просто не заходи.
Тема в архиве.