-
Notifications
You must be signed in to change notification settings - Fork 0
Contrato de Integracao
Henrique de Freitas edited this page Aug 28, 2026
·
1 revision
Este documento define os pontos de contato entre os dois subprojetos, permitindo que a Equipe A (Motor do Mundo) e a Equipe B (Motor Interativo) desenvolvam suas partes em paralelo e as unam sem conflitos de arquitetura.
A Equipe A fornece a seguinte interface para consultas espaciais:
-
getBlockAt(x, y, z): Retorna o tipo de bloco em uma posição global. -
isSolid(x, y, z): Retornatruese o bloco for sólido (usado pela Equipe B para posicionamento e colisão de miniaturas). -
getTopSolidBlock(x, z): Retorna a maior coordenada Y com bloco sólido na coluna (X, Z). -
getBlockBoundingBox(x, y, z): Retorna o AABB(min, max)para o Raycasting 3D da Equipe B.
A Equipe B aciona o destaque do cursor enviando:
-
setHighlightedBlock(x, y, z, color): Ativa o efeito de seleção sobre o bloco. -
clearHighlight(): Remove o destaque atual. -
setGridOverlayVisible(bool): Exibe/oculta a grade sobre as faces superiores do terreno.
A Equipe A disponibiliza as matrizes da câmera isométrica para conversão de coordenadas de tela (pixel do clique) em raio tridimensional no mundo:
mat4 ViewMatrixmat4 ProjectionMatrixvec4 Viewport
Isometricon • CEFET-MG Computação Gráfica • Licença MIT
🟩 Equipe A — Motor do Mundo
🟦 Equipe B — Motor Interativo
🔗 Integração