2016-08-24 5 views
0

SDL2는 기본적으로 알파 블렌드, 덧셈 및 곱하기 3 blend modes을 제공합니다.SDL2에서 사용자 정의 블렌드 모드를 구현하는 방법은 무엇입니까?

그러나 Linear Light 블렌드 모드를 사용하여 채워진 사각형을 렌더링해야합니다.

OpenGL을 사용하거나 3 가지 기본 제공 블렌드 모드를 조합하여 구현할 수 있습니까? 또는 SDL_Texture을 모두 SDL_Surface으로 변환하고 픽셀 값을 수동으로 수정해야합니까?

+0

https://wiki.libsdl.org/SDL_ComposeCustomBlendMode, 당신의 표면의 인스턴스를 보관이 표면을 수정하고 그것에서 질감을 만들 : 여기

는 문서의 항목입니다. 텍스처는 GPU 근처의 메모리에 있습니다. – jordsti

+0

그래, 아마 그럴거야. – emlai

+0

리드 백 및 소프트웨어 재 계산이 매우 느릴 수 있습니다. 텍스처로 렌더링 한 다음 두 텍스처를 쉐이더와 결합하여 매우 좋은 성능을 얻을 수 있습니다. 그러나 블렌딩이 정확히 무엇인지는 아닙니다 (여러 도형을 모두 한 번에 그려서는 안되는 순서로 혼합해야 함). – keltar

답변

2

SDL 2.0.6에서는 SDL_ComposeCustomBlendMode 함수를 도입하여 2D 렌더링을위한 새로운 블렌드 모드를 만들 수있게되었습니다.