본문 바로가기

렌더몽키2

난반사 HLSL (람베르트 반사) 쉐이더 / 렌더몽키(RenderMonkey) 0. 람베르트 난반사 오늘 공부해볼 HLSL은 조명 구현 중에서 난반사에 대한 것입니다. 난반사는 어느 각도에서 보던 고르게 반사되는 반사를 말합니다. 예를 들면 나무로된 탁자의 표면, 흰종이를 들을 수 있겠습니다. 컴퓨터 그래픽에서도 이러한 난반사를 계산하여 표현하고 있는데 일반적으로 람베르트 코사인 법칙( Lambert's cosine law)을 이용하고 있습니다. 람베르트의 난반사 법칙은 표면의 법선 벡터와 입사광이 이루는 벡터의 코사인 값이 반사되는 광량이라고 정의를 내리고 있습니다. 코사인 그래프를 보면 0에서 1 90도에서 0을 나타내고 있습니다. 즉, 빛을 수직으로 비추면 가장 밝은 빛이 난반사 된다는 것을 나타내며 0도에 가까워 질수록 반사되는 빛의 양이 감소합니다. 그럼 이러한 개념을 가.. 2020. 5. 28.
쉐이더프로그래밍 / 빨강 쉐이더 만들기 (렌더몽키) 지난번에 받은 렌더몽키라는 툴로 간단한 쉐이더를 만들어보겠습니다. 기초설정 우선 렌더몽키를 실행합니다. 다음 왼쪽 workspace패널안에서 Effect Workspace를 우클릭하여 다음과 같이 선택해줍니다. ( Add Defaults Effect > DirectX > DirectX) 그럼 빨산색 공인지 원인지 하는게 나타납니다. 정점쉐이더 렌더몽키의 Workspace패널에서는 프리뷰 창에 표시되는 모델의 쉐이더를 볼 수 있습니다. 우선 정점쉐이더에 대해서 알아볼텐데요. 우리는 공부를 해야하므로 렌더몽키가 만들어준 Vertex Shader코드를 싹 지워줍니다?! 그리고 다음 정점 쉐이더를 한줄한줄 작성해봅니다. struct VS_INPUT { float4 mPosition : POSITION; }; s.. 2020. 5. 16.