'전체 글'에 해당되는 글 46건

  1. 2026.06.30 모작
  2. 2024.07.26 지형 높이 조절( terrain height control ) 1
  3. 2024.07.26 Level of detail ( LOD )

모작

art/illustration 2026. 6. 30. 11:36 |

'art > illustration' 카테고리의 다른 글

모작  (0) 2026.06.30
모작  (0) 2026.06.30
[모작]블소_스케치  (0) 2018.05.21
[모작]소녀전선 - UMP45  (0) 2018.05.21
니어오토마타_2b_스케치  (0) 2017.06.23
Posted by mainep
:

1. terrain의 indexbuffer를 순회하여 픽킹테스트를 한다.

2. 픽킹된 좌표를 얻어내 정점을 순회 할 인덱스 범위를 구한다.

화면 중앙을 원점(0,0)으로 배치된 지형을 좌상단이 원점이 되도록 기준을 잡으면 각 정점은 행렬의 형태로 정렬된다.

vLeftTop.x = pickPos.x - radius

vLeftTop.z = pickPos.z + radius

StartX = vLeftTop.x + terrain width / 2;

iStartX = max( iStartX, 0 );

 

 

iEndX = iStartX +  radius* 2;

iEndX = min( iEndX, terrain width - 1 );

 

iStartY = terrain height / 2 - vLeftTop.z;

iStartY = max( iStartY, 0 );

 

iEndY = iStartY + radius* 2;

iEndY = min( iEndY, terrain height - 1 );

 

3.만들어낸 범위안의 정점들을 순회하여 픽킹지점부터 정점간의 거리와 반지름의 크기 비교하며 

 정점의 높이를 수정한다.

 

반지름보다 거리가 작은 정점에 한해 연산을 한다.

vertex.y = sin( 90.f - ( 90.f * dist / radius ) )

 

dist / radius 은 0 ~ 1값을 가진다.

헌재 픽킹 지점부터 반지름 한도내까지 거리가 가장 멀면 1, 픽킹지점이면 0

 

이를 sin의 치역값으로 보간하면 픽킹지점부터 반지름끝까지 부드럽게 조절 할 수 있다.

'programming > etc' 카테고리의 다른 글

Level of detail ( LOD )  (0) 2024.07.26
절두체 컬링 ( Frustum Culling )  (0) 2024.07.26
쿼드트리 ( QuadTree )  (0) 2024.07.26
OBB 충돌  (0) 2024.07.26
*좌표계*삼각비*내적-정사영  (0) 2024.07.26
Posted by mainep
:

* LOD 

- Level of detail의 약자로 정밀도를 표현한다.

- 정밀도를 나눠 렌더링연산을 줄여줄 수 있다.

 

* 정적LOD

- 정해진 정밀도에 따라 메쉬를 추가로 가지고있어 거리에 따라 출력 메쉬를 바꿔준다.

- 연산은 적지만 메모리 낭비가 심하다.

 

* 동적LOD

- 거리에따라 메쉬의 정밀도를 갱신해준다.

- 연산이 많지만 메모리 낭비가 심하지 않다.

 

* 거리기반 LOD

- terrain의 quadTree에선 거리기반기법으로 현재 노드와 카메라의 거리를 구한뒤

  인덱스의 top_left에 top_right까지의 길이를 비교해 표현 할 수 있다.

 

* Crack 현상

- 정밀도가 달라지는 구간에서 정점의 위치에때라 연결부위에 균열이 생기는 현상.

- 해결 방안으론 연결 부위에 삼각형을 땜질해 주어 자연스럽게 연결 될 수 있게 해준다.

'programming > etc' 카테고리의 다른 글

지형 높이 조절( terrain height control )  (1) 2024.07.26
절두체 컬링 ( Frustum Culling )  (0) 2024.07.26
쿼드트리 ( QuadTree )  (0) 2024.07.26
OBB 충돌  (0) 2024.07.26
*좌표계*삼각비*내적-정사영  (0) 2024.07.26
Posted by mainep
: