1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
# 🎮 Testando Exemplos 3D
## ✅ Exemplo 3D Simples (RECOMENDADO PARA COMEÇAR)
Este é o exemplo mais básico e garantido para funcionar:
```bash
cargo run --example 3d_demo_simple
```
### Controles:
- **WASD**: Move câmera (frente/trás/esquerda/direita)
- **Q/E**: Move câmera (cima/baixo)
- **SPACE**: Toggle wireframe/sólido
### O que você verá:
- ✅ Cubo 3D rotacionando
- ✅ Wireframe branco sobre fundo azul escuro
- ✅ Controles de câmera funcionando
---
## 🌟 Exemplo 3D Avançado (Com Partículas e Shaders)
Depois de testar o simples, experimente o avançado:
```bash
cargo run --example 3d_demo
```
### Controles:
- **WASD**: Move câmera
- **SPACE**: Toggle wireframe
- **1-3**: Alterna modos de shader
- 1: Normal
- 2: Fresnel (rim lighting)
- 3: Fog (neblina)
- **E**: Explosão de partículas 3D
- **F**: Fogo
- **M**: Magia
- **T**: Trail (rastro)
### O que você verá:
- ✅ Cubo 3D rotacionando
- ✅ Partículas 3D (pressione E/F/M/T)
- ✅ Diferentes modos de shader
- ✅ Cores de fundo mudam com o shader
---
## 🎨 Exemplo 2D com Partículas Avançadas
```bash
cargo run --example particles_2d_advanced
```
### Controles:
- **1-6**: Alterna efeitos de partículas
- 1: Explosão com turbulência
- 2: Fogo com color shift
- 3: Magia multicolorida
- 4: Fumaça com aceleração
- 5: Faíscas rápidas
- 6: Chuva de partículas
- **Q/W/E/R**: Alterna shaders
- Q: Bloom
- W: Motion Blur
- E: Hue Shift
- R: Glitch
- **SPACE**: Limpa partículas
---
## 🔧 Troubleshooting
### Tela preta?
1. **Verifique se o cubo está visível**
- Tente pressionar SPACE para alternar wireframe
- Use WASD para mover a câmera
2. **Teste o exemplo simples primeiro**
```bash
cargo run --example 3d_demo_simple
```
3. **Verifique a compilação**
```bash
cargo check --examples
```
### Cubo muito pequeno?
O cubo tem 3 unidades de tamanho e está a 10 unidades da câmera. Se ainda estiver pequeno:
- Use **W** para aproximar a câmera
- Ou edite o código e aumente o tamanho do cubo:
```rust
let mut cube = Mesh3D::cube(5.0); // Maior
```
### Performance ruim?
1. **Reduza partículas**
```rust
let particle_system = ParticleSystem3D::new(200); // Menos partículas
```
2. **Desative shaders pesados**
- Evite usar Bloom + outros shaders juntos
3. **Use wireframe**
- Wireframe é mais rápido que sólido
---
## 📊 Especificações dos Exemplos
### 3d_demo_simple
- **Complexidade**: Baixa
- **FPS esperado**: 60+
- **Partículas**: Nenhuma
- **Shaders**: Nenhum
- **Ideal para**: Aprender 3D básico
### 3d_demo
- **Complexidade**: Média
- **FPS esperado**: 30-60
- **Partículas**: Até 500
- **Shaders**: 3 modos
- **Ideal para**: Ver recursos avançados
### particles_2d_advanced
- **Complexidade**: Média
- **FPS esperado**: 30-60
- **Partículas**: Até 1000
- **Shaders**: 4 modos
- **Ideal para**: Efeitos 2D
---
## 🚀 Próximos Passos
1. ✅ Teste `3d_demo_simple`
2. ✅ Experimente os controles
3. ✅ Teste `3d_demo` com partículas
4. ✅ Teste `particles_2d_advanced`
5. ✅ Modifique os exemplos
6. ✅ Crie seu próprio jogo!
---
## 💡 Dicas
- **Comece simples**: Use `3d_demo_simple` primeiro
- **Wireframe ajuda**: Pressione SPACE para ver a estrutura
- **Mova a câmera**: Use WASD/QE para explorar
- **Teste partículas**: Pressione E/F/M/T no 3d_demo
- **Combine efeitos**: Teste diferentes shaders e partículas juntos
**Divirta-se criando! 🎮✨**