Cổng debug cho njin_inspector: số liệu, entity, watches, log, điều khiển thời gian, gizmo.
Tiếp...
|
| bool | njin::debug_server_start (context &ctx, const debug_server_desc &desc={}) |
| | Mở cổng debug để chương trình njin_inspector (một process riêng) kết nối vào: FPS, biểu đồ thời gian frame, danh sách entity và component, khung collider vẽ trên bản đồ, log, giá trị theo dõi, và điều khiển thời gian (dừng, chạy từng frame, tua chậm) và quay cửa sổ game thành file GIF (xem Quay màn hình).
|
| void | njin::debug_server_stop (context &ctx) |
| | Đóng cổng debug và ngắt inspector đang kết nối.
|
| bool | njin::debug_server_connected (const context &ctx) |
| | Có inspector nào đang kết nối không.
|
| void | njin::debug_watch (context &ctx, const char *name, json_value value) |
| | Đặt một giá trị để xem trực tiếp trong bảng "Watches" của inspector: vận tốc nhân vật, trạng thái AI, số quái còn sống.
|
| void | njin::debug_watch (context &ctx, const char *name, vec2 value) |
| | Như debug_watch() cho một vec2.
|
| void | njin::debug_component (context &ctx, entt::id_type type, const char *name, debug_component_fn fn, std::size_t bytes=0) |
| | Đăng ký cách hiện một loại component.
|
| template<class T, class Fn> |
| void | njin::debug_component (context &ctx, const char *name, Fn fn) |
| | Đăng ký cách hiện component T của game bằng một hàm nhận const T &.
|
| render_info | njin::render_info_get (const context &ctx) |
| | Số liệu vẽ của frame vừa rồi.
|
|
Hình vẽ để debug: đường, mũi tên, khung, nhãn chữ, trong thế giới 2D hoặc 3D.
Gọi được ở mọi phase (cả phase_update và phase_fixed_update), không cần nằm trong lúc vẽ: engine gom lại và vẽ đè lên trên cùng của thế giới (không bị hình nào che), đường mảnh 1 pixel, chữ cỡ cố định trên màn hình. Gizmo 2D vẽ qua camera 2D; gizmo 3D vẽ ở end_3d() qua camera của lần vẽ 3D đó (không có begin_3d() thì không hiện). Khi njin_inspector đang nối, gizmo cũng hiện trong ô World của nó.
duration là số giây gizmo còn hiện: 0 (mặc định) là chỉ frame này, nên gọi lại mỗi frame; lớn hơn để giữ lại một vết (đường đạn, điểm va chạm).
void gizmo_text(context &ctx, vec2 pos, const char *text, rgba color=colors::white, f32 duration=0.0f) Nhãn chữ tại một điểm của thế giới 2D, cỡ cố định trên màn hình.
void gizmo_arrow(context &ctx, vec2 from, vec2 to, rgba color=colors::green, f32 duration=0.0f) Mũi tên 2D từ from tới to.
void gizmo_box3d(context &ctx, vec3 center, vec3 size, rgba color=colors::green, f32 duration=0.0f) Khung hộp 3D, các cạnh song song với trục.
void gizmo_line3d(context &ctx, vec3 a, vec3 b, rgba color=colors::green, f32 duration=0.0f) Đoạn thẳng 3D.
constexpr rgba yellow Vàng. Definition _math.h:239
constexpr rgba red Đỏ. Definition _math.h:236
Vector 2 chiều. Dùng cho vị trí, kích thước, độ dời. Definition _types.h:39
|
| void | njin::gizmo_line (context &ctx, vec2 a, vec2 b, rgba color=colors::green, f32 duration=0.0f) |
| | Đoạn thẳng 2D.
|
| void | njin::gizmo_arrow (context &ctx, vec2 from, vec2 to, rgba color=colors::green, f32 duration=0.0f) |
| | Mũi tên 2D từ from tới to.
|
| void | njin::gizmo_rect (context &ctx, rect r, rgba color=colors::green, f32 duration=0.0f) |
| | Khung hình chữ nhật 2D.
|
| void | njin::gizmo_circle (context &ctx, vec2 center, f32 radius, rgba color=colors::green, f32 duration=0.0f) |
| | Đường tròn 2D.
|
| void | njin::gizmo_point (context &ctx, vec2 p, rgba color=colors::green, f32 duration=0.0f) |
| | Một điểm 2D: dấu chữ thập nhỏ, cỡ cố định trên màn hình.
|
| void | njin::gizmo_text (context &ctx, vec2 pos, const char *text, rgba color=colors::white, f32 duration=0.0f) |
| | Nhãn chữ tại một điểm của thế giới 2D, cỡ cố định trên màn hình.
|
| void | njin::gizmo_line3d (context &ctx, vec3 a, vec3 b, rgba color=colors::green, f32 duration=0.0f) |
| | Đoạn thẳng 3D.
|
| void | njin::gizmo_arrow3d (context &ctx, vec3 from, vec3 to, rgba color=colors::green, f32 duration=0.0f) |
| | Mũi tên 3D từ from tới to.
|
| void | njin::gizmo_box3d (context &ctx, vec3 center, vec3 size, rgba color=colors::green, f32 duration=0.0f) |
| | Khung hộp 3D, các cạnh song song với trục.
|
| void | njin::gizmo_sphere3d (context &ctx, vec3 center, f32 radius, rgba color=colors::green, f32 duration=0.0f) |
| | Khung cầu 3D: ba đường tròn lớn.
|
| void | njin::gizmo_axes3d (context &ctx, vec3 pos, f32 size=1.0f, f32 duration=0.0f) |
| | Ba trục tọa độ tại pos: x đỏ, y xanh lá, z xanh dương.
|
| void | njin::gizmo_point3d (context &ctx, vec3 p, rgba color=colors::green, f32 duration=0.0f) |
| | Một điểm 3D: dấu chữ thập nhỏ, cỡ cố định trên màn hình.
|
| void | njin::gizmo_text3d (context &ctx, vec3 pos, const char *text, rgba color=colors::white, f32 duration=0.0f) |
| | Nhãn chữ gắn vào một điểm 3D, cỡ cố định trên màn hình.
|
| void | njin::gizmos_set_visible (context &ctx, bool visible) |
| | Bật hay tắt việc vẽ gizmo.
|
| bool | njin::gizmos_visible (const context &ctx) |
| | Gizmo có đang được vẽ không.
|
Cổng debug cho njin_inspector: số liệu, entity, watches, log, điều khiển thời gian, gizmo.
Mở cổng debug để chương trình njin_inspector (một process riêng) kết nối vào: FPS, biểu đồ thời gian frame, danh sách entity và component, khung collider vẽ trên bản đồ, log, giá trị theo dõi, và điều khiển thời gian (dừng, chạy từng frame, tua chậm) và quay cửa sổ game thành file GIF (xem Quay màn hình).
Game không vẽ gì thêm: mọi giao diện debug nằm ở cửa sổ inspector. Chỉ nghe trên 127.0.0.1, nên máy khác không kết nối được; không có inspector nào kết nối thì chi phí gần như bằng không. Không bao giờ chặn game: inspector chậm thì dữ liệu bị bỏ bớt chứ game không đứng.
Thường chỉ bật trong bản debug:
#ifndef NDEBUG
#endif
bool debug_server_start(context &ctx, const debug_server_desc &desc={})
Mở cổng debug để chương trình njin_inspector (một process riêng) kết nối vào: FPS,...
Log: khi một inspector đang kết nối, log đi sang inspector và không in ra console của game nữa; chưa có inspector (hoặc nó đã ngắt) thì log vẫn ra console như thường. Các dòng đã ra trước đó, kể cả lúc mở cửa sổ (tối đa 2000 dòng, chỉ tính từ create()), được gửi cho inspector ngay khi nó kết nối.
- Các tham số
-
| ctx | Context của engine. |
| desc | Cổng và nhịp gửi. |
- Giá trị trả về
- false nếu cổng đang bị chiếm (ví dụ một bản game khác đang chạy).