Graphic/Computer Graphics8 [Graphics] RenderDoc 읽기 안녕하세요.정글러입니다. RenderDoc은 아래 홈페이지에서 다운받을 수 있습니다.https://renderdoc.org/ RenderDocI've written this post with a specific target audience in mind, namely those who have a good grounding in existing APIs (e.g. D3D11 and GL) and understand the concepts of multithreading, staging resources, synchronisation and so on but want to know specifirenderdoc.org Launch Application에 파일 path 등록해줍니다. Launch하고 스크린.. 2025. 4. 24. [Graphics] Stable Fluids (Navier-Stokes equation) 알아보기 안녕하세요. 정글러입니다.오늘은 Stable Fluids를 구현하는 알고리즘을 살펴보겠습니다.stable fluids는 입자 애니메이션이 아닌, 격자 시뮬레이션입니다. 입자(particle)은 구조가 정해져있지 않고, 자기 자신이 움직이기 때문에 매번 이웃을 찾아야 하는 어려움이 있습니다.반면, 격자(Grid)는 이웃들이 고정되어 있어 미분 구하기가 편하지만 움직임 표현이 어렵습니다. Navier-Stoke equation은 격자 시뮬레이션 방법을 제시합니다.Chorin's progection method를 참고해서 공부해보겠습니다. "속도(u)가 시간에 대해서 어떻게 변하는지"가 궁극적인 목표입니다. 1. Advection가로 방향으로 가는 속도장을 따라서 밀도가 흘러가는 것을 의미합니다.density.. 2025. 4. 24. [Graphics] Compute Shader 알아보기 안녕하세요.정글러 입니다. Compute Shader에 대해서 알아보겠습니다.Computer Shader는 vertex와 상관없이 GPU에서 별도로 사용할 수 있습니다.픽셀 쉐이더는 어떤 픽셀의 색깔값을 선택할 수 없지만, computer shader는 필요한 부분의 색깔과 포지션 값의 수정이 가능합니다.- 픽셀 쉐이더는 vertex가 갖고 있는 texture좌표를 pixel 단위로 interpolation해 pixel shader에 넣어주는 sampling- computer shader는 필요한 대로 sampling을 할 수 있음 GPU Render Pipelinem_context->CSSetConstBuffers(0, 1, m_constsGPU.GetAddressOf());m_context->SetU.. 2025. 4. 3. [Graphics] Barycentric Coordinate System 알아보기 안녕하세요. 정글러입니다.오늘은 Barycentric coordinate System (무게중심좌표계)를 알아보겠습니다. 무게중심좌표계는 주로 색을 섞을 때, 중심을 어디로 할지 정할 때 사용합니다.이때 Linear Interpolation 을 먼저 살펴볼 수 있습니다.V0----------------V--------------------V1 V0와 V1 사이에 V,V0와 V사이의 거리는 a, V1과 V사이의 거리는 b일 때V0의 가중치는 b에 비례하고, V1의 가중치는 a에 비례합니다.V = a/a+b * V0 + a/ a+b * V1V = wV0 + (1-w)V1b/a+b=w 삼각형에서는 다음과 같이 정해집니다. 이는 Gouraud interpolation이라고 부릅니다. 언리얼에선 Visual Sc.. 2025. 3. 10. [Graphics] Rasterization과 Ray tracing의 차이 안녕하세요.정글러 입니다. 오늘은 화면 구현 방식의 차이가 있는 Rasterization과 Ray tracing의 차이를 알아보겠습니다.먼저 Ray tracing은 이 게시물에서 알아본 바가 있는데요. [Graphics] Ray Tracing 원리 이해하기안녕하세요. 정글러 입니다. Ray Tracing은 광선이 카메라(또는 관찰자)로부터 출발해 장면 속의 물체와 상호작용하며빛과 그림자, 반사, 굴절 등을 계산하여 이미지를 생성하는 렌더링 기법입니storytech.tistory.com Ray tracing은 모든 픽셀마다 물체와 부딪히는 ray를 쏘기 때문에 렌더링 시간이 오래 걸립니다.각 픽셀에서 빛의 경로를 역추적하는 방식으로 작동하기 때문입니다. (카메라가 촬영하는 방식)이는 계산량이 많지만, 매우.. 2025. 2. 21. [Graphics] Phong Reflection Model(Ambient / Diffuse / Specular) 이해하기 안녕하세요.정글러입니다.언리얼엔진에서 블루프린트를 활용하여 쉐이더를 만든 적이 있죠.그 원리를 이해하기 위해선 Phong Reflection Model을 이해해야 합니다. Ambient사실적인 느낌을 내는 데에 그렇게 중요하진 않습니다.ambient는 물체가 내는 색깔이라고 볼 수 있습니다. // Ambient 성분 result.ambient = ka * ambientLight;DiffuseAmbient에 diffuse를 추가하면 입체감이 살아나게 됩니다.diffuse는 한 점에서 받는 빛의 강도를 계산합니다.이때 벡터n(한 점)과 벡터l(점에서 빛으로 향하는 벡터)는 각도가 커지면 커질 수록 빛을 덜 받습니다.조명의 방향에 따라서 강하게 보여줄지, 약하게 보여줄지 정하는 것입니다.// Diffuse .. 2025. 2. 4. 이전 1 2 다음