• 제목/요약/키워드: Dynamic Light Shader

검색결과 2건 처리시간 0.018초

Design of Action Game Using Three-Dimensional Map and Interactions between In-Game Objects

  • Kim, Jin-Woong;Hur, Jee-Sic;Lee, Hyeong-Geun;Kwak, Ho-Young;Kim, Soo Kyun
    • 한국컴퓨터정보학회논문지
    • /
    • 제27권12호
    • /
    • pp.85-92
    • /
    • 2022
  • 본 연구에서는 사용자 경험을 증가시키는 액션 게임을 설계하는 것을 목표로 한다. 게임의 몰입감을 높이기 위해, 사용자가 이용하는 게임의 특징을 분석, 각 특징을 참고하여 게임의 시스템적, 시각적 특징을 설계한 것이 특징이다. 제안 방법은 유니티 3D를 이용하여 게임 개체 간 상호작용 시스템을 구현하였고, 사용자가 게임에 몰입할 수 있는 방향으로 설계하였다. 게임의 시각적 요소를 통한 몰입을 유도하기 위해 2차원 오브젝트 및 플레이어를 3차원 공간에 배치하였고, 공간 내 개체와 사물이 광원에 실시간으로 반응할 수 있도록 2차원 동적 광원 셰이더를 추가하여 몬스터와 플레이어간 전투 규칙과 몬스터의 행동 패턴 충돌 감지, 이벤트 감지로 구성하였다. 제안 방법은 구현 논문으로 사용자 경험을 반영하였고, 사용자의 행동 유도성을 이끌 가능성을 보여주었다.

실시간 렌더링 환경에서의 3D 텍스처를 활용한 GPU 기반 동적 포인트 라이트 파티클 구현 (GPU-based dynamic point light particles rendering using 3D textures for real-time rendering)

  • 김병진;이택희
    • 한국컴퓨터그래픽스학회논문지
    • /
    • 제26권3호
    • /
    • pp.123-131
    • /
    • 2020
  • 본 연구는 10만 개 이상의 움직이는 파티클 각각이 발광원으로서 존재할 때 라이팅을 위한 실시간 렌더링 알고리즘을 제안한다. 각 라이트의 영향 범위를 동적으로 파악하기 위해 2개의 3D 텍스처를 사용하며 첫 번째 텍스처는 라이트 색상 두 번째 텍스처는 라이트 방향 정보를 가진다. 각 프레임마다 두 단계를 거친다. 첫 단계는 Compute shader 기반으로 3D 텍스처 초기화 및 렌더링에 필요한 파티클 정보를 갱신하는 단계이다. 이때 파티클 위치를 3D 텍스처의 샘플링 좌표로 변환 후 이 좌표를 기반으로 첫 번째 3D 텍스처엔 해당 복셀에 대해 영향을 미치는 파티클 라이트들의 색상 총합을, 그리고 두 번째 3D 텍스처에 해당 복셀에서 파티클 라이트들로 향하는 방향벡터들의 총합을 갱신한다. 두 번째 단계는 일반 렌더링 파이프라인을 기반으로 동작한다. 먼저 렌더링 될 폴리곤 위치를 기반으로 첫 번째 단계에서 갱신된 3D 텍스처의 정확한 샘플링 좌표를 계산한다. 샘플링 좌표는 3D 텍스쳐의 크기와 게임 월드의 크기가 1:1로 대응하므로 픽셀의 월드좌표를 그대로 샘플링 좌표로 사용한다. 샘플링한 픽셀의 색상과 라이트의 방향벡터를 기반으로 라이팅 처리를 수행한다. 3D 텍스처가 실제 게임 월드와 1:1로 대응하며 최소 단위를 1m로 가정하는데 1m보다 작은 영역의 경우 해상도 제한에 의한 계단 현상 등의 문제가 발생한다. 이러한 문제를 개선하기 위한 텍스처 샘플링 시 보간 및 슈퍼 샘플링을 수행한다. 한 프레임을 렌더링하는데 소요된 시간을 측정한 결과 파티클이 라이트의 개수가 262144개일 때 Forward Lighting 파이프라인에서 146ms, deferred Lighting 파이프라인에서 46ms 가 소요되었으며, 파티클 라이트의 개수가 1024576개일 때 Forward Lighting 파이프라인에서 214ms, Deferred Lighting 파이프라인에서 104ms 가 소요되었다.