전체 글 169

Cascade Shadow Mapping 완성

참고 자료 https://megayuchi.com/2016/10/09/texture-array%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-cascaded-shadow-maps-%EA%B5%AC%ED%98%84/ Texture Array를 이용한 Cascaded Shadow maps 구현이번에 DX11/DX12엔진에 공통 적용하면서 간단하게 문서로 정리해봤음.megayuchi.com https://docs.nvidia.com/gameworks/content/gameworkslibrary/graphicssamples/opengl_samples/cascadedshadowmapping.htm Cascaded Shadow MappingThis sample implements the casc..

카테고리 없음 2025.03.14

전방위 그림자 매핑 (Omni directional shadow mapping)

참고자료https://developer.nvidia.com/gpugems/gpugems/part-ii-lighting-and-shadows/chapter-12-omnidirectional-shadow-mapping Chapter 12. Omnidirectional Shadow MappingPhilipp S. Gerasimov iXBT.com One of the most difficult problems in real-time computer graphics is generating high-quality shadows. Yet, the appearance of such shadows is one of the most important factors in achieving graphic realism. I..

Directional Light Shadow Mapping

그림자는 조명이 존재하는 장면에서 현실감을 더해줍니다.더하여 장면과 객체에 깊이감, 공간감을 부여해죠 위 그림을 보면 그림자가 주는 효과를 체험할 수 있습니다. 그림자가 있으면 객체들이 어떻게 배치되어있는지 명확하게 알 수 있습니다. 하지만 그림자를 구현하는 것은 매우 까다롭고, 현재 실시간 래스터라이드 그래픽스에서는 완벽한 그림자 알고리즘이 개발되지 않았습니다. 그래서 여러가지 훌륭한 그림자 근사 기술을 사용할 수 있씁니다. 대부분 실시간 그래픽스에서 사용하는 것은 그림자 매핑기술 입니다.그림자 매핑은 구현이 쉽고 결과는 꽤나 괜찮습니다. 그리고 이 개념을 확장하여 Omnidirectional Shadow Map, Cascaded Shadow Map 으로 발전해나가보겠습니다.  그림자 매핑의 기본 개념..

카테고리 없음 2025.03.04

컴퓨트 쉐이더를 이용한 Smoothed Particle Hydrodynamics Fluid

참고문헌https://cg.informatik.uni-freiburg.de/publications/2014_EG_SPH_STAR.pdf 사용 APIDirectX 11 입자의 데이터 구조  총 3개의 컴퓨트 쉐이더를 사용하여파이프라인처럼 density, pressure -> force -> velocity, position 을 계산 핵심 구현 알고리즘구현에 초점을 맞췄기에근접 이웃을 찾지 않고 단순하게 전체를 루프 Compute Density Pressure (4) 번 방정식을 이용하여 Wij를 계산커널 함수는 논문에서 제시한 cubic spline 함수를 사용 앞서 계산한 밀도 값을 이용하여 압력 계산 사용한 코드 Compute Force 근사식을 이용하여 압력의 힘 벡터, 점성의 힘 벡터, 중력 등을 ..

[Real-time Rendering] Chapter 2. The Graphics Rendering Pipeline

이 장에서는 실시간 그래픽의 핵심 구성 요소인 그래픽 렌더링 파이프라인 (간단히 파이프라인)에 대해서 소개한다.렌더링 파이프라인의 주요 기능은 '가상 카메라', '3차원 객체', '광원' 등을 제공받아 2차원 이미지를 생성하고 렌더링하는 것이다. 따라서 '렌더링 파이프라인'이란 실시간 렌더링의 기본적인 도구이다. (핵심 기술이라고 설명할 수 있다.)  렌더링된 이미지에서 객체의 위치와 형태는 오브젝트의 기하학적 모양(Geometry), 환경의 특성, 카메라의 배치등에 따라 결정되고, 오브젝트의 외관은 재질 속성(Material), 광원, 텍스처 및 음영 방정식에 의해 결정된다.(음영 방정식 Shading equation 은 광원, 물체 표면, 관찰자 간의 상호작용을 기반으로 최종 색상을 계산하는 방정식을..

[Real-time Rendering] Chapter 1. Introduction

실시간 렌더링은 컴퓨터에서 이미지를 빠르게 생성하는 것을 다룬다. 화면에 이미지가 나타나면, 사용자는 행동하고 반응하며, 이 피드백이 다음에 생성되는 이미지를 결정한다.이러한 반응과 렌더링은 Cycle은 충분히 빠른 속도로 이루어져야 한다. 그러면 사용자는 개별 이미지를 보는 것이 아니라 역동적인 과정에 몰입할 수 있게 된다. 이미지가 표시되는 속도(rate)는 FPS(초당 프레임 수) 또는 Hz(헤르츠)로 측정된다.1 FPS에서는 상호작용의 느낌이 거의 없으며, 사용자는 새로운 이미지가 갱신되기까지의 텀을 고통스럽게 인식하게 된다.6 FPS 부터 상호작용의 느낌이 형성되기 시작하며, 비디오 게임은 30, 60 , 72 .. 혹은 그 이상의 FPS 를 목표로 한다. 영화 프로젝터는 24 FPS로 영상을 ..

[물방울책 공부록] Chapter 11. Geometry Shader

테셀레이션 단계를 사용하지 않는다고 가정하면, 지오메트리 쉐이더 단계는 정점 쉐이더와 픽셀 쉐이더 단계 사이에 위치한 선택적 단계이다. 정점 쉐이더가 정점을 입력으로 받는 반면, 지오메트리 쉐이더는 전체 프리미티브를 입력으로 받는다. 예를 들어, 삼각형 목록을 그리는 경우, 지오메트리 쉐이더 프로그램은 목록의 각 삼각형 T에 대해 실행된다.for(UINT i = 0; i  각 삼각형의 세 정점이 지오메트리 쉐이더에 입력되며, 지오메트리 쉐이더는 프리미티브 목록을 출력한다. 정점 쉐이더가 정점을 생성하거나 삭제할 수 없는 것과 달리, 지오메트리 쉐이더의 주요 이점은 기하학을 생성하거나 삭제할 수 있다는 것이다. 이는 GPU에서 흥미로운 효과를 구현할 수 있게 해준다. 예를 들어, 입력된 프리미티브는 하나 ..

카테고리 없음 2024.10.06