Renderização
O Turian renderiza com Vulkan 1.3 por meio do Silk.NET. O mesmo renderizador desenha as visualizações Scene e Game do Studio, as capturas da CLI e o seu jogo exportado.
O quadro
Cada quadro é desenhado por um conjunto de sistemas de renderização, nesta ordem:
| Sistema | Desenha |
|---|---|
| Standard | Modelos e malhas com materiais PBR e a iluminação da cena. |
| Mesh | Malhas simples. |
| Gizmos | Gizmos do editor e linhas de depuração (só no Studio). |
| World UI | Documentos .ui colocados no mundo sobre quads — no Studio e nas renderizações da CLI; ainda não nos jogos exportados. |
| Overlay | Documentos .ui em espaço de tela, sobre a cena. |
O renderizador desenha em uma swapchain Vulkan de uma janela, ou em uma imagem fora da tela para as visualizações do Studio e a renderização sem janela.
Câmeras
Um CameraComponent define uma visão:
| Propriedade | Significado |
|---|---|
UsePerspective |
Perspectiva quando verdadeiro; ortográfica caso contrário. |
FieldOfViewDegrees |
Campo de visão vertical (perspectiva). |
Frustum |
Altura do volume de visão (ortográfica). |
NearPlane, FarPlane |
Distâncias de recorte. |
AspectMode, FixedAspectRatio |
Seguir a proporção da janela ou manter uma fixa. |
Priority |
Entre as câmeras ativas, a de maior prioridade renderiza. |
Troque de câmera mudando prioridades — o CameraCycler do exemplo Bistro passa a maior prioridade por uma lista de câmeras. Controladores prontos — Free Fly, FPS, Orbit e Follow — ficam em Add Component → Rendering → Camera.
Luzes
Um LightComponent pode ser:
- Point — emite da posição do nó em todas as direções, com queda proporcional ao quadrado da distância. Até 10 por quadro.
- Directional — luz paralela ao longo do eixo frontal do nó, como o sol; a posição é ignorada. Até 4 por quadro.
Intensity e Color (RGBA) definem a força e a cor.
Materiais
As superfícies usam o modelo PBR metálico-rugosidade do glTF: cor base, metálico, rugosidade, normal, oclusão e emissivo, cada um com um fator e uma textura opcional. Veja Assets para criar materiais e importá-los de modelos.
Configurações gráficas
O asset Graphics Settings do projeto guarda as opções de renderização; hoje, a resolução máxima padrão das texturas. Veja Configurações do projeto.
Renderizando sem janela
A CLI renderiza cenas em arquivos PNG com o mesmo renderizador, útil na CI e em verificações de regressão:
turian-cli screenshot MeuJogo --camera "Main Camera" --width 1920 --height 1080 --out shot.png
turian-cli playmode MeuJogo --frames 120 --out depois-de-dois-segundos.png
Sem GPU, um driver Vulkan por software como o lavapipe do Mesa funciona; a imagem de contêiner do turian-cli já inclui um.
Ainda não disponível
O renderizador do Turian 1.0 é deliberadamente pequeno. Sombras, iluminação baseada em imagem, skybox, pós-processamento e passes de renderização próprios a partir do código do projeto estão no roteiro, não nesta versão.