본문 바로가기

전체 글86

Rasterization(3) - 원 그리기 원 그리기 원은 삼각형을 여러개 그린 것입니다.더 많은 삼각형을 사용할수록 원에 가까워집니다.원이 있다라고 가정하면 원 위에있는 여러개의 점들 중에서 x축에서 각도가 theta 만큼 회전한 위치의 좌표는 costheta, sintheta로 계산할 수 있습니다. 원의 반지름이 r이라면 앞에 r을 곱해주면 됩니다. x축에서 봤을 때 빗변이 costheta 높이가 sintheta가 됩니다. 이 식을 이용해 회전을 구해 원을 그릴 수 있습니다. theta 를 radian 각도로 구한다면 theta = 120도 = 120 / 180 * 3.14(파이) 이렇게 구하면됩니다.삼각형을 그려 원을 만들때 정점을 시계방향으로 무조건 그려야합니다.반지름, 원의 중심, 삼각형을 몇 개 그릴 지를 선언합니다. int numbe.. 2024. 7. 20.
Rasterization(2) - 삼각형 그리기 RayTracing에서는 시점에서부터 픽셀방향으로 Ray를 쏴줬습니다. 하지만 (레스터라이즈)에서는 3차원의 삼각형의 좌표를 2차원에 좌표에 투영시켜야합니다. 모니터를 생각하고 모니터에 가상 공간의 3차원 물체를2차원 화면에 그려야 합니다. 2차원에 투영된 물체를 보면 마치 3차원 공간에 있는 물체를 보는 것처럼 만들어 주는 것입니다.가상 공간의 물체가 어떤 좌표계에 정의되어 있나 알아야합니다.가장 단순한 형태로 하기 위해 가상의 공간 물체가 원점의 중심에 있고 x방향이 오른쪽 방향, y가 윗 방향, z가 앞 방향이라고 가정합니다.z는 화면에서 가상공간으로 들어가는 방향이다. z가 눈쪽으로 가도 되는데, DirectX에서는 왼손 좌표계를 사용하기 때문에 가상 공간 쪽으로 가는 것이 정석입니다.openGL.. 2024. 7. 19.
Rasterization(1) - Ray Tracing 보다 Rasterization이 빠른 이유 이번 포스팅에서는 Rasterization를 왜 쓰는 지에대해 다뤄보겠습니다.Ray Tracing이 무거운 이유픽셀 방향으로 광선을 쏘고 가상 공간에 있는 물체와 충돌하면 충돌한 지점에서 색을 결정한 뒤 색을 가지고 픽셀의 색을 결정하는 것입니다. 모든 픽셀의 색을 정해야하기 때문에 모든 픽셀에 광선을 쏘게 됩니다. 안티 앨리어싱 같은 기술 같은 기능들을 사용한다면  더 많은 광선이 필요합니다. 또한, 하나의 Ray에서 여러 개의 물체가 충돌하는 지 충돌 안 하는지에 대해 계산하게 됩니다. 그렇기 때문에 물체가 많아질수록 아주 많은 연산이 필요하게 됩니다. Rasterization은 3차원 공간에서 폴리곤을 많기 쓰게 됩니다. Rasterization의 장점은 이 폴리곤들을 하나하나 따로 계산하는 데에 .. 2024. 7. 17.
Ray Tracing(12) - 빛의 굴절 오늘은 빛의 굴절되는 현상을 알아보도록 하겠습니다. 아래에는 참고하기 좋은 예제입니다.https://www.scratchapixel.com/lessons/3d-basic-rendering/introduction-to-shading/reflection-refraction-fresnel.html Introduction to ShadingScratchapixel is used by 400,000 people yearly, yet no company supports us, not even with free software licenses. There's a global demand for accessible, high-quality education, and if these profitable companies.. 2024. 7. 17.
Ray Tracing(11) - 빛의 반사 이번 포스팅에서는 물체의 반사에 대해 구해보겠습니다.  물체가 반사되면 어떻게 보이는 지 확인하실 수 있습니다.https://pngtree.com/freebackground/dual-reflective-spheres-in-mesmerizing-3d-render_13364609.html Dual Reflective Spheres In Mesmerizing 3d Render Background, Sphere, Reflection, Ball Background Image And Wallpaper for Free DoDownload this Dual Reflective Spheres In Mesmerizing 3d Render Background, Sphere, Reflection, Ball background.. 2024. 7. 10.
Ray Tracing(10) - 슈퍼 샘플링 이번 포스팅에서는 슈퍼 샘플링을 통해 이미지의 계단 현상을  막아보는 방법을 알아보겠습니다. 슈퍼 샘플링의 기본적인 개념은 픽셀 하나에서 Ray를 하나만 쏘는 것이 아니라 여러 개를 쏘는 것입니다. 가운데에서 하나만 쏘는 것이 아니라 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래를 Ray로 쏴 픽셀의 평균값을 계산합니다. 그렇기 때문에 연산은 많이 하지만 더 부드러운 결과를 얻어올 수 있습니다. 슈퍼 샘플링을 하는 여러가지 방법들은 밑에서 확인할 수 있습니다.https://en.wikipedia.org/wiki/Supersampling Supersampling - WikipediaFrom Wikipedia, the free encyclopedia Spatial anti-aliasing method Ca.. 2024. 7. 10.