Как я могу получить траву PagedGeometry для получения теней?

23

Я сделал переход на Ogre3D (v1.7) и на использование PagedGeometry . Я пытаюсь сделать простую сцену с ландшафтом, деревьями и травой. В двух словах, я бы хотел добиться такого эффекта в Огре:

Трава, получающая тени

Прозрачные / вырезанные тени реализованы в демонстрациях PagedGeometry, но я не могу найти никакого решения о том, как правильно отбрасывать тени на траве, как в примере выше.

Какую технику я могу использовать для достижения этой цели?

scottyp
источник
1
Какой материал / шейдер использует трава? Чтобы теневое копирование работало, шейдер травы должен прочитать карты теней и выполнить вычисления теней на основе этого ...
VB_overflow
1
Цените ваш вклад в этот @VB_overflow, но комментарий с реальным решением кода или примером действительно поможет. В любом случае, я перешел к лучшему движку со встроенной функциональностью, предлагающей эту функцию. Возможно, это помогло бы другим энтузиастам огров, которые находятся на одной лодке со мной, как показано здесь с голосами противников.
scottyp
1
Если это рекламные щиты, они, как правило, ведут себя немного странно, когда вы пытаетесь сделать на них пиксельное затенение. Вы можете использовать траву, которая выглядит как какой-то изогнутый вытянутый и скрученный самолет. Текстура сделает его похожим на траву. После этого сетка должна иметь возможность получать карты теней.
СамогонТелеокат
Этот пост описывает (и решает) вашу проблему? ogre3d.org/addonforums/14/t-8945.html
Тим Холт,

Ответы:

3

Это не мой ответ, но ссылка на то, что я считаю, является решением вопроса.

Пост, на который я ссылаюсь ниже (под названием «деревья и тени с постраничной геометрией»), непосредственно описывает решение проблемы размещения теней деревьев на траве с помощью постраничной геометрии. В частности, он включает вызов m_sceneMgr-> setShadowTechnique (SHADOWTYPE_TEXTURE_ADDITIVE) с пользовательским шейдером для теней.

https://www.ogre3d.org/addonforums/14/t-8945.html или версия Archive.org .

Этот учебник также ссылается на постраничную геометрию, деревья, траву и тени. Он применяет карту освещения к траве, используйте функцию setColorMap ().

https://ogrecave.github.io/ogre-pagedgeometry/tut3.html или версия Archive.org . Он специально применяет карту освещения к траве, используя функцию setColorMap ().

Тим Холт
источник
Этот ответ был бы лучше, если бы вы взяли соответствующие детали с сайтов, на которые вы ссылаетесь, и суммировали их в основной части самого ответа. При существующем положении вещей, если ссылки когда-либо будут нарушены, ответ будет полностью лишен полезной информации.
DMGregory
1
Я подумывал включить контент из постов, но не хотел просто дублировать чей-то контент и называть его ответом. Решения также несколько тяжелы для кода, и цитирование их потребовало бы большого количества копируемого контента, что опять-таки не мое творение. Я также подумал об установке Ogre и попытке его дублирования, но это много работы для нескольких точек повторения. Независимо от того, я думаю, что эти ссылки помогут ОП, и всем, кто пытается решить эти проблемы. Я предполагаю, что для предотвращения мертвых ссылок я могу сослаться на версию archive.org ...
Тим Холт