모작
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 |

| 모작 (0) | 2026.06.30 |
|---|---|
| 모작 (0) | 2026.06.30 |
| [모작]블소_스케치 (0) | 2018.05.21 |
| [모작]소녀전선 - UMP45 (0) | 2018.05.21 |
| 니어오토마타_2b_스케치 (0) | 2017.06.23 |
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의 치역값으로 보간하면 픽킹지점부터 반지름끝까지 부드럽게 조절 할 수 있다.
| 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 |
* LOD
- Level of detail의 약자로 정밀도를 표현한다.
- 정밀도를 나눠 렌더링연산을 줄여줄 수 있다.
* 정적LOD
- 정해진 정밀도에 따라 메쉬를 추가로 가지고있어 거리에 따라 출력 메쉬를 바꿔준다.
- 연산은 적지만 메모리 낭비가 심하다.
* 동적LOD
- 거리에따라 메쉬의 정밀도를 갱신해준다.
- 연산이 많지만 메모리 낭비가 심하지 않다.
* 거리기반 LOD
- terrain의 quadTree에선 거리기반기법으로 현재 노드와 카메라의 거리를 구한뒤
인덱스의 top_left에 top_right까지의 길이를 비교해 표현 할 수 있다.
* Crack 현상
- 정밀도가 달라지는 구간에서 정점의 위치에때라 연결부위에 균열이 생기는 현상.
- 해결 방안으론 연결 부위에 삼각형을 땜질해 주어 자연스럽게 연결 될 수 있게 해준다.
| 지형 높이 조절( 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 |