Skip to content

v0.1.0-beta

Pre-release
Pre-release

Choose a tag to compare

@DerAndereDomenic DerAndereDomenic released this 20 Nov 12:26
· 340 commits to main since this release
49d8237

This update adds

  • TCP Server and Clients
  • Changed the structure of the core systems that the framework uses (Renderer, ShaderManager, etc.) that makes it possible to have multiple instances of these classes which can be used for multi-threaded rendering etc.
  • Adds headless rendering (on linux even without hidden window states, so no X-server is needed)
  • Worker Threads and Thread Pools
  • Command Line arguments
  • Fullscreen and other more advanced window options
  • More unit tests and more robustness in general by adding asserts

The full changelog:

[0.1.0-beta]

Added

  • Possibility to flip decoded jpeg images
  • Custom key codes
  • Methods to read and write structs from network buffers
  • Add python bindings for network utils
  • atcg::shader_directory() and atcg::resource_directory() to get absolute paths to shader and resources
  • ATCG_TARGET_DIR for each target that is built to get information about it's location
  • A path for atcg::ShaderManagerSystem can now be specified
  • Default imgui layout
  • Add Worker and WorkerPool for parallalized CPU computing
  • The framework can be installed via pip
  • Possiblity to index individual layers of a TextureArray
  • create method for Cubemaps from tensor data
  • Added support for unsigend data types in torch tensors
  • Applications can now be set to fullscreen via F11 or via window->toggleFullscreen()
  • Add Rendergraph and Renderpasses to implement more complicated rendering algorithms
  • Add unit tests for shader and shader manager
  • Add function to set window position
  • Add functions to change the decoration states of windows
  • Add atcg::getCommandLineArguments() to access command line arguments

Changed

  • Default behavior of JPEG encoder and decoder: now flip images
  • The caller of TCPClient::sendAndWait had to manually prepend the message size. This is now done automatically.
  • The callback functions of TCPServer now expect std::vector references instead of raw pointers.
  • Indices are now consistently handles as uint32_t, also for tensors.
  • Each Renderer now has it's own instance of a shader manager.
  • Each Renderer now has control over it's own context.
  • The documentation now uses a nicer theme and is separated into multiple sections.

Fixed

  • Fixed linking of imgui in headless mode by removing unnecessary libraries in linking stage
  • Fixed crash when using the JPEG modules without initializing the torch allocator
  • Channel size of RG texture format
  • isHDR() function for RG textures
  • GPU memcopy of float 3D textures
  • GPU memcopy of Texture arrays
  • Mark non-compute shader as such if a compute shader gets recompiled