728x90

다이렉트엑스 14

[UE] 언리얼 엔진 DirectX 11 RHI 렌더링 분석 노트

DirectX SDK API 핵심 요소를 언리얼엔진의 어떤 모듈에서 호출하는지 구조 살펴보기. ... typedef ID3D11DeviceContext FD3D11DeviceContext; typedef ID3D11Device FD3D11Device; struct ID3D11DynamicRHI { ... } ... class FD3D11DynamicRHI : public ID3D11DynamicRHI, public IRHICommandContextPSOFallback { ... TRefCountPtr Direct3DDeviceIMContext; TRefCountPtr Direct3DDevice; TArray Viewports; ... } FD3D11DynamicRHI::InitD3DDevice() { ...

Unreal 엔진 2023.09.12

DirectX 11 스터디 - 렌더링 파이프라인 기초 핵심 정리

먼저 렌더링 파이프라인 기본 스테이지 순서 (중간중간 세부 스테이지는 스킵) IA > VS > RS > PS > OM Input-Assembler Stage Vertex Shader Stage Rasterizer Stage Pixel Shader Stage Output-Merger Stage 아래 3가지가 명령을 내리는 핵심. D3D11Device D3D11DeviceContext DXGISwapChain (DXGI (DirectX Graphics Infrastructure) : 기술 발전 속도가 느리거나 고전적인 요소들을 모아둔 기반 인터페이스.) Device 는 객체를 생성할 때 주로 사용. DevieContext 를 생성한 객체를 활용해서 명령을 내릴 때 주로 사용. SwapChain 은 전면/후면..

DirectX 11 스터디 - 래스터라이저 스테이트, 샘플 스테이트, 블렌드 스테이트

1. 래스터라이저 스테이트를 생성/설정하고 Render() 함수에서 전달해준다. ID3D11RasterizerState 를 생성하고, ~_DESC 에 설정값을 담아 생성한다. 그리고 Render() 함수에서 Pixel Shader 에 적용되도록 전달함. ComPtr _rasterizerState; void Game::CreateRasterizerState() { D3D11_RASTERIZER_DESC desc; ZeroMemory(&desc, sizeof(desc)); desc.FillMode = D3D11_FILL_SOLID; desc.CullMode = D3D11_CULL_BACK; desc.FrontCounterClockwise = false; // 시계방향/반시계방향 = Clockwise / Co..

DirectX 11 스터디 노트 - 장치 초기화 (Create Device)

DeviceAndSwapChain 생성 HRESULT hr = ::D3D11CreateDeviceAndSwapChain( nullptr, D3D_DRIVER_TYPE_HARDWARE, nullptr, 0, nullptr, 0, D3D11_SDK_VERSION, &desc, _swapChain.GetAddressOf(), _device.GetAddressOf(), nullptr, _deviceContext.GetAddressOf() ); D3D11CreateDeviceAndSwapChain 함수 (디스플레이 어댑터와 렌더링에 사용되는 스왑 체인을 나타내는 디바이스를 만듭니다.) https://learn.microsoft.com/ko-kr/windows/win32/api/d3d11/nf-d3d11-d3d11..

728x90
반응형