치춘짱베리굿나이스
[Rank 4] Cub3D 본문
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
[Rank 4] Cub3D - Raycasting 기초
Raycasting 기초 계산에 필요한 벡터들 현재 플레이어의 위치를 나타내는 위치벡터 pos 플레이어의 시점 방향을 나타내는 방향벡터 dir 카메라 평면을 나타내는 방향벡터 plane 해당 벡터들 계산법 pos
blog.chichoon.com
[Rank 4] Cub3D - Raycasting 구현 ① 변수 설명
변수 설명 posX, posY 플레이어의 좌표를 나타내는 벡터 원점 (0, 0) 을 시작점으로, 플레이어의 좌표를 끝점으로 하는 벡터이다 단도직입적으로 플레이어의 위치 좌표라고 생각하는게 편하다 dirX, d
blog.chichoon.com
[Rank 4] Cub3D - Raycasting 구현 ② 반복문의 동작
반복문의 동작 주의할 점 Lodev는 y가 아래에서 위로 증가하는 좌표계를 사용하였는데, 레이캐스팅 구현 시에 이 부분을 신경쓰지 않으면 이동 방향이나 회전 방향이 반대가 된다 각 벡터의 용도
blog.chichoon.com
4. Raycasting 구현 - 광선 이동거리 계산 및 보정
[Rank 4] Cub3D - Raycasting 구현 ③ 광선 이동거리 계산 및 보정
광선 이동거리 계산 및 보정 어안렌즈 효과 방지하기 화면에 벽을 출력할 땐 카메라 평면 ( plane ⇒ 선) 기준으로 출력됨에도 불구하고 플레이어 기준 ( pos ⇒ 점) 으로 거리를 계산하기 때문에 카
blog.chichoon.com
[Rank 4] Cub3D - Raycasting 구현 ④ 화면에 벽 그리기
화면에 벽 그리기 이번 예제에서는 텍스쳐 대신 색상을 사용하여 벽을 그린다 벽의 높이 계산하기 카메라 평면부터 벽까지의 거리를 구했으니 이제 벽의 높이를 계산하고, 실제로 화면에 벽을
blog.chichoon.com
[Rank 4] Cub3D - Raycasting 구현 ⑤ 키 이벤트
키 이벤트 시야 회전 (←, →) 플레이어의 시야를 좌우로 회전하기 위해선 시선 ( dir 벡터 : dirX , dirY ) 과 카메라평면 ( plane 벡터: planeX , planeY ) 이 같이 회전되어야 한다 시선 (dir) 회전하기 dirX..
blog.chichoon.com
[Rank 4] Cub3D - Raycasting 심화 - 텍스쳐 입히기
텍스쳐 입히기 직전에는 벽에 단색을 입혔지만 이번엔 텍스쳐를 입혀보자 벽이 왜곡되어 보여야 하므로 어느 높이에 어떤 텍스쳐 색을 넣어야 할 지 계산해야 한다 동서남북 텍스쳐 저장하기 .x
blog.chichoon.com
'42 > 42s Cursus' 카테고리의 다른 글
[Rank 4] Cub3D - Raycasting 구현 ① 변수 설명 (0) | 2022.03.31 |
---|---|
[Rank 4] Cub3D - Raycasting 기초 (2) | 2022.03.31 |
[Rank 3] Minishell - 사용가능 함수 정리 (0) | 2022.02.03 |
[Rank 3] Minishell - 시그널 정리 (0) | 2022.02.03 |
[Rank 3] Minishell - 쌍따옴표와 홑따옴표 (4) | 2022.02.03 |