![]() |
Ответ: Странное.
|
Ответ: Странное.
Погляди на оф.форуме. Там товарищ ascii1457 уже делал шейдеры неба с солнцем. Может наведет на какие-то мысли.
|
Ответ: Странное.
Да и я в RUST'е делал, с изменением размера динамично исходя из положеня, ведь в зените будет маленькое..
Вот вырезки из шейдера, за стиль приношу извенения, раньше опыта и дисциплины не хватало: Код:
VecSky.xyz = normalize(PosCam-IN.pWorld); VecSun - это вектор (переменная), которую ты посылаешь с кода. Вектор от камеры, где солнце находится, например { 0,1,0 } - это вертикально сверху. SizeSun нада большим числом, попробуй сперва 10f например, потом поэксперементируй, я не помню уже. Собственно и всё. На деле всё ОЧЕНЬ просто, и можно без проблем регулировать и положение и размер, и цвет да что угодно. Не мудри с нормалями - они не стабильны, используй как предложил вектор между камерой и позицией пикселя. Глянь RUST, я когда-то делал небо там, правда сейчас бы сделал лучше, но там неплохо закат был имхо. |
Ответ: Странное.
Мока, я сделал по другому. Семантикой получаю направление света. Умножаю его на -1. Умножаю на масштаб вывернутой наизнанку сферы прикидывающейся небосводом. Це позиция светила на небесной сфере. Потом вычитая из позиции центра солнца позициею пикселя имею вектор. Длину которого узнать изноупроблем. Если длина меньше радиуса светила, то цвет подменяется на цвет солнца в этой точке.
Профит. Автоматически управляемое хорсом солнце одинакового диаметра независимо от позиции. И да, я не использую нормали, я просто рисую на сфере. Надо бы вкуриться в то как расписывают купола, но это будет уже не нормально :) Просто снижение яркости картинки при взгляде на солнце это HDR? По моему это должно быть более сложным анализом картинки, основанном на 3-4 кадрах хотя бы за секунду, что ли. |
Ответ: Странное.
Вложений: 4
Цитата:
Делай не расстояние пикселя к сфере солнца, а по векторам, как предлагаю, будет то же самое что у тебя, только без пикселизации на гранях, и абсолютной не зависимости от геометрии неба (куб, сфера, да хоть плэйн перед камерой, и т.п.). Вектор солнца - также из семантики можно без проблем вычислить - это тупо нормализированная позиция солца - позиция камеры. UPD: Вот сделал скрины, далёкий 2008ой.. |
Ответ: Странное.
Мока, наши деревья в этом вопросе сильно разные :)
Говоря про пикселезацию это ты намекаешь на то, что я края у солнца не смазал? Я там собирался какой-нить сложный градиент сочинить. Я скачал твой раст, завтра буду потрошить :) |
Ответ: Странное.
Цитата:
Да и это скорее я не как "лучше я думаю", а скорее с точки зрения кривости самой реализации. Если рассматривать реализацию чего-либо, алгоритма, механизма, шаблона, интерфейса, да чего угодно, то она должна как можно меньше зависеть от "потайных" правил. Например у тебя есть они - длина вектора ДОЛЖНА быть радиусом сферодомы неба. Сферодома - должна иметь достаточную триангуляцию, иначе будут артефакты. Все эти "или", "если", и т.п. - плохой тон в любой сфере программирования. Старайся их избегать, либо реюзабельность идей и даже исходника - сомнительна и специфична, тем более другими людьми. |
Ответ: Странное.
|
Ответ: Странное.
|
Ответ: Странное.
а вас не стремает писать сложный шейдер для фона? не проще солнышко по старинке нарисовать поверх неба? или лучше небо поверх солнца?
|
Ответ: Странное.
|
Ответ: Странное.
|
Ответ: Странное.
Цитата:
Можно сделать и текстурой уху, но никакой динамики толком не сделаешь, тем более зачем тебе текстура, если это тупо окружность? Тем более если хочешь использовать полноценный HDR, то использование цвета который ярче чем 1.0f, то именно процедурно это намного лучше реализовывать. Изменение размера тоже. Да и шустрее, чем выборки делать постоянные. Вот например использовать текстуру для проекции спутников в небе - уже другой вариант, но и тут снова, если нужна реально красота и реалестичная атмосфера, тогда вообще нужно это дело делать используя атмосферный скаттеринг (подобие Volumetric Fog), чтобы атмосфера также влияла и на всё окружение (туман), и солнце уже можно делать тупо сферой в космосе, как и спутники. В общем dsd - не занимайся извратами, серьёзно.. Это тебе пользы не принесёт. |
Ответ: Странное.
Книга Притчи > Глава 21 > Стих 29:
Человек нечестивый дерзок лицом своим, а праведный держит прямо путь свой. Книга Притчи > Глава 28 > Стих 10: Совращающий праведных на путь зла сам упадет в свою яму, а непорочные наследуют добро. :-D |
Часовой пояс GMT +4, время: 00:39. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot