본문 바로가기

[기능 심층 분석] 블렌딩 모드의 수학: Multiply와 Screen픽셀 연산 원리

📑 목차

    프로크리에이트 블렌딩 모드(Blending Mode) 중 곱하기(Multiply)와 스크린(Screen)은 '어두워짐/밝아짐'처럼 보이지만 실제로는 픽셀 RGB 값이 수학적으로 연산되는 방식의 차이로 결과가 갈립니다. 이 글은 곱하기·스크린의 픽셀 연산 공식(정규화된 0~1 값 기반)을 중심으로 왜 같은 색을 겹쳐도 결과가 달라지는지 그리고 수익화 작업에서 색감 안정성과 데이터 일관성을 위해 어떤 기준으로 블렌딩 모드를 선택해야 하는지를 심층 분석합니다.

    블렌딩 모드의 수학: Multiply와 Screen픽셀 연산 원리
    블렌딩 모드의 수학: Multiply와 Screen픽셀 연산 원리

    픽셀 값이 겹칠 때 어떤 연산이 일어나는가

    저는 프로크리에이트에서 그림자와 하이라이트를 만들 때 블렌딩 모드를 자주 사용했습니다. 초반에는 Multiply는 그림자, Screen은 빛이라는 식의 기억법만으로도 충분하다고 생각했습니다. 그런데 작업이 늘고 미리캔버스 요소나 이모티콘처럼 같은 결과물이 여러 환경에서 반복 사용되는 수익화 작업을 하다 보니, 블렌딩 모드가 단순한 연출이 아니라 색상 데이터의 계산 방식이라는 점이 더 크게 다가왔습니다.

    특히 제가 흔히 겪은 문제는 이런 흐름이었습니다. 화면에서는 원하는 톤이 나왔는데 PNG로 내보내거나 다른 배경에 얹었을 때 느낌이 달라졌습니다. 같은 브러시로 같은 색을 올렸는데도 레이어 구조와 블렌딩 모드에 따라 결과가 미묘하게 변했습니다. 저는 그때부터 '왜 어두워지는가/왜 밝아지는가'를 감각으로 설명하는 대신 픽셀이 실제로 어떤 수식으로 계산되는지 확인하기 시작했습니다.

    이 글은 프로크리에이트 블렌딩 모드 중 가장 많이 쓰이는 곱하기(Multiply)와 스크린(Screen)을 대상으로, 픽셀 값이 겹칠 때 어떤 연산이 일어나는지를 수학적으로 풀어 설명합니다. 동시에 수익화 관점에서 색감 재현성과 작업 안정성을 높이기 위해 어떤 기준을 세워야 하는지까지 정리합니다.

    블렌딩 모드는 픽셀 값 연산 규칙

    블렌딩 모드를 이해하려면, 먼저 픽셀 데이터를 단위로 봐야 합니다. 디지털 이미지는 보통 RGB 3 채널로 색을 저장합니다. 각 채널은 8비트라면 0~255 범위의 정수로 저장되지만, 연산에서는 편의상 0~1 범위로 정규화(normalize)해서 계산합니다.

    • 기본 레이어(아래)를 B(Base)
    • 위 레이어(올리는 색)를 S(Blend/Source)
    • 결과를 R(Result)
    • 채널별로 동일한 연산이 적용(R채널/ G채널/ B채널 각각)

    중요한 점은 이렇습니다. '검정'은 값이 0에 가깝고, '흰색'은 값이 1에 가깝습니다. 블렌딩 모드는 이 0~1 값을 어떻게 결합할지 정하는 함수(function)입니다.

    그래서 Multiply나 Screen은 감성적인 효과 이름이 아니라, 실제로는 픽셀당 반복되는 공식입니다. 레이어가 많고 해상도가 클수록 이 계산은 GPU에서 수없이 반복되며, 작업 속도와 발열에도 영향을 줍니다. 즉, 블렌딩 모드는 색감뿐 아니라 데이터 처리 비용과도 연결됩니다.

    곱하기(Multiply) 공식: 원본색을 보존하면서 밝기 에너지를 감소시키는 연산

    Multiply(곱하기)는 이름 그대로 Base와 Blend를 곱하는 연산입니다.

    • R = B × S

    (각 채널별로 동일)

    이 공식을 보면 왜 어두워지는지 바로 설명됩니다. 0~1 사이의 숫자에서 곱셈은 원래 값보다 커지기 어렵습니다.
    예를 들어:

    • B = 0.8(밝은 회색), S = 0.8이면 R = 0.64
    • B = 0.6, S = 0.7이면 R = 0.42
    • B = 1(흰색), S = 0.5면 R = 0.5
    • B = 0(검정), S가 뭐든 R = 0

    즉 Multiply는 검정(0)에 가까운 값이 포함될수록 결과를 빠르게 어둡게 만들고, 흰색(1)은 상대적으로 영향이 적습니다. 그래서 Multiply는 그림자로 쓰기 좋습니다. 위 레이어가 완전한 흰색(1)이라면 B×1 = B가 되어 원본을 유지하기 때문입니다. 반대로 위 레이어가 회색/유색이면 곱셈 결과가 더 낮아져 전체가 눌립니다.

    제가 수익화 작업에서 Multiply를 사용할 때 특히 조심하게 된 지점은 색이 탁해지는 현상입니다. Multiply는 단순히 어둡게 만들 뿐 아니라, 채널별 곱셈이기 때문에 색상 채널 간 균형이 변하면서 채도·명도가 동시에 바뀌는 경우가 많습니다. 예를 들어 붉은 계열 위에 푸른 계열을 Multiply로 올리면, 빨강 채널과 파랑 채널이 각각 곱해져 예상보다 회색에 가까운 결과가 나올 수 있습니다. 이것이 그림자가 예쁘게 들어갔다가 아니라 색이 죽었다로 체감되는 지점입니다.

    이 때문에 Multiply는 그림자를 만든다는 것보다 원본색을 보존하면서 밝기 에너지를 감소시키는 연산으로 이해하는 쪽이 더 정확합니다.

    스크린(Screen) 공식: 상한 값으로 달려가는 연산

    Screen은 Multiply와 반대 성질을 가집니다. Screen은 이렇게 정의됩니다.

    • R = 1 − (1 − B) × (1 − S)

    이 식은 직관적으로 보면 각 색의 어두운 정도(1−값)를 곱한 뒤, 다시 빼서 밝게 만드는 방식입니다. Screen이 왜 밝아지는지 예시로 보면 이해가 쉽습니다.

    • B=0.2, S=0.2 → R=1−(0.8 ×0.8)=1−0.64=0.36 (더 밝아짐)
    • B=0.6, S=0.5 → R=1−(0.4 ×0.5)=1−0.2=0.8 (확 밝아짐)
    • B=0(검정), S=0.7 → R=1−(1 ×0.3)=0.7 (S가 그대로 드러남)
    • B=1(흰색), S가 뭐든 R=1 (항상 흰색 유지)

    여기서 핵심은 Screen이 밝음의 합성이라는 점입니다. Multiply에서 흰색이 영향이 적었던 것처럼, Screen에서는 검정이 영향이 적습니다. 검정은 (1−0)=1이므로 그대로 남고 식 전체에서 결과는 위 레이어의 영향을 크게 받습니다. 반대로 흰색은 (1−1)=0이 되어 결과가 무조건 1(흰색)로 수렴합니다. 그래서 Screen은 하이라이트나 빛, 글로우 표현에 잘 맞습니다.

    저는 Screen을 쓰면서 자주 겪은 실수가 하이라이트가 너무 날아가는 현상이었습니다. Screen은 밝은 영역이 있는 순간 결과가 빠르게 1에 가까워지며 디테일이 소실될 수 있습니다. 특히 이미 밝은 피부 톤이나 파스텔 색 위에 Screen으로 밝은 색을 더하면, 하이라이트가 자연스럽게 얹히는 것이 아니라 색 정보가 포화(saturation)된 채로 날아가는 느낌이 생깁니다. 이때 사용자는 색이 하얘졌다로 느끼는데, 데이터 관점에서는 RGB 채널이 1(255)에 가까워지며 구분이 없어지는 상황입니다.

    수익화 작업에서 Screen의 위험은 플랫폼마다 디스플레이가 다를 때 이 날아감이 더 심하게 보일 수 있다는 점입니다. 즉, Screen은 예쁘게 빛나게 만들기도 하지만 작업자의 의도보다 빠르게 상한 값으로 달려가는 연산이라는 점을 전제로 다뤄야 합니다.

    수익화 기준에서의 선택: 예측 가능한 데이터가 우선

    Multiply와 Screen의 공식은 단순해 보이지만 실제 작업에서는 불투명도(Opacity), 레이어 순서, 브러시 질감, 색상 프로파일(P3/sRGB)까지 얽히며 결과가 달라집니다. 그래서 저는 수익화 작업에서 블렌딩 모드를 선택할 때 감각보다 예측 가능성을 우선 기준으로 두게 됐습니다.

    제가 정리한 기준은 다음과 같습니다.

    1. 목적을 밝기 조정으로 분해하기

    그림자는 채도까지 같이 떨어질 수 있다는 점을 알고 Multiply를 선택합니다. 빛은 디테일 손실 가능성을 전제로 Screen을 선택합니다.

    2. 결과를 다른 배경에서 검토하기

    투명 PNG는 배경에 따라 체감이 바뀝니다. Multiply는 배경색과 곱해져 더 탁해 보일 수 있고, Screen은 밝은 배경에서 효과가 사라질 수 있습니다.

    3. 레이어를 데이터 구조로 관리
    수정 요청이 잦은 작업(미리캔버스 요소/이모티콘)에서는 블렌딩 레이어를 분리해 두고, 필요하면 Normal로 바꾸거나 불투명도를 조절할 수 있게 했습니다. 이는 효과를 예쁘게 만드는 기술이 아니라 수정 가능성을 남기는 설계입니다.

    결국 Multiply와 Screen은 '어둡게/밝게'가 아니라, 픽셀 값을 어떤 함수로 재계산할지에 대한 선택입니다. 이 선택이 누적되면 작업의 일관성과 승인 통과 가능성까지 영향을 줍니다.

    Q&A

    Q. Multiply는 왜 색이 탁해지나요?
    A. 채널별 곱셈이 일어나며 명도뿐 아니라 채널 균형도 변합니다. 그래서 그림자 느낌이 아니라 회색화처럼 느껴질 수 있습니다.

    Q. Screen은 왜 하이라이트가 하얗게 날아가나요?
    A. 공식상 밝은 값이 조금만 있어도 결과가 빠르게 1(흰색)에 수렴합니다. 밝은 영역에서 디테일이 소실되기 쉬운 구조입니다.

    Q. 블렌딩 모드가 작업이 무거워지는 원인이 되나요?
    A. 됩니다. 블렌딩은 레이어 합성 시 픽셀 연산을 추가로 요구합니다. 레이어가 많고 해상도가 클수록 GPU 합성 비용이 증가합니다.

    Q. 수익화 작업에서는 어떤 방식이 더 안전한가요?
    A. 효과를 확정하지 않고 레이어로 분리해 관리하는 방식이 안전합니다. 수정 가능성을 남기는 구조가 플랫폼 작업에서 특히 중요합니다.

    나의 생각|블렌딩은 연산 규격

    Multiply와 Screen을 제대로 이해한 뒤부터 저는 블렌딩 모드를 예쁜 효과 목록으로 보지 않게 됐습니다. 두 모드는 각각 B×S, 1−(1−B)(1−S)라는 단순한 공식이지만, 그 공식은 작업자의 감각보다 더 강한 방향성을 가집니다. Multiply는 값의 에너지를 줄이고 Screen은 어두움을 제거하는 방식으로 밝기를 올립니다. 이 수학적 방향성을 모르고 쓰면, '왜 색이 죽지?' '왜 하얗게 뜨지?' 같은 문제가 반복됩니다.

    수익화 작업에서는 이 반복이 곧 비용입니다. 플랫폼 심사는 감각을 보지 않고 결과 데이터만 봅니다. 작업자는 결과물이 다양한 환경(앱/웹/인쇄/썸네일)에서 어떻게 재현될지를 고려해야 합니다. 그래서 블렌딩 모드는 취향의 선택이 아니라, 연산규격이자 예측 가능한 데이터 설계를 위한 선택이 되어야 한다고 판단합니다.