본문 바로가기
반응형

DirectX11/코드정리12

[DirectX11] 10장 스텐실 적용 연습문제 ※ 아래의 내용들은 DirectX 11을 이용한 3D 게임 프로그래밍 입문 책의 내용을 바탕으로 작성된 것입니다. 3. 해골 예제에서 벽 뒤로 반사상이 보이도록 만들어보라.(그림 10.1의 왼쪽처럼) - 예제를 구현하는 순서는 아래와 같다. 1. 바닥과 벽 등을 보통의 방법으로 렌더링 한다. 거울은 아직 그리지 않는다. 2. 스텐실 버퍼를 0으로 지운다. 3. 거울을 스텐실 버퍼에만 렌더링한다. 4. 반사된 두개골을 후면 버퍼와 스텐실 버퍼에 렌더링한다. 5. 거울 자체를 후면 버퍼에 통상적인 방식으로 렌더링하되, 반사된 물체가 가려지지 않도록 하기 위해 투명도 혼합을 적용한다. 위의 과정 중 4번째 단계에서, 반사된 두개골 기하구조의 픽셀들은 스텐실 판정을 통과한 경우에만 후면 버퍼에 기록되도록 하고있.. 2023. 1. 18.
[DirectX11] 9장 혼합 연습문제 ※ 아래의 내용들은 DirectX 11을 이용한 3D 게임 프로그래밍 입문 책의 내용을 바탕으로 작성된 것입니다. 1. 수면을 렌더링하기 전에 첫 번째 표본의 추출을 비활성화 하는 코드를 수행하도록 예제를 수정하라. - 아래의 기존 예제 코드에서 마지막 0xffffffff 값만 0xfffffffe 로 변경하면 문제없이 실행된다. md3dImmediateContext->OMSetBlendState(RenderStates::TransparentBS, blendFactor, 0xffffffff); => 다만 저의 경우, 주석에도 적혀있듯이 코드에 익숙해질겸 혼합 상태를 직접 설정하고 만드는 방식으로 변경했습니다. - 이번 예제는 다중표본화를 사용하지 않으므로, 이렇게 하면 물 픽셀이 그려지지 않는다. 2. 혼.. 2023. 1. 5.
[DirectX11] 8장 텍스처 연습문제 ※ 아래의 내용들은 DirectX 11을 이용한 3D 게임 프로그래밍 입문 책의 내용을 바탕으로 작성된 것입니다. 1. 나무 상자 예제의 텍스처 좌표들과 좌표 지정 모드, 필터링 옵션들을 여러가지로 변경하면서 실험해볼것 - Basic.fx에서 필터링 옵션 및 텍스처 좌표 지정 모드를 변경해가면서 테스트 해본다. - 확대했을 때, 점 필터링이 확연하게 덩어리지는 것을 알 수 있다. - 비등방 필터링과 선형 필터링은 여기선 큰 차이를 느끼기 힘드므로 아래 사진을 보자. ※ 위의 예제에서 텍스처 좌표 지정 모드는 모두 순환 모드이다. - 사진 상으론 제대로 나타나지 않지만, 비등방 필터링이 윗면이 좀 더 선명하게 나오고 있다. - 텍스처 좌표를 5배로 비례해서 텍스처 좌표 성분들이 [0, 5] 구간이 되게 하.. 2022. 12. 2.
[DirectX11] 텍스처 예제 ※ 아래의 내용들은 DirectX 11을 이용한 3D 게임 프로그래밍 입문 책의 내용을 바탕으로 작성된 것입니다. 나무 상자 예제(8.7절 367p) Basic.fx - 효과 파일 내 텍스처 관련 변수 - gDiffuseMap은 텍스처를 담을 변수로, 수치가 아닌 객체이므로 cbuffer에 추가할 수 없어서 별도로 선언됨. - gTexTransform은 정점 셰이더에서 입력 테스처 좌표를 변환할 때 쓰인다. - SamplerState는 표본추출기로, 텍스처에 적용할 필터링에 대한 정보를 담는다. => 여기서는 축소, 확대, 밉맵에 대한 비등방 필터링을 사용하며, 밑의 두 코드는 텍스처 좌표 지정 모드를 순환 모드로 설정하라는 의미이다. - 정점셰이더에서는 입력으로 들어온 텍스처 좌표에 사용자가 C++ 파.. 2022. 11. 29.
반응형