GLSL объект светящийся - PullRequest
11 голосов
/ 13 января 2011

возможно ли создать шейдер GLSL, чтобы любой объект был окружен светящимся эффектом?Допустим, у меня есть 3D-куб, и если он выбран, куб должен быть окружен синим светящимся эффектом.Есть намеки?

1 Ответ

12 голосов
/ 13 января 2011

Ну, есть несколько способов сделать это. Если каждый объект также представлен в формате крылатый край , то вычислить силуэт достаточно просто, а затем выдавить его для создания свечения. Это, однако, очень сильно ЦП.

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

Существует также множество других методов ... вот несколько ссылок для просмотра:

http://http.developer.nvidia.com/GPUGems/gpugems_ch21.html
http://www.codeproject.com/KB/directx/stencilbufferglowspart1.aspx?display=Mobile

Проведите охоту на Google, потому что там много информации:)

...