Um projeto de raycasting em C (MiniRaycaster) que renderiza um mapa 2D como um ambiente 3D simples usando a biblioteca MiniLibX.
Este repositório contém uma implementação de um pequeno motor de raycasting escrito em C. Ele foi construído para ser compilado localmente usando o Makefile fornecido e depende de uma cópia local da minilibx (incluída em libs/minilibx-linux) e de uma libft em libs/libft.
src/- código-fonte do jogoinclude/- headers (ex.:cub3d.h)libs/libft/- biblioteca utilitária (libft)libs/minilibx-linux/- MiniLibX para Linuxmaps/- exemplos de mapastextures/- recursos de textura
- GCC/clang (compilador C)
- make
- X11 (bibliotecas de desenvolvimento: libX11, libXext)
- Sistema Linux com ambiente gráfico (X11) para executar a MiniLibX
Observação: a minilibx já está incluída em libs/minilibx-linux e o Makefile está configurado para linkar com -lX11 -lXext -lmlx.
No diretório raiz do projeto, rode:
makeIsso irá compilar libs/libft, compilar os objetos em obj/ e gerar o executável cub3D.
Exemplo de execução (use um dos mapas em maps/):
./cub3D maps/valid.cubPara rodar com valgrind (há um alvo val no Makefile):
make val
# ou
./cub3D maps/valid.cub
# e em outro terminal:
# valgrind --leak-check=full --show-leak-kinds=all --track-fds=yes ./cub3D maps/valid.cubObservação: o alvo
valdoMakefileusavalgrinde está preparado para não falhar omakesevalgrindretornar código != 0.
Mapas de exemplo estão em maps/. Mapas personalizados devem seguir a mesma formatação usada pelos exemplos. Há arquivos de teste com casos inválidos em maps/ para validação do parser.
- Emerson — proprietário do repositório https://github.com/EmersonSchula
- André — mantenedor/colaborador https://github.com/andrelucca99
Verifique o arquivo LICENSE no repositório (se houver) para detalhes sobre a licença deste projeto.