2009-03-13 2 views
3

블렌드가 우리 게임의 성능에 부합하기 때문에 블렌딩의 "환상"을 만들기 위해 몇 가지 블렌딩 전략을 시도했습니다. 그 중 하나는 홀수 프레임마다 스프라이트를 그리기 때문에 스프라이트는 시간의 절반으로 볼 수 있습니다. 그 효과는 좋지 않다. (그런데 적절한 프레임 속도가 필요합니다. 그렇지 않으면 스프라이트가 눈에 띄게 깜박 거립니다)더 나은 성능을 위해 OpenGL에서 알파 블렌딩을 다룹니다.

그럼에도 불구하고 오버런을 줄이기 위해 블렌딩을 피하는 데 좋은 통찰력이 있는지 알고 싶습니다. 성능을 손상시키지 않고 (너무 많은) 시각적 경험을 제공합니다.

답변

3

실제 혼합으로 인해 실적이 저하 될 수 있습니까? (예 : 비디오 메모리 대역폭)

알파 블렌딩 된 것들을 많이 다루는 게임은 일반적으로 (화면 전체를 덮는 큰 폭발을 생각할 때) 작은 텍스쳐 (예 : 2x2 더 작거나 화면보다 4x4 작음)로 렌더링하고, 메인 화면으로 다시 합성합니다.

이렇게하면 불투명 한 지오메트리와의 교차점을 올바르게 처리하기 위해 불투명 한 서페이스의 깊이 버퍼를 작은 텍스처로 렌더링해야 할 수도 있습니다. 멀티 샘플링이나 깊이 버퍼 해킹을하는 일부 플랫폼 (콘솔)에서는 매우 저렴한 조작을 할 수 있습니다. 그런데 일반 PC에서는 그런 행운이 없습니다.

GPU Gems 3의 기사를 참조하십시오 (예 : High-Speed, Off-Screen Particles). Christer Ericson의 블로그 게시물에는 다음과 같은 많은 최적화 접근법이 요약되어 있습니다. Optimizing the rendering of a particle system

1

입자 시스템을 빠르게 렌더링하는 데 대한 우수 기사는 여기 있습니다. 그것은 작은 화면 버퍼 기술을 다루고 다른 몇 가지 접근법을 제안합니다.

당신은 here

0

그것은 게임의 성능을 명중 블렌딩의 응용 프로그램의 어떤 종류의 질문에서 아주 명확하지 않다 읽을 수 있습니다. 일반적으로 블렌딩은 엄청나게 빠릅니다. 문제가 입자 시스템과 관련된 경우, 프레임 레이트를 죽일 가능성이 가장 큰 것은 그려지는 입자의 수와 크기입니다. 특히 많은 클로즈업 (따라서 커다란) 입자는 높은 메모리 대역폭과 그래픽 카드의 채우기 속도를 필요로합니다. 필자는 입자 시스템을 직접 구현했으며 먼 거리에 수많은 입자를 렌더링 할 수는 있지만 예를 들어 더 약한 하드웨어에서 연기가 나는 것을 통해 (뷰어가 그 안에 있기 때문에 전체 화면을 채울 것입니다.)

관련 문제