2014-12-27 4 views
4

GLSL 버텍스 & 조각 쉐이더를 사용하여 3D 오브젝트의 가장자리를 흐리게 만들려고합니다. 나는 이것을 위해 Gaussian blur를 사용해야 만한다는 것을 알았다.흐리게 처리 된 가장자리 또는 흐리게 처리하는 방법에 대한 쉐이더

현재 반투명 채우기가 적용된 TGA 텍스처는 blendFunc blendrgbGen identity입니다. 이 질감은 빛의 영향을받지 않습니다 (surfaceparm nolightmap). 그리고 네, Quake 3 BSP @ Irrlicht 엔진입니다. image

나는 수많은 적용 시도했다 : :) 여기

내가 (이 실제로 빛,을 광선을 시뮬레이션 그냥 브러시없는 )를이처럼 보이게하기 위해 노력하고있어 방법의 이미지입니다 셰이더는 있지만 아무도 작동하지 않습니다. 비슷한 아이디어가 어디에서 구현 될 수 있습니까? 아니면 다른 방법이 있을까요?

P. 어쩌면 광선을 그릴 수있는 다른 스마트 방법이 있을까요?

답변

10

마음에 와서 몇 가지 아이디어 ...

  • 나는 엔진과 경험이 없지만, 한 가지 방법은 적용 개체의 실루엣을 계산하고 압출 할 수 있습니다 그라디언트가 돌출 된 비트로 이동합니다. 보간을 선형으로 유지하거나 각 정점에서 보간 할 수도 있고 조각 쉐이더를 사용하여 폴 오프와 같은 가우스를 더할 수도 있습니다. 내가 한 압출에 가장 가까운 것은 conservative rasterization입니다. 조금 비슷합니다. stencil shadows/shadow volumes에 실루엣이 필요합니다.하지만 여기서는 카메라의 관점에서 실루엣을 돌출시키는 것이지 빛의 모양에서 돌출시키는 것은 아닙니다.

    enter image description here

  • 또 다른 방법

    먼저 rendering to a texture, blur it하고 다음 장면에 다시 추가. 여기서 깊이 테스트를 처리하는 것은 까다로울 수 있습니다. 광고판을 사용하여 장면에 다시 넣을 수도 있습니다.

    enter image description here

  • 아주 싼 방법

    은 사전 흐리게 텍스처 광고판을 사용할 수 있습니다. 또는 흐릿한 텍스처와 첨가제 블렌드를 사용하여 몇 군데의 고정 된 지오메트리 교차점을 만들 수도 있습니다. 첨가제 블렌딩의 경우 가장자리에서 검은 색으로 희미 해지는 밝은 빛의 색상 - 알파는 필요하지 않습니다. 이 같은?

    enter image description here

    enter image description here

  • 난 그냥 this approach too를 발견했다. 첨가제 블렌딩을 사용하여 정적 지오메트리를 만들지 만 나중에 더 부드러운 가장자리를 사용합니다. 원뿔 형상의 법선과 팁으로부터의 거리를 사용하여 두께를 추측합니다. 깊이 버퍼는 원추 내부에 오브젝트가있는 경우 두께를 바인딩하는데도 ​​사용됩니다. 보다 물리적 기반의 조명 모델에 제목

    enter image description here

  • , 당신은 몇 가지 경계 형상을 그릴 수 있고 빛이 ray-cone intersection test 콘를 통해 거리 밖으로 각 픽셀의 작업에 대한보고 선 이동한다. 그런 다음 거리에 따라 빛을 추가하십시오.거리에 의해 스케일 된 간단한 덧셈은 다중 산란 및 흡수 근사를 계산하지 않고도 충분할 것입니다. 이것은 deferred shading에 아주 가깝습니다. 특히 스포트 라이트.

    덧붙여 말하자면, 모델을 통해 픽셀 당 거리를 계산하고 싶다면 GPU 보석이나 엔비디아의 데모 종이에서 생각한 좋은 방법을 기억하십시오. 텍스처에 대한 추가 블렌딩을 사용하여 모든 뒤면의 눈금 깊이를 렌더링 한 다음 앞면만으로 빼기 혼합을 사용하십시오. 텍스처에는 픽셀 단위의 거리가 포함됩니다.

    enter image description here

  • 위의 확장은 모든 길을 갈 빛을 축적, 그림자 맵을 통해 단계. 1D Min-Max Mipmaps은 속도를 높이는 인상적인 방법처럼 보입니다.

    그냥 참조

    enter image description here

  • , 나는 그것이 램프의 경우 잘 작동 거라고 생각하지 않기 때문에 :에서 Volumetric Light Scattering as a Post-Process

    enter image description here

링크 및 이미지 임의의 Google 검색, 확실하지 않음

+0

훌륭한 설명! 고마워요! –

+0

@AndrewDunai 기꺼이 도와 드리겠습니다 :) – jozxyqk

+0

와우 당신의 대답은 매우 깊이 있습니다. 시간을내어 주셔서 감사합니다. – jjxtra

관련 문제