치춘짱베리굿나이스

[Rank 4] Cub3D 본문

42/42s Cursus

[Rank 4] Cub3D

치춘 2022. 3. 31. 15:08

My first RayCaster with miniLibX

와! 수학! 기하와벡터!

 

팀 ⌜ ⌟ (웃음) 

단언컨대 최고의 팀원이었습니다 감사합니다

HE IS GOD. 제 블로그 오시는 분들 제 컵디 팀원분 진짜 레전드고수왕고수킹갓엠페러코드마스터십니다

클러스터에서 마주치시면 싸인 받아놓으세요

주의사항

  • 주의사항단 4시간동안은 빡세게 하기
  • 파트 나누지 않고 둘이 만나서 같이 붙어서 할것
  • 하루에 4시간씩 투자할 것

사전에 공부해야 할 내용

Lodev Raycasting 정리

참고자료

 

Raycasting

#define screenWidth 640 #define screenHeight 480 #define texWidth 64 #define texHeight 64 #define mapWidth 24 #define mapHeight 24 int worldMap[mapWidth][mapHeight]= { {4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,7,7,7,7,7,7,7}, {4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,

lodev.org

 

1. Raycasting 기초

 

[Rank 4] Cub3D - Raycasting 기초

Raycasting 기초 계산에 필요한 벡터들 현재 플레이어의 위치를 나타내는 위치벡터 pos 플레이어의 시점 방향을 나타내는 방향벡터 dir 카메라 평면을 나타내는 방향벡터 plane 해당 벡터들 계산법 pos

blog.chichoon.com

 

2. Raycasting 구현 - 변수 설명

 

[Rank 4] Cub3D - Raycasting 구현 ① 변수 설명

변수 설명 posX, posY 플레이어의 좌표를 나타내는 벡터 원점 (0, 0) 을 시작점으로, 플레이어의 좌표를 끝점으로 하는 벡터이다 단도직입적으로 플레이어의 위치 좌표라고 생각하는게 편하다 dirX, d

blog.chichoon.com

 

3. Raycasting 구현 - 반복문의 동작

 

[Rank 4] Cub3D - Raycasting 구현 ② 반복문의 동작

반복문의 동작 주의할 점 Lodev는 y가 아래에서 위로 증가하는 좌표계를 사용하였는데, 레이캐스팅 구현 시에 이 부분을 신경쓰지 않으면 이동 방향이나 회전 방향이 반대가 된다 각 벡터의 용도

blog.chichoon.com

 

4. Raycasting 구현 - 광선 이동거리 계산 및 보정

 

[Rank 4] Cub3D - Raycasting 구현 ③ 광선 이동거리 계산 및 보정

광선 이동거리 계산 및 보정 어안렌즈 효과 방지하기 화면에 벽을 출력할 땐 카메라 평면 ( plane ⇒ 선) 기준으로 출력됨에도 불구하고 플레이어 기준 ( pos ⇒ 점) 으로 거리를 계산하기 때문에 카

blog.chichoon.com

 

5. Raycasting 구현 - 화면에 벽 그리기

 

[Rank 4] Cub3D - Raycasting 구현 ④ 화면에 벽 그리기

화면에 벽 그리기 이번 예제에서는 텍스쳐 대신 색상을 사용하여 벽을 그린다 벽의 높이 계산하기 카메라 평면부터 벽까지의 거리를 구했으니 이제 벽의 높이를 계산하고, 실제로 화면에 벽을

blog.chichoon.com

 

6. Raycasting 구현 - 키 이벤트

 

[Rank 4] Cub3D - Raycasting 구현 ⑤ 키 이벤트

키 이벤트 시야 회전 (←, →) 플레이어의 시야를 좌우로 회전하기 위해선 시선 ( dir 벡터 : dirX , dirY ) 과 카메라평면 ( plane 벡터: planeX , planeY ) 이 같이 회전되어야 한다 시선 (dir) 회전하기 dirX..

blog.chichoon.com

 

7. Raycasting 심화 - 텍스쳐 입히기

 

[Rank 4] Cub3D - Raycasting 심화 - 텍스쳐 입히기

텍스쳐 입히기 직전에는 벽에 단색을 입혔지만 이번엔 텍스쳐를 입혀보자 벽이 왜곡되어 보여야 하므로 어느 높이에 어떤 텍스쳐 색을 넣어야 할 지 계산해야 한다 동서남북 텍스쳐 저장하기 .x

blog.chichoon.com

 

Comments