Brahms Symphonie No.1 – Karajan, Berliner Philharmoniker (1964)

브람스를 듣고 좋다고 느낀 것은 중학교 3학년의 음악시간 이었다.

어지간히 수업하기 귀찮아 하는 선생님은 늘 어디선가 구해온 싸구려 클래식 다큐멘터리 프로그램을 비디오로 틀어주곤 했다. 마침 그날은 비오는 날 특유의 적막함이 있었고, 점심시간 이후라 모두들 졸기 적당하다고 느꼈는지 하나 둘씩 책상에 엎드려 산만한 교실의 소음은 없었다.

딱히 클래식 음악이 좋아서가 아니라 집에 클래식 음반밖에 없었으므로 이것저것 듣고 있던 차에 마침 그런 비디오를 보게 되어서 자는 대열에 동참하지 않는 날은 열심히 시청을 했는데, 그 날은 브람스 심포니들에 대한 특집 방송 같은 것이었다.

뻔한, 노래방에서나 틀어줄 듯한 아름다운 자연 영상과 익숙한 클래식음악이 아닌 왠지 우울한 분위기의 비오는 숲과 함께 브람스 심포니 2번이 연주되고 있었다. (싸구려이므로 오케스트라, 지휘자 따위는 나올리가..)

뭐, 대중음악에서나 느끼던 좋다. 아주 좋다. 멋진걸. 하는 느낌을 이런 따분한 느린 템포의 음악에서 느낄 수 있다는게 아주 신기해서 그 날로 클래식 매니아가 되기로 결정해버렸다. (단순하게도;)

결국 얼마 가지 않아 카라얀과 베를린필의 1번하이팅크, 보스톤 심포니의 4번을 구입했는데 (아이러니하게 2번은 안샀다), 유독 비오는 날에 손이 많이 간다. 역시나 그 특유의 우울함 때문인 듯.

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

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

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

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

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