5#include <entt/entity/fwd.hpp>
blend_mode
Cách trộn màu của những gì vẽ sau blend_begin().
Definition njin_draw.h:271
@ blend_alpha
Trộn theo độ trong suốt. Mặc định.
Definition njin_draw.h:272
entt::entity 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 ...
void 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.
Definition njin_particles.h:150
bool 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 ...
void particles_set_backend(context &ctx, particle_backend backend)
Chọn nơi mô phỏng hạt.
particle_shape
Hình của hạt khi không có texture.
Definition njin_particles.h:22
particle_backend
Nơi mô phỏng và vẽ hạt.
Definition njin_particles.h:117
particle_backend particles_backend(const context &ctx)
Lựa chọn đang đặt bằng particles_set_backend().
@ particle_circle
Hình tròn, size là đường kính.
Definition njin_particles.h:23
@ particle_square
Hình vuông, xoay theo spin.
Definition njin_particles.h:24
@ particle_backend_auto
Máy có GPU (OpenGL 3.3 trở lên, không phải bộ vẽ bằng phần mềm) thì mọi emitter chạy trên GPU; máy kh...
Definition njin_particles.h:120
@ particle_backend_cpu
Mọi emitter chạy trên CPU, dù máy có GPU.
Definition njin_particles.h:121
std::int32_t i32
Số nguyên có dấu 32 bit.
Definition _types.h:14
float f32
Số thực 32 bit.
Definition _types.h:28
Khoảng giá trị.
Definition njin_particles.h:16
f32 min
Cận dưới.
Definition njin_particles.h:17
f32 max
Cận trên.
Definition njin_particles.h:18
Nguồn phát hạt: nổ, bụi, tia lửa, khói.
Definition njin_particles.h:57
vec2 area
Vùng sinh hạt quanh vị trí của entity: hình chữ nhật có tâm tại transform.pos.
Definition njin_particles.h:65
bool emitting
Đang phát liên tục. Không ảnh hưởng particles_burst().
Definition njin_particles.h:61
bool visible
Ẩn mà không dừng mô phỏng.
Definition njin_particles.h:99
vec2 gravity
Gia tốc, đơn vị mỗi giây bình phương. {0, 400} là rơi xuống.
Definition njin_particles.h:77
rect source
Vùng trong ảnh, pixel. Kích thước 0 là cả ảnh.
Definition njin_particles.h:96
f32 spread
Độ tỏa quanh angle, độ. 360 là mọi hướng.
Definition njin_particles.h:76
f32 angle
Hướng phát, độ (0 là sang phải, 90 là xuống dưới), cộng với góc xoay của transform.
Definition njin_particles.h:74
f32_range size_jitter
Hệ số kích thước ngẫu nhiên riêng của từng hạt.
Definition njin_particles.h:89
particle_shape shape
Hình khi không có texture.
Definition njin_particles.h:92
f32_range speed
Tốc độ ban đầu.
Definition njin_particles.h:71
f32 rate
Số hạt mỗi giây khi phát liên tục. 0 là chỉ phát theo loạt.
Definition njin_particles.h:60
bool gpu
Đang mô phỏng và vẽ trên GPU. Engine chọn lúc emitter hết hạt, xem particle_backend.
Definition njin_particles.h:112
f32 drag
Lực cản: vận tốc giảm theo tỉ lệ này mỗi giây. 0 là không cản.
Definition njin_particles.h:78
texture_handle texture
Ảnh của hạt.
Definition njin_particles.h:95
f32 emit_accum
Phần lẻ của hạt chưa sinh khi phát liên tục.
Definition njin_particles.h:110
f32_range life
Tuổi thọ, giây.
Definition njin_particles.h:70
rgba color_end
Màu lúc chết. Mặc định mờ dần.
Definition njin_particles.h:91
i32 layer
Lớp vẽ, cùng quy ước với sprite::layer.
Definition njin_particles.h:98
bool destroy_when_done
Hủy entity khi không còn phát (emitting == false hoặc rate == 0), không còn loạt nào chờ và mọi hạt đ...
Definition njin_particles.h:104
rgba color_start
Màu lúc sinh.
Definition njin_particles.h:90
f32_range spin
Tốc độ xoay, độ mỗi giây.
Definition njin_particles.h:79
std::vector< particle > particles
Các hạt đang sống. Xem lưu ý về gpu ở trên.
Definition njin_particles.h:108
f32 size_start
Kích thước lúc sinh, pixel thế giới.
Definition njin_particles.h:87
f32 size_end
Kích thước lúc chết.
Definition njin_particles.h:88
i32 max_particles
Số hạt sống tối đa.
Definition njin_particles.h:62
blend_mode blend
Cách trộn màu. blend_additive cho lửa, tia lửa.
Definition njin_particles.h:97
i32 pending_burst
Số hạt chờ sinh ở lần cập nhật tới, xem particles_burst().
Definition njin_particles.h:109
bool local_space
Hạt đi theo emitter khi emitter di chuyển (ví dụ lửa ở đuôi tên lửa).
Definition njin_particles.h:82
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.
Definition njin_particles.h:28
vec2 pos
Vị trí (trong thế giới, hoặc so với emitter nếu local_space).
Definition njin_particles.h:29
vec2 velocity
Vận tốc, đơn vị mỗi giây.
Definition njin_particles.h:30
f32 size
Hệ số kích thước riêng của hạt, nhân vào size_start/size_end.
Definition njin_particles.h:35
f32 age
Đã sống bao lâu, giây.
Definition njin_particles.h:31
f32 life
Sống tổng cộng bao lâu, giây.
Definition njin_particles.h:32
f32 rot
Góc xoay, độ.
Definition njin_particles.h:33
f32 spin
Tốc độ xoay, độ mỗi giây.
Definition njin_particles.h:34
Hình chữ nhật thẳng trục: pos là góc trên trái, size là rộng và cao.
Definition _math.h:13
Màu gồm đỏ, xanh lá, xanh dương và alpha.
Definition _types.h:64
Định danh của một texture, tạo bởi texture_load().
Definition _types.h:146
Vector 2 chiều. Dùng cho vị trí, kích thước, độ dời.
Definition _types.h:39