분류 전체보기 119

56_TerrainBrush ~ 57_TerrainLine

쉐이더 파일 더보기 Framework 더보기 TerrainEditor -> Editor TerrainEditor -> Brush 더보기 실행 56 57 위에 올려줌 00_Terrain 사용하면 57번은 영상과 다르게 나오는데 (5)이라고 주석 부분에 내용을 float thick = saturate(min(pixel.x, pixel.y) - TerrainLine.Thickness); 수정 보충 57은 딱히 사용해도 되고 안해도 상관 없음 지형에다 선을 그리기 위한 용도 56_TerrainBrush 더보기 56_Terrain 각각 클래스 목적 1. Editor클래스 Png파일을 선택해서 dds파일로 heightmap 만들고 지형 조절 다해보는 종합 클래스 2. Terrain클래스 heightMap적용과 Sp..

카테고리 없음 2021.10.27

54 ~ 55_ShadowShader

쉐이더 파일 더보기 55번은 통합 으로 사용하기 위해 수정 Framework 더보기 수정 (통합 기준으로) 실행 0 ~ 1 : z 파이팅 현상 관련 + 해상도 관련 2 : 피터패닝 관련 보충 더보기 그림자 3대 문제 1번째 문제 : z파이팅 현상 현상 : z버퍼(DepthBuffer)사용시 똑같은 물체(오브젝트, 폴리곤) 에서 유사한 z-Depth값을 가지고 있어서 서로 먼저 그리려는 생기는 문제점 (1Pass, 2Pass 에서 서로 깊이값으로 싸움) 해결법 : RasterizerState에서 Cull옵션에 반시계 방향 으로 그리게 만듬 (뒷면에서 봐야지만 보이게 하는 기능) 추가 문제점 : Cube 같은 경우에 이미 반시계 방향으로 그려지는 곳이면 정상적으로 그려짐 하지만 음영처리하면 이부분은 거의다 ..

53_DepthBuffer

쉐이더 파일 더보기 Depth 관련으로 함수 및 변수 구조체 선언 정의 Framework 더보기 Framework -> Objects -> Shadow (월드 조명값 가지고 깊이 관련 클래스) 실행 왼쪽아래 출력되는 것이 조명 기준으로 깊이 계산해서 출력하는 부분 보충 더보기 핵심 1. 1Pass PreRender 에서 카메라가 되는것은 월드 조명이다. 2. 1Pass 깊이 정보와 2Pass의 정보를 합쳐서 그림자계산해서 사용 RTV 방식 그림자 1. 조명 방향으로 PreRender로 찍는다 2. 찍혀진 방향과 각도를 계산해서 그림자를 그려준다 문제점 : 물체가 있으면 그림자가 가려짐 그림자 사용안하면 문제점과 쓰는 이유 1. 점프를 하면 입체감이 안느껴짐 (현실 감각이 없음) 2. 점프를 해서 낙하시 ..

51_ProjectionTexture

쉐이더 파일 더보기 수정 -> ProjectionTexture 관련 필요한 변수 및 함수 정의 생성 Framework 더보기 생성 : Framework -> Objects -> ProjectionTexture (그림을 비추는 클래스) 생성 : Framework -> Viewer-> Fixity (고정 카메라) 실행 보충 더보기 내용 : 빔프로젝트 처럼 Texture를 쏘게 되면 물체의에 그려지는 기법, 별도의 카메라를 만들고 거기서 Texture를 비춰서 해당 오브젝트나 지형에 해당 그림을 그려지는 방법 사용이 되는 곳 : 데칼 or 문신 더 나아가서 그림자 용어 Near, : 카메라가 비춰지는 앞 면 Far : 카메라가 비춰지는 마지막 면 fov : 시야각 zNear, zFar 의 수치는 -1 ~ 1로..

50_EnvCubeMap

쉐이더 파일 더보기 수정 생성 Framework 더보기 수정 생성 실행 보충 더보기 핵심 1. EnvCubeMap을 이용해서 6면에 각각의 카메라를 심어줌 빨강색 선이 카메라의 방향 2. 각 6면에서 비춰지는 rtv 정보를 토대로 씌워줄 Mesh에 찍고 있는 그림을 렌더링 3. 반사, 굴절 사용 해서 조금더 거울에 비춰지는 효과 추가 ->Fresnel 방정식 : 반사 + 굴절 합쳐진 계상 방식 쓰여지는곳 감시카메라, 거울 용도 단점 실시간 6개의 카메라가 찍힌 rtv 정보를 계산을 하면서 Mesh에 씌워지기 때문에 느려진다 보완 1. PreRender 에서 불필요한 정보를 rtv에 정보를 넣지 않고 사용 ex) 쓸모없는 오브젝트 및 지형을 뺀다 2. 써야 하는 곳에서만 잠깐 사용 하는 방식으로 사용한다

49_GaussianBlur

실행 보충 더보기 1. GaussianBlur : blur 효과와 동일하고 이번엔 x축, y축 별도로 계산 해서 사용 2. Luminosity : 어두운 부분은 어둡게 밝은 부분만 렌더링 3. Bloom: GaussianBlur + Luminosity 합쳐진 효과 4. Bloom : 에서 Luminosity만 사용하면 너무 밝아져서 픽셀 정보가 손상 되는데 여기서 Grading 기법으로 채색을 보정해서 사용 하는 기법 ※쉐이더 파일 이번껀 올리지 않고 실행만 올립니다.

48_Blur

쉐이더 파일 더보기 실행 보충 더보기 1. 주변 픽셀값을 중간 (평균) 값으로 만들어 사용 해서 흐리게(뿌옇게) 만들어주는 기법 2. 단점 ->주변 인접한 픽셀이랑 평균값을 내야하는 범위가 클수록 처리하는 속도가 느려짐 (흐려질수록 반복문을 많이 돌려야함) ->자기 중심 기준으로 8방향으로 섞이기 때문에 부드럽게 섞이지가 않음 빨강색 기준으로 8방향을 평균 값으로 내야 하기 때문에 범위가 클수록 처리 하는양이 많으므로 느려진다 3.RaialBlur : 중앙 기준으로 뻗어나가는 Blur 효과 ->쓰이는곳 : 초고속 이동, 시간 느리게 하는 효과

47_Mrt

쉐이더 파일 더보기 실행 보충 더보기 1. MRT : RTV를 여러개를 만드는 명칭 이며 1개의 파이프 라인으로 여러가지 효과를 만들때 사용 2. 여러장의 RTV 지울때는 문제가 되지 않지만 DSV 1장으로 그리기 때문에 반복문 밖에다 DSV는 1번만 CLEAR 3. 46 쉐이더 내용을 여러개 합쳐서 2가지 이상 효과를 만듬 핵심 더보기 1. PreRender 에서 메인 rtv의 정보를 따로 그려줄 3장의 rtv에 값을 넘겨줌 -> 초록색 박스 정보값을 빨강색 박스 영역 rtv에 값을 넘겨줌 2. 쉐이더 파일에서 해당 rtv의 정보를 뒤에 시메틱 영역의 번호에 맞게 각각 넣어줌 3. PS 단계에서 각각의 RTV값을 따로 따로 처리 해주고 출력