Как уменьшить сглаживание в моем эффекте свечения наброски?

Я пытаюсь воспроизвести эффект светящегося контура в игре Left 4 Dead. Эффект заставляет контуры объектов светиться, даже когда объект закрыт. Вот скриншот эффекта:

введите описание изображения здесь>> </p>

<p> Я могу воспроизвести этот эффект в моей программе на базе OpenGL. Это то, что я сейчас делаю: </p>

<ul>
<li> Создайте текстуру цвета и глубины, которая составляет половину размера экрана для рендеринга светящихся объектов. </li>
<li> Очистить текстуры цвета /глубины свечения. Цвет очищается до черного. </li>
<li> Для каждого светящегося объекта визуализируйте его на текстуру свечения как сплошной цвет </li>
<li> Выполните разделяемое гауссовское размытие на текстуре свечения </li>
<li> Отобразить сцену с полным разрешением как обычно. </li>
<li> Добавляем смесь текстуры свечения с нормальной сценой, но используем текстуру глубины свечения, чтобы замаскировать объект, оставляя только размытый контур. </li>
</ul>
<p> Вот скриншот моего подхода: </p>

<p> <img src =

42 голоса | спросил flashk 25 AM00000020000000031 2011, 02:59:00

1 ответ


13

Возможно, вместо проверки его на буфер глубины с низким разрешением вы можете использовать тест трафарета. При рендеринге нормальной сцены вы просто визуализируете объект, который должен светиться в буфере трафарета (без анализа глубины, я думаю), а затем смешайте всю текстуру свечения, но настройте трафарет-тест, чтобы пройти только там, где буфер трафарета не установлен, поэтому маскирует объект с высоким разрешением.

Таким образом вы получите точный силуэт исходного объекта, тогда как сглаживание ребер приведет только к приблизительным результатам, но, возможно, этого вам будет достаточно.

ответил Christian Rau 25 AM00000040000002231 2011, 04:49:22

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132