diff --git a/bindings/cs/bgfx.cs b/bindings/cs/bgfx.cs index 7d6879e69..997570216 100644 --- a/bindings/cs/bgfx.cs +++ b/bindings/cs/bgfx.cs @@ -3446,6 +3446,13 @@ public static partial class bgfx [DllImport(DllName, EntryPoint="bgfx_set_view_order", CallingConvention = CallingConvention.Cdecl)] public static extern unsafe void set_view_order(ushort _id, ushort _num, ushort* _order); + /// + /// Reset all view settings to default. + /// + /// + [DllImport(DllName, EntryPoint="bgfx_reset_view", CallingConvention = CallingConvention.Cdecl)] + public static extern unsafe void reset_view(ushort _id); + /// /// Begin submitting draw calls from thread. /// diff --git a/bindings/d/funcs.d b/bindings/d/funcs.d index e6b92b888..b1bdc8f72 100644 --- a/bindings/d/funcs.d +++ b/bindings/d/funcs.d @@ -1205,6 +1205,11 @@ version(BindBgfx_Static) */ void bgfx_set_view_order(bgfx_view_id_t _id, ushort _num, const(bgfx_view_id_t)* _order); + /** + * Reset all view settings to default. + */ + void bgfx_reset_view(bgfx_view_id_t _id); + /** * Begin submitting draw calls from thread. * Params: @@ -3377,6 +3382,12 @@ else alias da_bgfx_set_view_order = void function(bgfx_view_id_t _id, ushort _num, const(bgfx_view_id_t)* _order); da_bgfx_set_view_order bgfx_set_view_order; + /** + * Reset all view settings to default. + */ + alias da_bgfx_reset_view = void function(bgfx_view_id_t _id); + da_bgfx_reset_view bgfx_reset_view; + /** * Begin submitting draw calls from thread. * Params: diff --git a/bindings/d/types.d b/bindings/d/types.d index 2bbd1bec3..01b48107d 100644 --- a/bindings/d/types.d +++ b/bindings/d/types.d @@ -10,7 +10,7 @@ public import core.stdc.stdarg : va_list; extern(C) @nogc nothrow: -enum uint BGFX_API_VERSION = 105; +enum uint BGFX_API_VERSION = 106; alias bgfx_view_id_t = ushort; diff --git a/include/bgfx/c99/bgfx.h b/include/bgfx/c99/bgfx.h index 100b6ffa9..638608a75 100644 --- a/include/bgfx/c99/bgfx.h +++ b/include/bgfx/c99/bgfx.h @@ -2276,6 +2276,14 @@ BGFX_C_API void bgfx_set_view_transform(bgfx_view_id_t _id, const void* _view, c */ BGFX_C_API void bgfx_set_view_order(bgfx_view_id_t _id, uint16_t _num, const bgfx_view_id_t* _order); +/** + * Reset all view settings to default. + * + * @param[in] _id + * + */ +BGFX_C_API void bgfx_reset_view(bgfx_view_id_t _id); + /** * Begin submitting draw calls from thread. * @@ -3361,6 +3369,7 @@ typedef enum bgfx_function_id BGFX_FUNCTION_ID_SET_VIEW_FRAME_BUFFER, BGFX_FUNCTION_ID_SET_VIEW_TRANSFORM, BGFX_FUNCTION_ID_SET_VIEW_ORDER, + BGFX_FUNCTION_ID_RESET_VIEW, BGFX_FUNCTION_ID_ENCODER_BEGIN, BGFX_FUNCTION_ID_ENCODER_END, BGFX_FUNCTION_ID_ENCODER_SET_MARKER, @@ -3553,6 +3562,7 @@ struct bgfx_interface_vtbl void (*set_view_frame_buffer)(bgfx_view_id_t _id, bgfx_frame_buffer_handle_t _handle); void (*set_view_transform)(bgfx_view_id_t _id, const void* _view, const void* _proj); void (*set_view_order)(bgfx_view_id_t _id, uint16_t _num, const bgfx_view_id_t* _order); + void (*reset_view)(bgfx_view_id_t _id); bgfx_encoder_t* (*encoder_begin)(bool _forThread); void (*encoder_end)(bgfx_encoder_t* _encoder); void (*encoder_set_marker)(bgfx_encoder_t* _this, const char* _marker); diff --git a/include/bgfx/defines.h b/include/bgfx/defines.h index 2d157181a..31f061fd4 100644 --- a/include/bgfx/defines.h +++ b/include/bgfx/defines.h @@ -15,7 +15,7 @@ #ifndef BGFX_DEFINES_H_HEADER_GUARD #define BGFX_DEFINES_H_HEADER_GUARD -#define BGFX_API_VERSION UINT32_C(105) +#define BGFX_API_VERSION UINT32_C(106) /** * Color RGB/alpha/depth write. When it's not specified write will be disabled. diff --git a/scripts/bgfx.idl b/scripts/bgfx.idl index f0f56341b..5461d4066 100644 --- a/scripts/bgfx.idl +++ b/scripts/bgfx.idl @@ -1,7 +1,7 @@ -- vim: syntax=lua -- bgfx interface -version(105) +version(106) typedef "bool" typedef "char" @@ -2076,6 +2076,11 @@ func.setViewOrder --- to default state. { default = NULL } +--- Reset all view settings to default. +func.resetView + "void" + .id "ViewId" -- _id View id. + --- Begin submitting draw calls from thread. func.begin { cname = "encoder_begin" } "Encoder*" --- Encoder. diff --git a/src/bgfx.idl.inl b/src/bgfx.idl.inl index 91512d089..4aa0ea12c 100644 --- a/src/bgfx.idl.inl +++ b/src/bgfx.idl.inl @@ -671,6 +671,11 @@ BGFX_C_API void bgfx_set_view_order(bgfx_view_id_t _id, uint16_t _num, const bgf bgfx::setViewOrder((bgfx::ViewId)_id, _num, (const bgfx::ViewId*)_order); } +BGFX_C_API void bgfx_reset_view(bgfx_view_id_t _id) +{ + bgfx::resetView((bgfx::ViewId)_id); +} + BGFX_C_API bgfx_encoder_t* bgfx_encoder_begin(bool _forThread) { return (bgfx_encoder_t*)bgfx::begin(_forThread); @@ -1310,6 +1315,7 @@ BGFX_C_API bgfx_interface_vtbl_t* bgfx_get_interface(uint32_t _version) bgfx_set_view_frame_buffer, bgfx_set_view_transform, bgfx_set_view_order, + bgfx_reset_view, bgfx_encoder_begin, bgfx_encoder_end, bgfx_encoder_set_marker,