화면 부분 알파블렌딩 방법 (BREW)

1. 화면 버퍼에 직접 BitBlt 하지 않고 가상의 256 COLOR BMP 파일 구조를 메모리에 잡습니다. 모든 이미지는 이 가상의 BMP에 그려진 후 화면 버퍼로 BitBlt 되게 됩니다.

2. 각각의 이미지가 가상의 BMP 메모리에 그려질 때 팔랫트 정보를 읽어서 256 팔랫트 중 상위 128의 내부, 현재 사용중인 팔랫트 색상 바로 뒤쪽에 추가 한 후 추가한 지점의 OFFSET 만큼 RAW 데이터에 더해줍니다. 이로써 아무리 새로운 이미지를 이 BMP 메모리에 그려도 색상 정보다 손상되거나 하는 일은 없습니다. (단, 한 화면에 동시에 그려질 수 있는 이미지가 128개로 제한 됩니다.)

3. 알파 블렌딩 효과를 구현하고 싶으면 일단 상위 128개의 팔랫트를 원하는 색상과 알파 블렌딩 하여 하위 128개의 팔랫트에 저장합니다. 그 후 RAW 데이터에서 원하는 RECT 영역만큼을 지정하여 128만큼 더해줍니다. 그리고 전체 화면 갱신을 이 가상의 BMP 구조체로 하면 원하는 부분 알파 블랜딩이 구현됩니다.

4. 조금 더 응용하여 알파 블랜딩 영역을 사각이 아니라 다양한 방법으로 구현 가능 할 것 같습니다. (화면 가운데서 별표 모양으로 알파 블렌딩 효과가 시작되어 전체 화면을 덮는다던가 하는)

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다