Direct X 11 Vertex Shader Stage

2025. 8. 1. 18:34·DirectX 11
반응형

정점 세이더 단계 Vertex Shader Stage

목적 

1. 정점 데이터의 변환 및 처리

 

 

주요 함수

CreateVertexShader

HRESULT CreateVertexShader(
  [in]            const void         *pShaderBytecode,
  [in]            SIZE_T             BytecodeLength,
  [in, optional]  ID3D11ClassLinkage *pClassLinkage,
  [out, optional] ID3D11VertexShader **ppVertexShader
);

1. const void* : 컴파일된 셰이더에 대한 포인터

2. SIZE_T : 컴파일된 꼭짓점 셰이더 크기

3. ID3D11ClassLinkage* : 클래스 연결 인터페이스에 대한 포인터

4. ID3D11VertexShader** : ID3D11VertexShader 인터페이스에 대한 포인터 주소.

 

사용 예시

Device->CreateVertexShader(vertexshaderCSO->GetBufferPointer(), 
vertexshaderCSO->GetBufferSize(), nullptr, &SimpleVertexShader);

 

VSSetShader

void VSSetShader(
  [in, optional] ID3D11VertexShader  *pVertexShader,
  [in, optional] ID3D11ClassInstance * const *ppClassInstances,
                 UINT                NumClassInstances
);

1. ID3D11VertexShader* 꼭짓점 셰이더에 대한 포인터

2. ID3D11ClassInstance* 클래스 instance 인터페이스 배열에 대한 포인터

3. UINT : 배열의 클래스 instance 인터페이스 수

 

사용 예시

DeviceContext->VSSetShader(SimpleVertexShader, nullptr, 0);

 

VSSetConstantBuffers

void VSSetConstantBuffers(
  [in]           UINT         StartSlot,
  [in]           UINT         NumBuffers,
  [in, optional] ID3D11Buffer * const *ppConstantBuffers
);

1. UINT : 디바이스의 0부터 시작하는 배열에 인덱싱하여 상수 버퍼를 설정

2. UINT : 설정할 버퍼 수

3. ID3D11Buffer* : 디바이스에 제공되는 상수 버퍼의 배열

 

사용예시

// 시작 슬롯(0부터), 바인딩 버퍼 개수(1개), 상수 버퍼 포인터
DeviceContext->VSSetConstantBuffers(0, 1, &ConstantBuffer);

 

VSSetShaderResources

void VSSetShaderResources(
  [in]           UINT                     StartSlot,
  [in]           UINT                     NumViews,
  [in, optional] ID3D11ShaderResourceView * const *ppShaderResourceViews
);

1. UINT : 디바이스의 0부터 시작하는 배열에 인덱싱하여 셰이더 리소스를 설정합니다.

2. UINT : 설정할 셰이더 리소스 수입니다. 셰이더 리소스에 최대 128개의 슬롯을 사용이 가능

3. ID3D11ShaderResourceView* : 디바이스에 설정할 셰이더 리소스 뷰 인터페이스의 배열

 

사용예시

ID3D11ShaderResourceView* nullsrv[] = { nullptr, nullptr, nullptr, nullptr };
context->VSSetShaderResources(0, 4, nullsrv);

 

VSSetSamplers

void VSSetSamplers(
  [in]           UINT               StartSlot,
  [in]           UINT               NumSamplers,
  [in, optional] ID3D11SamplerState * const *ppSamplers
);

1. UINT : 디바이스의 0부터 시작하는 배열에 인덱싱하여 샘플러를 설정

2. UINT : 배열의 샘플러 수. 각 파이프라인 단계에는 총 16개의 샘플러 슬롯을 사용할 수 있음.

3. ID3D11SamplerState* : 샘플러 상태 인터페이스의 배열에 대한 포인터

반응형
저작자표시 (새창열림)

'DirectX 11' 카테고리의 다른 글

Direct X 11 Input Assembler Stage  (0) 2025.08.01
Direct X 11 기초 개념 학습  (2) 2025.08.01
Direct X 11 1일차  (0) 2024.04.30
'DirectX 11' 카테고리의 다른 글
  • Direct X 11 Input Assembler Stage
  • Direct X 11 기초 개념 학습
  • Direct X 11 1일차
숯불돼지왕갈비
숯불돼지왕갈비
  • 숯불돼지왕갈비
    게임 개발 공부기
    숯불돼지왕갈비
  • 전체
    오늘
    어제
    • 분류 전체보기 (302)
      • 학교수업 (165)
      • 취업강의 (6)
      • C++ (49)
        • 코딩 테스트 (4)
      • Unreal Engine 5 (25)
        • MMORPG 개발 (25)
      • Unreal Engine 4 (44)
        • Omak Project (3)
        • Unreal Engine 4 개발일지 (9)
        • Unreal Engine 4 (32)
      • Unity (1)
        • 개발 일지 (1)
      • 수학 (3)
        • 소프트웨어 공학용 수학 (3)
      • DirectX 11 (4)
      • 게임 디자인 패턴 (2)
      • 포트폴리오 (1)
      • 자격증 (1)
        • 정보처리기사 (0)
        • SQLD (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
숯불돼지왕갈비
Direct X 11 Vertex Shader Stage
상단으로

티스토리툴바