Skip to content

Cub3D é um projeto de raycasting em C (MiniRaycaster) que renderiza um mapa 2D como um ambiente 3D simples usando a biblioteca MiniLibX.

Notifications You must be signed in to change notification settings

andrelucca99/Cub3d

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cub3D

Um projeto de raycasting em C (MiniRaycaster) que renderiza um mapa 2D como um ambiente 3D simples usando a biblioteca MiniLibX.

Sobre

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.

Estrutura do projeto (resumo)

  • src/ - código-fonte do jogo
  • include/ - headers (ex.: cub3d.h)
  • libs/libft/ - biblioteca utilitária (libft)
  • libs/minilibx-linux/ - MiniLibX para Linux
  • maps/ - exemplos de mapas
  • textures/ - recursos de textura

Requisitos

  • 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.

Como compilar

No diretório raiz do projeto, rode:

make

Isso irá compilar libs/libft, compilar os objetos em obj/ e gerar o executável cub3D.

Como executar

Exemplo de execução (use um dos mapas em maps/):

./cub3D maps/valid.cub

Para 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.cub

Observação: o alvo val do Makefile usa valgrind e está preparado para não falhar o make se valgrind retornar código != 0.

Arquivos de mapa

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.

Contribuidores

Licença

Verifique o arquivo LICENSE no repositório (se houver) para detalhes sobre a licença deste projeto.

About

Cub3D é um projeto de raycasting em C (MiniRaycaster) que renderiza um mapa 2D como um ambiente 3D simples usando a biblioteca MiniLibX.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published