일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Three(Two) Tone Shading
- ColorGradingLutPass
- ASW(Application SpaceWarp)
- Cell Shader
- URP로 변경
- C언어
- OculusMotionVectorPass
- 가상 바이트
- Toon Shader
- 작업 집합
- 개인 바이트
- VR
- Virtual Byte
- working set
- 3d
- Specular
- URP
- Rim Light
- 벡터
- 게임 수학
- 메모리 누수
- Private Bytes
- 프로그래밍 기초
- Cartoon Rendering
- Cell Look
- Windows Build
- AppSW
- Today
- Total
목록분류 전체보기 (258)
WinCNT
※URP에 대해서 공부하면서 알게 된 것을 정리하는 페이지입니다 입사 첫 날 URP에 관한 일을 하게 됐지만 여러 사정으로 인해 가르쳐 줄 사람이 없는 상황에 처하게 됐다…;; 다행히 이럴 상황을 대비해서 입문서를 사오기도 했고, 필요한 자료도 받았으니 이를 토대로 URP에 대해서 공부하면서 알게 된 내용을 정리해보려고 한다. (참고 문헌, 참고 사이트는 밑에 따로 정리함) URP(Universal Render Pipeline)를 위한 사전 지식 URP를 직역하면 범용 렌더 파이프라인이다 그러니 다음에 대한 사전 지식이 있으면 URP를 이해하는데 도움이 될…지도? 렌더 파이프라인(렌더링 파이프라인)에 대한 지식 범용이란 단어가 붙은 배경 렌더 파이프라인(렌더링 파이프라인)에 대해 일단 복습 겸 개념을 다..
HDR로 만들어진 Data를 출력 가능한 형태인 LDR(혹은 SDR)로 바꾸는 연산 float를 byte로 바꾸는 연산이기 때문에 다양한 연산자(연산 방법)가 존재한다 LDR에선 당연히 사용 안 함 전체적으로 어두운 쪽에 값을 많이 표현하도록 되어 있는 그래프(로그 함수와 비슷)가 특징이다 이것은 웨버의 법칙을 반영했기 때문이다 웨버의 법칙은 사람의 눈이 어두운 부분에서는 밝기가 조금만 변해도 그 차이를 감지하는 반면 밝은 부분에서는 더 큰 변화가 있어도 그 차이를 잘 감지할 수 없는 특징을 말한다 다음은 다양한 톤 매핑 기법에 대한 설명이다 (출처는 글 마지막에 기재) Reinhard float4 Reinhard( float2 texCoord : TEXCOORD0 ) : COLOR { float3 te..
Global Illumination(GI, 전역 조명) 현실에서는 거의 모든 것이 (간접)광원이 된다 이것에 대한 고려 없이는 사실적인 그래픽스라고 할 수 없다 (다른 말로는 물리적인 근거가 약해진다) 간접광(Indirect Illumination) 직접광으로부터 바운스된 빛이 재차로 영향을 미치는 영역 PRT - IBL PRT(Precomputed Radiance Transfer) 정적(static) 이 모델에서는 동적(움직이는 것)은 구현이 안 된다 IBL(Image-Based Lighting) 이미지 기반 조명 (고해상도의)이미지를 기반으로 전역 조명을 근사 그래서 아트에서는 흔히 HDR(I)라고도 하기도 함 (단 HDR의 실제 의미하고는 직접적인 연관이 없음) IBL 적용 지금까지는 한 개의 Ra..
프레넬 반사 모든 표면은 전반사(Total internal reflection)한다 굴절률이 서로 다른 두 매질이 맞닿은 경계면을 빛이 통과할 때, 입사각이 임계각을 넘어서면 빛이 흡수되지 못하고 정반사하는데, 이를 전반사라고 한다 이 현상은 오귀스탱 장 프레넬(Augustin-Jean Fresnel)이 프레넬 방정식으로 유도하여 프레넬 반사(Fresnel Reflectance)라고도 한다 빛이 하나이거나 단순한 모델인 경우는 (다른 항과의 곱셈으로 인해 희미해져서) PBR에서의 프레넬 항을 구현해도 별 차이가 안 느껴질 수 있지만 사방에서 빛이 들어오거나 GI(글로벌 일루미네이션)에서 확실히 느껴진다 프레넬 반사율 그래프 위의 그래프는 물체별 입사각에 따른 프레넬 반사율을 나타낸 것이다 가로축이 입사각..
레거시 모델에서는 거칠기나 금속성에 대해서 팩터로서 고려하지 않았다 그래서 거칠기나 금속성을 표현하기 위해서는 텍스처나 노멀맵에 해당 정보들을 포함시켜서 구현했을 것이다 하지만 PBR에는 미세면과 거칠기, 금속성을 팩터로서 고려한다 Microfacet and Roughness 미세면(Microfacet, 혹은 Microface) PBR에서는, 계산의 대상이 되는 한 지점(Face, Vertext, Pixel 등등)에 무수히 많은 미세면이 존재하고, 그곳에서 빛이 반사한다는 모델을 채용하고 있다 (레거시 모델에서는 그저 N dot L 등의 처리를 하고 끝났을 것이다) 물론 미세면 또한 어디까지나 모델이며 근사(통계적으로 구한 비율)이며 (Cook-Torrance의)BRDF의 미세면 분포 함수(D)와 기하 ..
Bidirectional Reflectance Distribution Function(BRDF) BRDF는 한국어로 양방향(쌍방향) 반사(율) 분포 함수라고 할 수 있다 위키피디아에서의 BRDF의 정의는 다음과 같다 BRDF란 불투명한 표면에서 빛이 반사되는 방법을 정의하는 네 가지 실수 변수의 함수 함수로 나타내면 다음과 같다 ω(오메가) = 파라미터, 함수의 입력 값 r = reflectance(반사) i = incidence(입사), 즉 ωi 는 입사광 벡터(광원을 향하는 벡터)을, ωr 은 반사광 벡터(뷰를 향하는 벡터)를 의미함 위의 함수는 실제 식을 가지고 있지 않으며, 단순히 형태만을 정의한 것이다 즉 아래와 같은 조건을 만족하면 모두 BRDF라고 할 수 있다 (출처: https://life..
빛과 물질의 상호작용 현실 세계에서는 빛이 사방에서 들어온다 빛이 물체의 표면과 만났을 때 일부는 반사 - Specular가 되기도 하고 프레넬이 되기도 하고... 일부는 흡수 -흡수되고 어떻게 되는지는 모름, 열? 에너지? 일단 무시하는 부분, 맹점이기도 하다 일부는 굴절 - 물체 내부로 들어간다! - 이것도 기본적으로 고려하지 않는다 - 하지만 유리 일부는 들어가서 다시 반사(Diffuse Reflection) - 물체의 고유한 색을 같게 하는 부분 - Diffuse가 기존의 표면에서 난반사하는 성분이라는 것은 이제 잊어라!! Etc... - 자세한 부분은 생략한다(구현에서도 생략함!) BRDF N dot L의 큰 카테고리 N dot L도 결국 BRDF를 나타내기 위한 한가지 계산식일 뿐! Rende..
Per Vertex Lighting 버텍스 기준으로 빛을 계산 Per Pixel Lighting 픽셀 기준으로 빛을 계산 Ambient Light 레거시 모델에서는 계산이 불가능한 빛 연산 보통 가장 어두운 부분이며 레거시 모델에서는 단색을 더하는 처리를 한다 광원의 종류 Directional Light Point Light Spot Light 조명 처리 Diffuse(확산광)과 램버트의 코사인 법칙 광원의 입사 벡터(의 역방향)과 버텍스(혹은 픽셀)의 노멀 벡터와의 각도로 확산광의 조명을 연산하는 처리 램버트의 코사인 법칙에 의한 조명 연산은 경험적 모델로 빛이 들어오는 각도에 따라 빛의 세기가 달라진다는 점에 착안했다 예를 들어 빛의 각도가 0도이면 빛은 안 들어올테고 빛의 각도가 90도에 가까워질수..
Color Grading(색 보정), 다른 말로는 Color Correction 같은 렌더링 화면이라도 연산 부하가 거의 없이 조절할 수 있다 https://docs.unrealengine.com/4.27/en-US/RenderingAndGraphics/PostProcessEffects/ColorGrading/ Color Grading and Filmic Tonemapper Tonemapping and color correction effects for adjusting scene colors. docs.unrealengine.com Color Grading의 원리 룩 업 테이블(Look Up Table) Color Grading Look Up Table 데이터는 아트팀이 툴을 이용해서 만든다 FEffe..
Ambient Occlusion 환경 차폐라는 뜻 Light Map과 비슷한 개념으로 그림자 맵을 미리 만들어서 적용한 것 정적인 물체에는 효과적이지만 동적인 물체에 적용은 불가능했다 SSAO(Screen Space Ambient Occlusion) Screen Space는 실제 화면에 그려진 것들을 의미한다 SSAO는 물체들의 경계면에서 발생하는 차폐도(어두운 부분)를 Deferred Rendering을 통해 Screen Space에서 실시간으로 연산하는 기법 SSAO의 원리 결국은 차폐도를 확률론에 기반해서 계산하는 기법 주의 사항 밝은 곳을 더 밝게 하는 것이 아니라 어두운 곳을 더욱 어둡게 한다는 인식으로 사용하자 Direct Light가 닿는 부분은 건드리지 말자 거리가 멀수록 SSAO 강도를 ..