게임 개발
-
투명한 물체를 구현하기 위해서는 처음 물체와 부딪힌 지점 d1와 뚫고 지나가서 안에서 밖으로 나올때 만나는 지점 d2를 고려해야 한다. 이때, 계산을 위해서 여태까지 처음맞은 지점을 찾기 위해 빛의 시작점으로부터 맞은 지점까지의 거리를 찾아서 더 짧은쪽이 먼저 맞은점이라고 판단하고 그것만 사용했었다. hit.d = glm::min(d1, d2); 이제는, 뚫고 안에 들어갔을때 빛을 계산할때는 더 먼지점인 d2를 사용해야 한다. 구 안에 있는 점에서 시작해서 d2까지를 계산할때는 d1이 시작점보다 뒤에 있기때문에 거리가 음수로 나올것이다. // 물체 안에서 다시 밖으로 나가면서 충돌 가능 if (hit.d < 0.0f) // hit.d = glm::max(d1, d2); https://samdriver.x..
투명한 물체와 빛의 굴절투명한 물체를 구현하기 위해서는 처음 물체와 부딪힌 지점 d1와 뚫고 지나가서 안에서 밖으로 나올때 만나는 지점 d2를 고려해야 한다. 이때, 계산을 위해서 여태까지 처음맞은 지점을 찾기 위해 빛의 시작점으로부터 맞은 지점까지의 거리를 찾아서 더 짧은쪽이 먼저 맞은점이라고 판단하고 그것만 사용했었다. hit.d = glm::min(d1, d2); 이제는, 뚫고 안에 들어갔을때 빛을 계산할때는 더 먼지점인 d2를 사용해야 한다. 구 안에 있는 점에서 시작해서 d2까지를 계산할때는 d1이 시작점보다 뒤에 있기때문에 거리가 음수로 나올것이다. // 물체 안에서 다시 밖으로 나가면서 충돌 가능 if (hit.d < 0.0f) // hit.d = glm::max(d1, d2); https://samdriver.x..
2023.11.02 -
기존 그냥 퐁 쉐이딩에서는 픽셀에서 ray를 쏴서 물체에 맞는 곳을 계산해주면 되었다. 이제 빛의 반사를 계산하기 위해서는 물체에 맞은 위치에서 또 ray를 쏴서 계산해주고, 또 그게 다른곳에 맞으면 거기서도 또 ray를 쏴서 계산해주고... recursive하게 계산을 해야 한다. 처음 ray가 물체에 맞아서 나온 color(그냥 퐁쉐이딩해서 나온color)와 첫번째 반사돼서 맞은 물체의 색, 두번째 반사돼서 맞은 물체의 색, 세번째 반사돼서 맞은 물체의 색... 을 적절히 섞어서 색을 결정하면 된다. 무한히 함수를 재귀호출 할 수 없기때문에 recursive level을 정해 놓고 해야 한다. // 광선이 물체에 닿으면 그 물체의 색 반환 vec3 traceRay(Ray &ray, const int ..
빛의 반사기존 그냥 퐁 쉐이딩에서는 픽셀에서 ray를 쏴서 물체에 맞는 곳을 계산해주면 되었다. 이제 빛의 반사를 계산하기 위해서는 물체에 맞은 위치에서 또 ray를 쏴서 계산해주고, 또 그게 다른곳에 맞으면 거기서도 또 ray를 쏴서 계산해주고... recursive하게 계산을 해야 한다. 처음 ray가 물체에 맞아서 나온 color(그냥 퐁쉐이딩해서 나온color)와 첫번째 반사돼서 맞은 물체의 색, 두번째 반사돼서 맞은 물체의 색, 세번째 반사돼서 맞은 물체의 색... 을 적절히 섞어서 색을 결정하면 된다. 무한히 함수를 재귀호출 할 수 없기때문에 recursive level을 정해 놓고 해야 한다. // 광선이 물체에 닿으면 그 물체의 색 반환 vec3 traceRay(Ray &ray, const int ..
2023.11.02 -
https://en.wikipedia.org/wiki/Supersampling Supersampling - Wikipedia From Wikipedia, the free encyclopedia Spatial anti-aliasing method Calculating the end color value Comparison of a rendered scene without (left side) and with supersampling anti-aliasing applied (right). (Not applying AA is analogous to a nearest-neighbor en.wikipedia.org 곡면의 계단현상을 개선할 수 있다. 수퍼샘플링의 개념 한픽셀에서 하나의 ray를 쏴서 계산하는 것이..
수퍼 샘플링 (Supersampling)https://en.wikipedia.org/wiki/Supersampling Supersampling - Wikipedia From Wikipedia, the free encyclopedia Spatial anti-aliasing method Calculating the end color value Comparison of a rendered scene without (left side) and with supersampling anti-aliasing applied (right). (Not applying AA is analogous to a nearest-neighbor en.wikipedia.org 곡면의 계단현상을 개선할 수 있다. 수퍼샘플링의 개념 한픽셀에서 하나의 ray를 쏴서 계산하는 것이..
2023.11.02 -
텍스처링? 3D 오브젝트에 이미지를 가져와서 덧씌우는 것. 디테일한 비주얼을 보여줄 수 있다. 텍스처링은 어떻게 해야 할까? 이전 포스트에서 무게중심 좌표계 (Barycentric Coordinates)를 사용했을때는 세 점의 중간의 색깔들을 interpolation해서 자동으로 채우도록 했었다. 같은원리로 이번에는 점 4개(사각형)을 채우는데, 이미지로 채울 것이고, 각 점들은 이미지의 어느 부위에서 색을 가져와서 채울것인지만 결정해주면 텍스처링을 할 수 있다. (텍스처 좌표 Texture coordinates) 텍스처는 이미지의 가로 세로 1x1로 가정한다. (텍스처 좌표는 u 축과 v축으로 나눠서 uv 라고도 부른다) 사각형은 삼각형 두개로 나눌 수 있고, 무게중심 좌표계를 이용해 위치를 특정할 수..
텍스처링 (Texturing), 포인트 샘플링, 리니어 샘플링, bilinear interpolation텍스처링? 3D 오브젝트에 이미지를 가져와서 덧씌우는 것. 디테일한 비주얼을 보여줄 수 있다. 텍스처링은 어떻게 해야 할까? 이전 포스트에서 무게중심 좌표계 (Barycentric Coordinates)를 사용했을때는 세 점의 중간의 색깔들을 interpolation해서 자동으로 채우도록 했었다. 같은원리로 이번에는 점 4개(사각형)을 채우는데, 이미지로 채울 것이고, 각 점들은 이미지의 어느 부위에서 색을 가져와서 채울것인지만 결정해주면 텍스처링을 할 수 있다. (텍스처 좌표 Texture coordinates) 텍스처는 이미지의 가로 세로 1x1로 가정한다. (텍스처 좌표는 u 축과 v축으로 나눠서 uv 라고도 부른다) 사각형은 삼각형 두개로 나눌 수 있고, 무게중심 좌표계를 이용해 위치를 특정할 수..
2023.11.02 -
텍스처링(texturing)이란? 사진을 3차원으로 렌더링된 물체에 입혀주는 기술 직접 색깔을 일일히 지정해주는게 아니라 사진, 이미지등을 입혀주면 편하다. 무게 중심 좌표계 (Barycentric coordinates) https://en.wikipedia.org/wiki/Barycentric_coordinate_system Barycentric coordinate system - Wikipedia From Wikipedia, the free encyclopedia Coordinate system that is defined by points instead of vectors A 3-simplex, with barycentric subdivisions of 1-faces (edges) 2-faces (..
텍스처링, 무게 중심 좌표계 (Barycentric coordinates), 선형 보간 (Linear Interpolation)텍스처링(texturing)이란? 사진을 3차원으로 렌더링된 물체에 입혀주는 기술 직접 색깔을 일일히 지정해주는게 아니라 사진, 이미지등을 입혀주면 편하다. 무게 중심 좌표계 (Barycentric coordinates) https://en.wikipedia.org/wiki/Barycentric_coordinate_system Barycentric coordinate system - Wikipedia From Wikipedia, the free encyclopedia Coordinate system that is defined by points instead of vectors A 3-simplex, with barycentric subdivisions of 1-faces (edges) 2-faces (..
2023.11.02 -
// 내용 추가 예정
선형 보간(lerp)과 구면 선형 보간(slerp)// 내용 추가 예정
2023.11.01