2023/10/19 4
-
게임 Object의 바닥을 설정해보자. 우선, 계속 반복되는 항목인 Material과 MatrixBuffer를 통합하여 관리하자. GameObject 정의하기 #pragma once class GameObject : public Transform { public: GameObject(wstring shaderfile = L"Tutorial.hlsl"); ~GameObject(); void SetRender(); Material* GetMetrial() { return material; } protected: Material* material; MatrixBuffer* worldBuffer; }; 같은 Obejct를 만들때 같이 선언되는 부분들은 통합하여도 무방할것이다. 위와같이 Material과 worl..
-
그래픽 파이프라인에서 래스터라이제이션( 화면에 그림을 그리는 프로세스) 를 제어하기 위한 설정을 정의하는데 사용되는 객체이다. 그림의 시각적 모양과 표현을 결정하는데 사용된다. 주로 사용하는 방식은 렌더링의 형태를 제어하는데 사용된다. 역할 렌더링 형태 제어 선 그리기의 두께, 다각형 정점조절, 면 그림자 모양결정 등의 설정 다각형 처리 및 정점연결 방식 삼각형 방식으로 그려지는 방식 또는 선으로 그려지는 방식을 결저앟ㄴ다 카메라 표시방식 왜곡 효과나 절두체 외부의 물체를 어떻게 처리할지 결정할 수 있다. 그림자 효과 및 클리핑 오브젝트의 그림자 표시를 설정하거나 클리핑 평면을 조절할 수 있다. RasterizerState::RasterizerState() { desc.CullMode = D3D11_CU..
-
SamplerState 는 텍스처를 샘플링할 때 사용되는 설정을 정의하는데 사용되는 객체이다. 이 객체는 그래픽 파이프라인에서 텍스처 샘플링 작업에 영향을 미치며, 색상, 레벨등에 다양한 샘플링 매개변수를 제어할 수 있도록 도와준다. 주로 택스처 필터링, 주소모드 및 텍스처의 래핑을 구성하는데 사용된다. 주요역할 텍스처 필터링 설정 텍스처를 확대 또는 축소할때 어떻게 보간할지 결졍할 수 있다. 텍스처가 화면에 확대 또는 축소될 때 부드럽게 나타나게 하거나, 텍스처의 뾰족한 가장자리를 제어할 수 있다. 우리가 흔히 아는 안티엘리어싱을 말한다. 주소모드 설정 ( UV좌표 설정) 텍스처 를 벗어나는 텍스처 좌표를 처리하는 방법을 지정할 수 있다. 텍스처가 반복되거나( 타일맵 ) 경계 텍셀에서 클램핑 되거나 (..
-
3D 그래픽 에플리케이션에서 지형을 표현하기 위한 기술이다. 지형의 높이정보를 2D그리드 형태로 나타내는 방법을 의미하며, 이 그리드는. 각 점의 높이값을 나타내는 픽셀로 구성된다. HeightMap은 게임 개발 및 시뮬레이션 애플리케이션에서 주로 사용된다. GPU에서 HeightMap을 사용하여 지형 메쉬를 생성하고, 높이 정보를 이용하여 효율적으로 그리드를 생성한다. 장점 효율성 HeightMap은 메모리 사용과 렌더링 성능 측면에서 효율적이다. 정확성 높이정보를 픽셀단위로 저장함으로 지형의 세부사항을 정확하게 표현할 수 있다. 단점 제한된 지형 형태 이러한 HeightMap은 평면지형 또는 약간의 산맥을 표현하는데 적합하지. 건물이나 복잡한 지형은 다른 방식으로 표현해야한다. 높이 제한 Height..