profile
늅늅
post-thumbnail

[cub3d] ray cast란?

ray cast > 광선을 직선으로 투사해 가장 먼저 닿은 물체와의 거리를 파악하는 기법 cub3d에서는 플레이어의 시야에 보이는 벽과의 거리를 파악하여 화면 높이와 벽의 높이를 거리에 따른 비율로 계산해 2D맵을 3D원근법으로 렌더링하기위해 사용 특징 > 그림자, 빛의 반사 등등을 모두 계산하는 ray tracing보다는 재현율이 떨어지지만 연산횟수는 크게 차이남 1000 * 1000크기의 화면이라면 x축 크기인 1000번의 연산만 하면 모든 벽과의 거리를 파악할 수 있음 (단 모든 벽은 수직, 바닥은 평평해야하고 벽은 모두 동일한 크기의 큐브형태여야 함) 기본 원리 > 플레이어 위치로부터 시야각 내에 포함되어있는 모든 x좌표로 ray를 발사함 ray는 좌표상 x 또

2023년 2월 2일
·
0개의 댓글
·
post-thumbnail

[cub3d] cub3d

cub3d > raycast와 mlx를 활용하여 1인칭 게임을 구현 ray cast > 광선을 직선으로 투사해 가장 먼저 닿은 물체와의 거리를 파악하는 기법 여기서는 플레이어의 시야에 보이는 벽과의 거리를 파악하여 화면 높이와 벽의 높이를 거리에 따른 비율로 계산해 2D맵을 3D원근법으로 렌더링하기위해 사용 구현사항 > 0, 1, N, S, E, W로 이루어진 map을 읽어올 수 있어야함 map 파일의 상단에는 불러올 텍스쳐 정보등의 identifier를 가지고 있어야 함 map이 벽으로 둘러쌓여있지 않다면 error 동, 서, 남, 북 벽들은 각각 다른 텍스쳐를 가지고 있어야 함 W, A, S, D를 사용해 캐릭터를 움직일 수 있어야함 mlx와 raycast를

2023년 1월 14일
·
0개의 댓글
·