본문 바로가기

directx114

쉐이더프로그래밍 / 툰(toon) 쉐이딩 컴퓨터 그래픽스에서 실제와 가까운 렌더링은 궁극적인 목표이지만 때로는 실제와 거리가 있는 미적인 요소를 충족 시켜야 할 때도 있습니다. 이번에 공부해본 툰쉐이딩은 그런 경우의 예라고 볼 수 있습니다. 구현 결과를 먼저 보자면 다음과 같습니다. 마치 만화 효과 같이 색상이 단계적으로 표현되고 있습니다. 난반사 쉐이더에서 보았던 코사인 그래프와 툰쉐이딩 그래프를 비교해 놓은 것입니다. 마치 계단처럼 단계가 나뉩니다. 수치적으로 비교를 해보면 아래와 같습니다. 난반사광의 양 툰쉐이더의 양 0 0 0~0.2 0.2 0.2~0.4 0.4 0.4~0.6 0.6 즉 난반사 광에서 무조건 0.2단위로 올림 하면 툰쉐이더 양이 나오게 되는 겁니다. 정점쉐이더 정점 쉐이더는 지난번 람베르트 난반사의 정점 쉐이더와 비슷합니.. 2020. 6. 24.
쉐이더프로그래밍 / 디퓨즈 스페큘러 맵핑 이번에 공부한 내용은 디퓨즈 맵과 스페큘러 맵을 이용하여 물체 표면의 특성에 따라 반사량이 달라지는 스페큘러 맵핑입니다. 예를 들어 디퓨즈 스페큘러맵핑을 이용하면 얼굴을 렌더링 한다고 할때 이마나 코는 기름기 때문에 좀 더 반짝거리며 다른 부분은 덜 반짝 거리는 것을 표현할 수 있습니다. 이러한 정반사량과 난반사량을 부분에 따라서 조절하기 위해 스패큘러맵 텍스처와 디퓨즈맵 텍스처를 사용한다고 합니다. 즉 텍스처가 두개가 필요합니다. 구현에 필요한 텍스처 리소스는 아래 git레포지토리에서 구 할 수 있습니다. https://github.com/popekim/ShaderPrimerKR/tree/master/05_DiffuseSpecularMapping popekim/ShaderPrimerKR Source C.. 2020. 6. 24.
DirectX11 3D 엔진 구현하기 데모 영상 요즘 DirectX11을 공부해 보면서 엔진마냥 구현해 보고 있습니다. 현재까지 구현사항은 다음과 같습니다. OBJ 3D모델 로딩 텍스처 맵핑 난반사, 정반사 쉐이더 3D모델 객체화 모델별 트랜스폼 1인칭 카메라 https://github.com/lucidmaj7/directx11test GitHub - lucidmaj7/directx11test: directx11test directx11test. Contribute to lucidmaj7/directx11test development by creating an account on GitHub. github.com 2020. 6. 1.
DirextX 11 텍스처 로드 D3DX11CreateShaderResourceViewFromFile 대체하기 (DirectTex) D3DX11CreateShaderResourceViewFromFile 요새 DirectX 11튜토리얼을 www.braynzarsoft.net/ 보면서 따라하고 있습니다. 오늘 공부한 튜토리얼은 텍스처입니다. 저는 Visual Studio 2019에서 Windows 10 SDK만 가지고 DirectX를 공부하고 있어 기존에 DirectX SDK에서 쓰이는 라이브러리를 쓰지 않아 약간 차이점이 존재했습니다.(Windows 8부터 DirectX SDK가 Windows SDK에 포함됨) 튜토리얼은 Windows 8 이전의 개발환경 기준으로 설명되어 있기 때문에 약간 변형이 필요했는데 이번에 텍스처 튜토리얼에서 텍스처 파일을 쉐이더리소스로 불러오는 함수 D3DX11CreateShaderResourceViewFro.. 2020. 5. 10.