Linux | Windows | macos | WebAssembly | |
|---|---|---|---|---|
| Compilação | ![]() | ![]() | ![]() | ![]() |
| Testes de unidade | ![]() | Ainda não CI | Ainda não CI | N / D |
Codacy | CoverAlls |
|---|---|
Raz vem, como você deve ter notado, meu nome de usuário Raz Akhel. Isso também foi feito como trocadilho, já que em francês Ràz é o acrônimo de "Remise à Zéro", que basicamente significa "redefinir". Eu não tinha nenhuma intenção específica por trás desse duplo significado. Exceto talvez esperando que o uso de Raz possa redefinir sua mente por causa de sua grandiosidade? Ah bem.
Escrito em C ++ moderno (17), conduzido por ECS, é desenvolvido principalmente para fins de aprendizado. Pretende -se ser muito intuitivo e fácil de usar e mexer, enquanto tenta permanecer o mais otimizado e modular possível.
O motor está disponível no Windows, Linux e MacOS; Ele também pode ser executado em um navegador da Web através do WebAssembly (usando o EMSCRIPTEN).
O motor pode ser usado com o Lua, uma linguagem de script que é muito simples de aprender e usar. Para mais informações, consulte a página Wiki dedicada.
Se você quiser começar com Raz, vá para o wiki. Para a documentação, veja aqui!
A Razor, um editor também multiplataforma, está disponível para manipular o motor por meio de uma interface gráfica.
Um servidor Discord dedicado à Raz & Razor também está disponível! Sinta -se à vontade para vir para seguir o desenvolvimento, fazer qualquer pergunta ou apenas dizer oi
| Crytek Sponza | Hylian Shield (PBR) |
|---|---|
Mais exemplos estão disponíveis aqui.
| Nome | Mantenedor/criador | Descrição |
|---|---|---|
| Atmos | Razakhel | Simulação atmosférica |
| Midgard | Razakhel | Geração processual do terreno |
| Yggdrasil | Razakhel | Geração processual de árvore e folhagem |
Se você também estiver trabalhando por conta própria, fique à vontade para entrar em contato para que eu possa adicioná -los à lista.
| Módulo | Características |
|---|---|
| Animação | - Estrutura de dados do esqueleto - Suporte de animação (em andamento) |
| Áudio | - usando o Soft Open - Tocando/pausando/parando/repetindo sons - Fontes de áudio posicional e ouvinte - Efeitos sonoros (reverberação, coro, distorção, eco, ...) - Suporte de mono/estéreo de entrada de áudio (microfone) |
| Dados | - Hierarquia de volume delimitador (BVH) Estrutura de aceleração - Estrutura de gráfico direcionado - Mesh Campo de distância assinada - Bitset dinâmico - Formatos de arquivo: - malhas: - Importação GLTF/GLB (usando FastGLTF) - OBJ Import/Export - Importar FBX (usando o FBX SDK) - Off de importação - Imagens: - PNG, JPEG, BMP, TGA, HDR, GIF, PPM/PGM, PSD, Importar PIC (usando STB_IMAGE) - PNG, JPEG, BMP, TGA, HDR Export (usando STB_IMAGE_WRITE) - Importação de TGA - Áudio: importação/exportação de WAV - Animação: BVH Import (em andamento) |
| Matemática | - vetores, matrizes e quaternions - ângulos (graus/radianos) - Transformações (tradução, rotação, escala) - Ruído (Perlin, Worley) |
| Física | - Shapes (linha, avião, esfera, triângulo, quad, AABB, OBB) - Verificações de colisão de forma/forma (em andamento) - Verificações de interseção de raio/forma (em andamento) - Simulação corporal rígida (em andamento) |
| Renderização | - OpenGL (4.6-3.3) - Vulkan (em andamento) -Modelos de materiais PBR (Cook-Torrance) e Legacy (Blinn-Phong) - Renderização diferida, usando um gráfico de renderização personalizado - Pós -Efeitos: Bloom, Mapeamento de Tone, SSR, SSAO, ... (em andamento) - Suporte de tesellation e shaders de computação - Câmera (perspectiva/ortográfica) - Fontes de luz (ponto e direcional) - Windowing (janela, entradas de teclado/mouse com retornos de chamada personalizados), usando GLFW - Sobreposição, usando imgui - Cubemap - Mapeamento normal |
| Script | - Lua script, usando SOL2 |
| Xr | - Suporte de realidade virtual (VR) (usando o SDK OpenXR) |
| Misc | - Implementação de ECS personalizada (sistema de componentes de entidade) - Strings de caminho dependente de plataforma uniformizado - Utilitários de log - Utilitários multithreading, implementação do pool de threads e funções de paralelização - Utilitários de plug -in, para carregar bibliotecas dinâmicas - Compilador, enum, string, arquivo, ponto flutuante e utilitários de tipo - Integração de Tracy |