Graphics5 [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] 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] 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. [Graphics] Ray Tracing 원리 이해하기 안녕하세요. 정글러 입니다. Ray Tracing은 광선이 카메라(또는 관찰자)로부터 출발해 장면 속의 물체와 상호작용하며빛과 그림자, 반사, 굴절 등을 계산하여 이미지를 생성하는 렌더링 기법입니다. 1. 카메라에서 광선을 방출2. 광선이 물체에 충돌하는지 확인3. 충돌한 지점에서 광원의 방향을 기준으로 조명, 반사, 그림자 등을 계산4. 계산 결과를 픽셀에 기록 Ray의 정의: 시작점과 방향을 가지며, 이 정보를 통해 광선이 공간에서 어디로 향하는지 계산class Ray {public: glm::vec3 origin; // 광선의 시작점 glm::vec3 direction; // 광선의 방향 (정규화된 벡터) Ray(const glm::vec3& o, const glm::v.. 2025. 1. 20. [Graphics] vcpkg_imgui 설치하기 안녕하세요.정글러입니다. 오늘은 비주얼 스튜디오에서 유용하게 사용할 수 있는 vcpkg를 설치하고자 합니다.https://learn.microsoft.com/ko-kr/vcpkg/get_started/get-started-vs?pivots=shell-powershell Visual Studio에서 CMake를 사용하여 패키지 설치 및 사용자습서에서는 CMake 및 Visual Studio에서 패키지를 설치하고 사용하는 프로세스를 안내합니다.learn.microsoft.com CMD에 복사하기git clone https://github.com/microsoft/vcpkg.git 여기에서 imgui를 설치할 것입니다.vcpkg install imgui[win32-binding,dx11-binding]:x6.. 2025. 1. 15. 이전 1 다음