Ánh sáng chung của cảnh 3D: mặt trời (ánh sáng hướng), ánh sáng nền, bóng đổ của mặt trời và sương mù. Tiếp...
#include <njin_3d.h>
Các thuộc tính Public | |
| vec3 | direction {-0.4f, -1.0f, -0.3f} |
| Hướng nắng chiếu tới (không cần độ dài 1). | |
| rgba | color {1.0f, 1.0f, 1.0f, 1.0f} |
| Màu và cường độ của nắng. Đen là tắt mặt trời. | |
| rgba | ambient {0.35f, 0.35f, 0.4f, 1.0f} |
| Ánh sáng nền, chiếu đều mọi mặt. | |
| bool | shadows = false |
| Mặt trời đổ bóng. | |
| f32 | shadow_range = 30.0f |
| Bóng được tính trong một hình hộp cạnh 2 * shadow_range quanh chỗ camera nhìn. | |
| i32 | shadow_size = 2048 |
| Cạnh của ảnh bóng, pixel. Lớn thì sắc hơn, tốn bộ nhớ hơn. | |
| f32 | shadow_softness = 1.0f |
| Độ mềm mép bóng, tính bằng pixel của ảnh bóng. | |
| i32 | source_shadow_size = 512 |
| Cạnh ảnh bóng của đèn điểm và đèn nón có light3d_source::shadows, pixel, cho mỗi mặt (đèn điểm có 6 mặt, đèn nón 1). | |
| rgba | fog_color {0.6f, 0.65f, 0.75f, 1.0f} |
| Màu sương mù, thường bằng màu nền. | |
| f32 | fog_density = 0.0f |
| Mật độ sương theo khoảng cách tới camera: độ trong còn exp(-(density * d)^2). | |
Ánh sáng chung của cảnh 3D: mặt trời (ánh sáng hướng), ánh sáng nền, bóng đổ của mặt trời và sương mù.
Đèn điểm và đèn nón thêm bằng light3d_add().
Mỗi mặt sáng theo góc giữa pháp tuyến của nó và hướng tới đèn (Lambert), cộng điểm sáng bóng Blinn-Phong theo njin::material3d, cộng ambient để mặt khuất không đen hẳn.
| bool njin::light3d::shadows = false |
Mặt trời đổ bóng.
Mọi hình đục (màu có a bằng 1) và model đổ bóng lên nhau, trừ khi njin::material3d tắt cast_shadows.
| f32 njin::light3d::shadow_range = 30.0f |
Bóng được tính trong một hình hộp cạnh 2 * shadow_range quanh chỗ camera nhìn.
Nhỏ thì bóng sắc hơn nhưng vật ở xa không có bóng.
| f32 njin::light3d::shadow_softness = 1.0f |
Độ mềm mép bóng, tính bằng pixel của ảnh bóng.
0 là sắc.
| f32 njin::light3d::fog_density = 0.0f |
Mật độ sương theo khoảng cách tới camera: độ trong còn exp(-(density * d)^2).
0 là không sương.