그래픽스ㆍDirectX12 [그래픽스 새싹코스] Separable Gaussian blur 본 내용은 강의를 토대로 작성하였습니다. honglab에서 강의를 구매하실 수 있습니다. 박스 블러 vs 가우시안 블러 Kernel Convolution - Kernel을 이미지의 모든 픽셀에 적용을 시키는 과정 Separable Convolution - 부드럽다 == 주변과 차이가 적다 - 가운데 픽셀 값을 주변 픽셀 값과 비교했을 때 부드럽게 만들려면? 평균을 내준다 - 주변 픽셀값들의 평균을 내서 중심의 색깔 값을 바꿔주면 부드러워짐 - 원래는 주변의 픽셀들을 전부 찾아서 평균을 내면 좋겠지만 그렇게 하면 연산량이 많아지기 때문에 1) Seperable Convolution에서는 먼저 1차원 커널을 사용함 2) x 방향으로 결과를 한번 낸 후 이 결과를 가지고 다시 세로 방향으로 1차원 Convol.. 2022. 9. 19. Ray Casting, Ray Tracing, Real-Time Ray Tracing 배경 - 렌더링 기술 렌더링을 위한 첫 번째 단계는 물체의 형상을 선구조로 생성해야하며, 완성된 기하학적 형상에 다음과 같은 알고리즘이 적용된다. - 빛과 물체의 관계로부터 물체 표면의 밝기, 빛의 반사 및 굴절 효과 등을 처리하는 광선 추적법 - 빛의 성질로부터 물체의 광도를 계산하는 쉐이딩 알고리즘 - 빛과 물체의 관계에서 발생하는 그림자 생성 알고리즘 - 물리 기반 렌더링(Physically Based Rendering, PBR) Local Illumination(지역 조명) - 광원에서 빛이 방출되고, 표면에 충돌했을 때 관찰자에게 빛이 도달할 때까지 다른 빛의 영향을 받지 않는 것으로 가정 Global Illumination(전역 조명) - 표면에서 반사되는 빛에 다른 물체에서의 반사, 굴절 따.. 2022. 6. 6. [KUOCW] 13. 캐릭터 애니메이션 - 2. 본 스페이스에서 캐릭터 스페이스로 본 내용은 강의를 토대로 작성하였습니다. 이제 뼈들이 움직인다. 근데.. 기껏 뼈 공간으로 들어 왔는데, 다시 캐릭터 공간으로 들어가야 한다고?? => 뼈 공간으로 들어 왔는데 (렌더링을 위해서 애니메이션 된 다음에) 다시 캐릭터 공간으로 와야 한다. 그림을 보면 forearm이 90도 회전해서 방향이 바뀜. 이 예에서는 forearm만 움직였지만 실제로는 온갖 뼈들이 다 움직임. 근데 이 움직인 결과를 우리는 렌더링을 해야함 화면에 보여줘야 하니까. 근데 화면에 보여줄려면 렌더링 파이프라인을 거쳐야함 렌더링 파이프라인의 첫 번째 변환? 월드 변환. 월드 변환은 어느 공간에서 어느 공간을 움직이는 것이지? 오브젝트에서 월드로 가는 것 그럼 캐릭터에서 오브젝트 공간이라는 것은 뭐지? 캐릭터 공간, 캐릭터 .. 2022. 6. 5. [KUOCW] 13. 캐릭터 애니메이션 - 1. 관절체 애니메이션 본 내용은 강의를 토대로 작성하였습니다. Skeleton 캐릭터를 움직일 때는 기본적으로 골격을 사용함 골격은 뼈로 구성이 된건데 이 뼈들은 개별적으로 움직임 이것을 articulated body, 관절체라고 함 이렇게 스켈레톤을 이용해서 캐릭터 애니메이션을 하려면 리깅 작업을 거쳐야 함 Rigging 폴리곤 매쉬(a)에 스켈레톤을 맞춰 넣는 것(f) 기본적인 폴리곤 매쉬 자세 = default pose = dress pose 드레스 포즈로 폴리곤 매쉬가 만들어지면 그 안에 뼈(스켈레톤)를 박아야 하는데 3dsMax는 바이패드라고 하는, 기본적인 스켈레톤을 제공 * 바이패드를 구성하는 뼈의 개수가 많을 수도 있다. 근데 우리가 간단한, 특히 핸드폰에서 실시간 캐릭터 애니메이션을 하려면 뼈의 개수는 적을 .. 2022. 6. 4. 그래픽스 파이프라인 (Graphics Pipeline) OpenGL ES: 09. 그래픽스 파이프라인 - YouTube 그래픽스 파이프라인이란? (Graphics Pipeline) - 그래픽스 개발자의 코딩 블로그 (tistory.com) 그래픽스 파이프라인 3차원 도형 혹은 이미지를 2차원 래스터 이미지로 표현하기 위한 단계적 방법 입력으로 정점들이 들어오면(Vertices) Vertex Shader에서 계산해주고 Primitive Assembly에 의해 Assembly 정보에 따라 삼각형 만들어주고 이 삼각형이 화면의 어디에 나오는지 Rasterization 단계를 거쳐 Fragment Shader에서 색상 결정한 후 Per-Fragment Operations 후 Framebuffer에 써짐 Transform Feedback? Vertex Shader의 .. 2022. 5. 21. DirectX와 OpenGL OpenGL(vulkan) vs DirectX (mr-dingo.github.io) 앱플레이어 OpenGL과 Direct X는 무엇이며 차이점은 (tistory.com) OpenGL(Vulkan) 그래픽 라이브러리 Cross platform DirectX 게임업계에서 인기 많음 Vulkan에 비해 Nvidia Graphic 카드에 최적화 잘 되어있음 Windows 플랫폼 위에서만 작동 2022. 5. 21. 이전 1 2 다음