카테고리 없음

Shader 색상 연산

zelkova 2021. 3. 5. 10:13

<목차로 돌아가기>

 

삼원색을 숫자로나타내기

컴퓨터에서는 RGB순으로 나타낸다.

R : Red

G : Green

B : blue

 

shader에서는 아래와 같이 색상을 나타내며 현재는 검은색이다.

0.0 -> 0%

1.0 -> 100% 

 

float3(0.0, 0.0, 0.0) : 검은색

float3(0.5, 0.5, 0.5) : 회색

float3(1.0, 1.0, 1.0) : 흰색

float3(1.0, 0.0, 0.0) : 빨간색

float3(0.0, 1.0, 0.0) : 초록색

float3(0.0, 0.0, 1.0) : 파란색

 

덧셈과 뺄셈

1을 넘어가면 그 이상값을 표현하지 않고 내림처리.

0이하라면 그 이하값을 표현하지 않고 올림처리

 

float3(1.0, 1.0, 1.0) + float3(1.0, 1.0, 1.0)= float3(2.0, 2.0, 2.0) : 흰색

float3(0.5, 0.5, 0.5) + float3(0.5, 0.5, 0.5) = float3(1.0, 1.0, 1.0) : 흰색

 

float3(0.5, 0.5, 0.5)float3(0.5, 0.5, 0.5) = float3(0.0, 0.0, 0.0) : 검은색

float3(0.5, 0.5, 0.5) - float3(1.0, 1.0, 1.0) = float3(-0.5, -0.5, -0.5) : 검은색

 

 

곱셈과 나눗셈

나눗셈은 연산이 느려져서 잘 안쓰임. 그냥 곱셈으로 대체

float3(0.5, 0.5, 0.5) * float3(0.5, 0.5, 0.5) = float3(0.25, 0.25, 0.25) :어두운 회색

 

 

색상의 반전

1-float3(1,0,0) = float3(0,1,1) : 하늘색

1-float3(1,1,1) = float3(0,0,0) : 검정색

1-float3(0,0,0)  =  float3(1,1,1)  : 흰색

 

 

 

 

 

반응형