Releases: sammyfreg/netImgui
Releases · sammyfreg/netImgui
Release of NetImgui v1.12.1
Version 1.12.1
(2024/12/10)
- API Changes
- None
- Various small changes and fixes
- Fixed a Copy/paste and a Disconnect crashFor more details about NetImgui v1.12, please see this
Full Changelog: v1.11.0...v1.12.1
Release of NetImgui v1.12
Note
Thsi version contains a crash on Copy/Paste and on Disconnect request, please use version 1.12.1.
Version 1.12
(2024/12/08)
- API Changes
- None
- Backend change
- Networking protocol has been reworked
- If you are using our own networking layer, you will need to support changes made to 'DataReceive' and 'DataSend' and the addition of 'DataReceivePending'
- This was done to drastically improve performances by using non-blocking sockets (saw boost from 8fps to 30fps on programs running at 30fps)
- For more details, please look at the changes done to NetImgui_NetworkWin32.cpp or NetImgui_NetworkUE4.cpp
- Note: The Posix network code has not been updated to new protocol yet, only Windows and UE4 have been done
- Various small changes and fixes
- Tested Dear ImGui versions up to 1.91.5 and updated the NetImgui Server to it (docking branch).
Full Changelog: v1.11.0...v1.12.0
Release of NetImgui v1.11
Version 1.11
(2024/05/26)
- API Changes
- None
- Added Connection 'Take Over' support
- When a NetImgui Client is already connected to a NetImgui Server, user of a second instance of a NetImgui Server now have the option of Taking over the connection.
- This is useful when the Client Config on a NetImgui Server is set to Auto Connect and a user on a second PC wish to still connect to the client.
- Users can enable the option Block TakerOver in their Client Config to prevent this possibility.
- Various small changes and fixes
- Tested Dear ImGui versions up to 1.90.6 and updated the NetImgui Server to it (docking branch).
What's Changed
- Dev pull for Version 1.11 Release by @sammyfreg in #58
Full Changelog: v1.10.0...v1.11.0
Release of NetImgui v1.10
Version 1.10
(2023/12/30)
- API Changes
- ConnectToApp() and ConnectFromApp() functions now accept a callback to be used by the NetImgui Server when wanting to update the font to a specific DPI scale.
- Can be left untouched, with null used by default.
- Without a callback, we apply the text scaling to ImGuiIO.FontGlobalScale instead of requesting the generation of a new font with increased pixel size.
- Using ImGuiIO.FontGlobalScale gives a blurier text result than recreating the font with the exact DPI needed.
- See SampleFontDPI for more info.
- SendDataTexture() now support a new texture format kTexFmtCustom.
- It requires that the dataSize parameter is specified since we can't deduce it anymore (but not used for other formats)
- It allows user to send a texture command with custom data that also needs to be added to NetImguiServer codebase.
- This could be used for movie streaming, etc...
- See SampleTexture for more info.
- ConnectToApp() and ConnectFromApp() functions now accept a callback to be used by the NetImgui Server when wanting to update the font to a specific DPI scale.
- Upgraded Dear ImGui support to 1.90
- Added monitor DPI support
- The Server now scale the text up on a high resolution monitor, so it can still be read
- The Server font atlas is regenerated with a higher pixel size to match the resolution
- The Client connected will be asked to regenerate their font atlas if they provided a callback when connecting
- When this callback is received, the client codebase should regenerate the font atlas using the provided scale
- When no callback has been assigned, the client automatically relies on ImGuiIO.FontGlobalScale when drawing (blurier results)
- See SampleFontDPI for more info.
- Added Clipboard support
- Can now seamlessly use text clipboard between Client and Server!
- Text copied on the Server PC is now sent over to the NetImgui Clients and can be pasted inside their Dear ImGui content
- Text copied inside the Client's Dear ImGui content is now received by the Server PC and can be used on it
- Shared Client configs
- When adding a Client configuration on the NetImgui Server application, the property Shared can now be specified
- When enabled, it will save the config in a User Directory instead of the current Working Directory
- This means that user can have NetImgui Server applications in various locations, but they can all still share the same Client Configs.
- Note: Requires that the function HAL_GetUserSettingFolder() is implemented in the NetImgui Server codebase. It has been done for Windows.
- Various small changes and fixes
- When the NetImgui Server config file netImgui.cfg is detected readonly, now tries to create a second one. This should help if user submit the default config file to perforce but still want to add new Clients.
- Quickly typed text was dropping characters when received by Client
- DirectX textures error when quickly recreating them
Release of NetImgui v1.9
Release of NetImgui v1.8.1
- Updated missing Api number update in api file
- Support for new Dear ImGui input event architecture
- Various small changes and fixes
Version 1.8.1
(2022/07/18)
- API Changes
- None
- Dear ImGui 1.87 input event support
- Input handling refactored to handle new Dear ImGui input event system (thanks to @lemantisee)
- Added gamepad support
- Compatibility tests
- Now compile simple compatibility app for each Dear ImGui version supported
- Allows to make sure the NetImgui Server works properly against any Dear ImGui version
- Other Changes
- 32bits support bugs fix in client code
- NetImgui server popup now centered on main window
- Some OpenGL fixes
- Visual Studio 2022 LLVM support fix
Release of NetImgui v1.8
- Support for new Dear ImGui input event architecture
- Various small changes and fixes
Version 1.8
(2022/07/18)
- API Changes
- None
- Dear ImGui 1.87 input event support
- Input handling refactored to handle new Dear ImGui input event system (thanks to @lemantisee)
- Added gamepad support
- Compatibility tests
- Now compile simple compatibility app for each Dear ImGui version supported
- Allows to make sure the NetImgui Server works properly against any Dear ImGui version
- Other Changes
- 32bits support bugs fix in client code
- NetImgui server popup now centered on main window
- Some OpenGL fixes
- Visual Studio 2022 LLVM support fix
Release of NetImgui v1.7.5
Release of NetImgui v1.7.4
Note: Please use release v1.7.5.
(Contains a memory leak fix on the NetImguiServer application)
Description
A few bug fixes, to resolve some out of sync issue when compression active.
Version 1.7.4
(2022/01/30)
- API Changes
- Removed the
bWait
parameter fromShutdown()
- Always wait for Shutdown completion before returning now
- This prevents multithread data release issues
- Added a
NETIMGUI_API
define prefix to functions exported inNetImgui_Api.h
- Similar to
IMGUI_API
, allows library user to control dll import/export - Takes the same value as
IMGUI_API
by default
- Similar to
- Removed the
- Bug fixes
- Compression feature causing some out of sync issue with NetImgui Server
- 32bits index support crash
Release of NetImgui v1.7
New
-
Data compression to greatly reduce bandwidth.
- Can reduce the bandwidth by 100x+ with low overhead !
-
Visual Studio 2021 support.
-
NetImgui Server OpenGL3 support
Version 1.7
(2022/01/10)
- API Changes
- Added
SetCompressionMode(...)
/GetCompressionMode()
, allow library user to manage the data compression feature- By default, Client relies on Server Setting
- Added
- Data Compressions Support
- Drawing data generated by the Client can now be compressed before being sent to Server
- Greatly reduce the bandwidth between Client/Server at a negligible cost on the Client
- Using Delta Compression. The draw data usually vary little from previous frame. Sending only the changed bytes produce great results at low overhead
- Highly dynamic UI content lower improvements
- A new sample (SampleCompression) demonstrate the use of data compression and its metrics
- At 30 Fps, data rate send from client goes from ~ 3400 KB/s to ~ 22 KB/s (~ 160x improvement !)
- Since it depends on static content, moving around a Window reduce the benefits
- Drawing data generated by the Client can now be compressed before being sent to Server
- Other Changes
- Added OpenGL3 support to NetImgui Server
- Still DirectX11 by default
- OpenGL3 support helps with the Server Application port to non Windows OS
- To enable, set
HAL_API_PLATFORM_GLFW_GL3
define to 1 andHAL_API_PLATFORM_WIN32_DX11
to 0
- Added support for Visual Studio 2021
- Support up to Dear ImGui 1.86 has been tested
- Added OpenGL3 support to NetImgui Server