2011-11-28 3 views
13

어떻게 그려주는 선에 빛나는 효과를 추가 할 수 있습니까? Linux 용 OpenGL을 사용하고 있습니다.OpenGL 용 라인에 빛나는 효과를 추가하는 방법은 무엇입니까?

+2

일반적으로 검색을 돕기 위해 [bloom (http://en.wikipedia.org/wiki/Bloom_ (shader_effect)) 추가]라고합니다. 그것을하는 방법에있는 좋은 섹션이 있습니다 [여기] (http://ofps.oreilly.com/titles/9780596804824/chadvanced.html#fig-BloomTriptych) – bobobobo

+0

또한 글로우 효과의 훌륭한 요약이 있습니다 [여기] http://prideout.net/archive/bloom/) – bobobobo

답변

7

너무 간단한 해결책이 있기를 바랬지 만, 불행히도 초보자에게는 약간 복잡합니다.

API (D3D, OpenGL)와 관계없이 현재 빛나는 효과가 구현되는 방식은 픽셀/조각 쉐이더입니다. 일반적으로 장면을 렌더링하는 여러 번의 렌더링 패스가 포함 된 다음 "빛나는 개체"만 보이는 곳에 패스를 렌더링 한 다음 블러 픽셀 셰이더를 적용하고 함께 구성합니다.

자세한

에 대한 @Valmond에서 제공하는 링크를 참조

편집 :

이 법선, 위치와 "빛 플래그"와 같은 다른 정보가 지연 렌더링, 달성 할 수있는 추가되어야한다 텍스처에 렌더링된다. 즉, 텍스처의 다른 컴포넌트에 저장된다. 그런 다음 셰이더는 필요한 모든 데이터가 렌더링 된 텍스처에서 사용 가능하기 때문에 텍스처에서 읽은 다음 번개 계산 및 후 처리 효과를 단일 패스에서 수행합니다.

1

쉐이더를 사용하지 않고 텍스처를 렌더링하고 방사형 흐림을 시도 할 수도 있습니다. 출발점으로 NeHe-Tutorials을 확인하십시오.

8

Nehe Lesson 36에 설명 된 방사형 흐림 효과를 구현할 수 있습니다. 주요 아이디어는 드로잉을 텍스처로 렌더링하고 드로잉이 프레임 버퍼에 복사 될 준비가 될 때까지 각 렌더 후에 작은 오프셋으로 N 번 작업을하는 것입니다.

Qt and OpenGL을 사용하는 작은 데모를 작성했습니다.

enter image description here

내가 아는 : 효과가 켜져

enter image description here

다음 이미지가 흐려 도면 을 보여줍니다 아래 에게 (흐림없이) 원본 도면를 볼 수 있습니다 별로는 아니지만 시작일뿐입니다.