Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

lrdass/cns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codebase da softengine - Rasterizador 3D do Fractal de Tomate

Esta é a codebase do projeto de renderizador softengine (sem acelerador grafico; apenas CPU) do blog http://tomatofractal.io/category/rasterizer.html

Atualmente implementado:

  • Biblioteca basica vetores/Matrizes
  • Rasterizador de triangulos
  • Bresenhan para linhas
  • Backface culling
  • Matriz de projeção
  • Projecao > Viewport > Canvas pipeline
  • Flat-shading
  • Gourad shading
  • Phong shading
  • Mapeamento de texturas
  • Bilinear filtering
  • Mipmapping
  • Stencil shadows

O objetivo deste repositorio é com fins didaticos, futuras melhorias vao incluir:

  • Melhoramento da biblioteca de Algebra linear (usando closures)
  • Adicionar à biblioteca de Algebra Linear Quaternions
  • Implementaçao de um rasterizador com WebGL2
  • Implementaçao de shadow map
  • Algoritmos de flocking apenas para benchmark
  • Refatoraçao da codebase com Typescript
  • Refatoraçao da codebase para usar melhores padrões de projeto com melhores design patterns
  • Parser de arquivos wavefront .obj

A meta deste blog é a partir dos conceitos basicos de rasterização construir, do zero, um simples motor grafico para jogos 3D para browser. A intenção é ir do 0 à uma ferramenta capaz de criar jogos simples, sem animaçoes de bones.

Captura de Tela 2024-03-08 às 23 52 57 Captura de Tela 2024-03-10 às 09 21 12 Captura de Tela 2024-03-15 às 19 10 26

image

Como rodar:

Apos clonar o projeto, basta rodar: yarn para instalar as dependencias

e para rodar:

yarn dev

Codebase for rasterizer

This is the codebase for the rasterizer being developed at tomatofractal.io

About

raytracer/rasterizer source code of tomatofractal.io

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published