Cách dựng một mặt nước (water3d_create()). Tiếp...
#include <njin_world3d.h>
Các thuộc tính Public | |
| f32 | level = 0.0f |
| Độ cao mặt nước yên, mét. | |
| vec2 | center {0.0f, 0.0f} |
| Tâm hồ trên mặt xz. | |
| vec2 | size {0.0f, 0.0f} |
| Kích thước hồ theo x và z, mét; {0, 0} là biển. | |
| water3d_wave | waves [water3d_wave_max] |
| Các con sóng. Mặc định ba sóng nhẹ cho mặt hồ có gió. | |
| i32 | wave_count = 3 |
| Số sóng dùng, 0..njin::water3d_wave_max. | |
| rgba | shallow_color {0.10f, 0.42f, 0.45f, 1.0f} |
| Màu chỗ nông. | |
| rgba | deep_color {0.02f, 0.09f, 0.16f, 1.0f} |
| Màu chỗ sâu. | |
| f32 | depth_fade = 6.0f |
| Sâu bấy nhiêu mét thì gần như là deep_color. | |
| f32 | clarity = 1.5f |
| Nông hơn bấy nhiêu mét thì nhìn xuyên thấy đáy. | |
| rgba | foam_color {0.95f, 0.97f, 1.0f, 1.0f} |
| Màu bọt. | |
| f32 | foam_width = 0.5f |
| Bọt ở bờ trong độ sâu này, mét. 0 là không có. | |
| f32 | crest_foam = 0.35f |
| Bọt trên đỉnh sóng cao, 0..1. | |
| f32 | ripples = 0.35f |
| Gợn lăn tăn nhỏ trên mặt sóng, 0..1. | |
| f32 | specular = 1.0f |
| Độ mạnh của nắng lấp lánh. | |
| f32 | shininess = 300.0f |
| Độ nhọn của nắng lấp lánh. | |
| terrain3d_handle | terrain {} |
| Địa hình làm đáy và bờ. | |
| f32 | detail = 1.0f |
| Độ dày lưới, nhân với mặc định. Lớn thì sóng mịn hơn ở xa, tốn hơn. | |
Cách dựng một mặt nước (water3d_create()).
size khác 0 là một hồ hình chữ nhật tâm center. size bằng 0 là biển trải tới chân trời: lưới đi theo camera, dày ở gần và thưa ở xa.
Màu nước theo độ sâu (từ shallow_color tới deep_color), trong suốt chỗ nông, có bọt ở bờ và trên đỉnh sóng. Mặt nước phản chiếu bầu trời (của draw_sky3d() nếu có trong lần vẽ, không thì theo màu sương và ánh sáng nền), nắng lấp lánh và nhận bóng đổ. Độ sâu và bờ tính theo terrain: không có địa hình thì nước coi như sâu đều và không có bờ.
| water3d_wave njin::water3d_desc::waves[water3d_wave_max] |
Các con sóng. Mặc định ba sóng nhẹ cho mặt hồ có gió.