제 목 Part4 | 애니메이션 배경 관련
작성자 홍진현 등록날짜 2021-11-30 21:37:33 / 조회수 : 65
강좌명 [패키지] 다이렉트X 11 2D Part 1 ~ 4 패키지
  • 안녕하십니까? 교수님

    질문있습니다.

     

    관련 스프라이트 이미지

    https://www.spriters-resource.com/resources/sheets/7/7584.png?updated=1511156477

     

    + 스프라이트 이미지의 배경색에 관한 질문

    기본적으로 sprite 이미지 배경색이 투명색인 경우도 있고 불투명한(색깔이 있는 경우)도 있었습니다.

    불투명은 어떻게 처리하면 되나요?

     

    애니메이션을 배우면서 기본적으로 Winapi에서는 colorKey를 이용해서 제거했는데 DirectX에서는 이미지 배경색을 제거하고 출력하기위해서 어떤 함수가 지원되나요?

    관련된 내용을 알고싶습니다!

     

    항상 감사합니다.

     

  • 작성자 : 게임클래스 / 등록날짜 : 2021-12-02 15:24:18
  • 안녕하세요 게임클래스 입니다.

     

    현재 담당 교수님이신 '이상묵 교수님'께 해당 질문에 대해 

    답변을 요청드린 상태입니다.

    담당선생님께 전달 받으면 추가 답변으로 안내해 드리도록 하겠습니다.

     

    ---------------------------담당 선생님 답변---------------------------------

    API와는 다르게 DirectX는 특정 컬러키를 이용하여 제거하는 방법은 없습니다. 

    예를들어 TransparentBlt에서 특정 컬러키값을 제거하여 투명색을 처리하는 방법같은것은 없으나.

     

    DirectX에서는

    픽셀셰이더 과정에서 알파값이나 특정색을 체크해서 Discard 시켜서 제거하는 방법이 있고,

    blend state로 조정하는 방법이 있습니다.

    픽셀셰이더에서 clip함수나 discard 키워드를 이용하거나

    blendState를 적용해서 알파값을 제거하거나

    특정색을 지우려면 첫번째, 투명값을 제거하려면 두번째로하면 됩니다.

     

    감사합니다.