Nguồn phát hạt: nổ, bụi, tia lửa, khói, lửa. Tiếp...
Classes | |
| struct | njin::f32_range |
| Khoảng giá trị. Tiếp... | |
| struct | njin::particle |
| Một hạt đang sống. Do engine tạo và cập nhật; game chỉ cần đọc nếu muốn. Tiếp... | |
| struct | njin::particle_emitter |
| Nguồn phát hạt: nổ, bụi, tia lửa, khói. Tiếp... | |
Enumerations | |
| enum | njin::particle_shape { njin::particle_circle , njin::particle_square } |
| Hình của hạt khi không có texture. Tiếp... | |
| enum | njin::particle_backend { njin::particle_backend_auto , njin::particle_backend_cpu } |
| Nơi mô phỏng và vẽ hạt. Tiếp... | |
Các hàm | |
| void | njin::particles_set_backend (context &ctx, particle_backend backend) |
| Chọn nơi mô phỏng hạt. | |
| particle_backend | njin::particles_backend (const context &ctx) |
| Lựa chọn đang đặt bằng particles_set_backend(). | |
| bool | njin::particles_gpu_available (context &ctx) |
| Máy này có chạy được hạt trên GPU không: OpenGL 3.3 trở lên, có instancing, và không phải bộ vẽ bằng phần mềm (llvmpipe, SwiftShader, Microsoft Basic Render Driver, ...). | |
| void | njin::particles_burst (particle_emitter &emitter, i32 count) |
| Xếp hàng count hạt để sinh cùng lúc ở lần cập nhật tới. | |
| entt::entity | njin::particles_spawn (context &ctx, const particle_emitter &preset, vec2 pos, i32 count) |
| Tạo một entity tại pos chỉ để phát một loạt count hạt, theo mẫu preset, rồi tự hủy khi hạt cuối cùng chết. | |
Nguồn phát hạt: nổ, bụi, tia lửa, khói, lửa.
| enum njin::particle_shape |
| void njin::particles_set_backend | ( | context & | ctx, |
| particle_backend | backend ) |
Chọn nơi mô phỏng hạt.
Mặc định là particle_backend_auto.
Mỗi emitter chỉ đổi nơi chạy khi nó không còn hạt nào, nên đổi giữa chừng không làm hạt đang bay bị giật.
| ctx | Context của engine. |
| backend | Lựa chọn. |
| particle_backend njin::particles_backend | ( | const context & | ctx | ) |
Lựa chọn đang đặt bằng particles_set_backend().
| ctx | Context của engine. |
| bool njin::particles_gpu_available | ( | context & | ctx | ) |
Máy này có chạy được hạt trên GPU không: OpenGL 3.3 trở lên, có instancing, và không phải bộ vẽ bằng phần mềm (llvmpipe, SwiftShader, Microsoft Basic Render Driver, ...).
Chỉ đúng sau khi cửa sổ đã mở, tức là trong mọi hàm của game.
| ctx | Context của engine. |
|
inline |
Xếp hàng count hạt để sinh cùng lúc ở lần cập nhật tới.
Không cần emitting. Gọi nhiều lần trong một frame thì cộng dồn.
| emitter | Emitter. |
| count | Số hạt. |
| entt::entity njin::particles_spawn | ( | context & | ctx, |
| const particle_emitter & | preset, | ||
| vec2 | pos, | ||
| i32 | count ) |
Tạo một entity tại pos chỉ để phát một loạt count hạt, theo mẫu preset, rồi tự hủy khi hạt cuối cùng chết.
preset thường là một hằng số của game, ví dụ explosion. Entity mới được gắn vào scene đang chạy (njin::scene_owned), nên rời scene thì nó cũng mất.
| ctx | Context của engine. |
| preset | Mẫu emitter. emitting và destroy_when_done bị ghi đè. |
| pos | Vị trí trong thế giới. |
| count | Số hạt. |