njin
Engine 2D gọn nhẹ để tự tay làm game theo ý mình. Vibe coding cũng ổn luôn
Loading...
Searching...
No Matches
njin::fx3d Struct Tham chiếu

Hiệu ứng cho các hình 3D vẽ sau fx3d_set(): nháy màu và tan biến, như njin::flash_fx và njin::dissolve_fx của sprite. Tiếp...

#include <njin_3d.h>

Các thuộc tính Public

rgba flash {1.0f, 1.0f, 1.0f, 0.0f}
 Màu tô lên hình, thay màu từng điểm mà vẫn giữ hình dáng (khác tint, chỉ nhân màu).
f32 dissolve = 0.0f
 Mức tan biến, 0..1.
rgba edge_color {1.0f, 0.55f, 0.1f, 1.0f}
 Màu viền cháy ở chỗ đang tan. a bằng 0 là bỏ viền.
f32 edge_width = 0.08f
 Độ dày viền, theo thang ngẫu nhiên 0..1.
f32 grain = 0.1f
 Cỡ mỗi mảng, đơn vị thế giới.
f32 seed = 0.0f
 Đổi hình mẫu tan, để hai vật không tan giống hệt nhau.
vec3 mask_center {0.0f, 0.0f, 0.0f}
 Khoét chỗ che (sphere masking), cho camera góc thứ ba: phần hình nằm giữa camera và mask_center (đơn vị thế giới 3D), trong một hình nón loe dần tới bán kính mask_radius ở mask_center, bị bỏ đi theo mẫu chấm, mép mờ dần, nên nhân vật sau tường vẫn thấy được.
f32 mask_radius = 0.0f
 Bán kính chỗ khoét ở mask_center, đơn vị thế giới 3D.

Mô tả chi tiết

Hiệu ứng cho các hình 3D vẽ sau fx3d_set(): nháy màu và tan biến, như njin::flash_fx và njin::dissolve_fx của sprite.

Hình 3D vẽ ngay lúc gọi, không phải entity, nên game tự giữ thời gian và đặt mức hiệu ứng mỗi frame. Chỉ shader có sẵn của engine làm hiệu ứng này; hình vẽ bằng shader của game (shader_begin()) không bị ảnh hưởng.

Thông tin về Member Data

◆ flash

rgba njin::fx3d::flash {1.0f, 1.0f, 1.0f, 0.0f}

Màu tô lên hình, thay màu từng điểm mà vẫn giữ hình dáng (khác tint, chỉ nhân màu).

a là độ phủ: 0 là không nháy, 1 là tô kín.

◆ dissolve

f32 njin::fx3d::dissolve = 0.0f

Mức tan biến, 0..1.

0 là còn nguyên, 1 là biến mất hẳn. Hình bị bớt từng mảng theo một số ngẫu nhiên cố định của mảng.

◆ mask_center

vec3 njin::fx3d::mask_center {0.0f, 0.0f, 0.0f}

Khoét chỗ che (sphere masking), cho camera góc thứ ba: phần hình nằm giữa camera và mask_center (đơn vị thế giới 3D), trong một hình nón loe dần tới bán kính mask_radius ở mask_center, bị bỏ đi theo mẫu chấm, mép mờ dần, nên nhân vật sau tường vẫn thấy được.

Mặt đất dưới chân (thấp hơn mask_center quá 0,6 mask_radius) giữ nguyên. Bóng đổ không đổi. Đặt khi vẽ những gì có thể che (nhà, cây), tắt trước khi vẽ nhân vật. mask_radius bằng 0 là tắt.