-
-
Notifications
You must be signed in to change notification settings - Fork 180
Progress Reports
Michal Ziulek edited this page Mar 14, 2023
·
154 revisions
-
zopengl:
- Added support for OpenGL ES 2.0 (contributed by Chris Heyes)
- Added zopengl with support for OpenGL 3.3 (Core Profile)
- Added zsdl (WIP) - bindings for SDL2
- Added zflecs (WIP) - bindings for flecs ECS
- Added minimal gl sample application (SDL2 + OpenGL 3.3)
- Massive build system refactor, we now compile all packages only once and share artifacts between all sample apps, tests and benchmarks
- Improved and simplified all our build scripts, adapted to the latest Zig build API
-
zgui:
- Exposed
beginPopupContextItem()
(contributed by foxnne) - Exposed advanced primitive reserve/write API (contributed by Jack)
- Exposed
pushTextWrapPos()
andpopTextWrapPos()
(contributed by Aksel Hjerpbakk) - Exposed API for getting current index from
DrawList
(contributed by Jack) - Exposed API for getting white UV from atlas (contributed by Jack)
-
zgui
can now be compiled as a shared library (contributed by Casey Banner)
- Exposed
-
zmath:
- Added
prefer_determinism
build option - Fixed
zmath.inverse()
which could return zero matrix in some cases (contributed by Jack)
- Added
-
zbullet:
- Added
Body.setCollisionFlags()
(contributed by Andreas Arvidsson) - Added missing friction functions:
setRollingFriction()
,setSpinningFriction()
andsetAnisotropicFriction()
(contributed by Andreas Arvidsson)
- Added
- zstbi:
-
zmesh:
- Updated meshoptimizer to the latest version (contributed by Giuseppe Modarelli)
- Exposed
simplify()
andsimplifySloppy()
(contributed by Giuseppe Modarelli)
-
bindless:
- Demo now uses
zmesh.opt.simplifySloppy()
to create LODs (contributed by Giuseppe Modarelli) - Demo now uses .DDS textures with pre-generated mipmaps (contributed by Giuseppe Modarelli)
- Demo now uses
-
zd3d12:
- Added support for decoding .DDS textures (contributed by Giuseppe Modarelli)
- Released zphysics v0.0.4
- Released Jolt Physics C v0.0.4
- Modified D3D12 samples so that it is now possible to run and build them also on Linux (Wine + VKD3D-Proton 2.8)
- Re-wrote minimal d3d12 sample application. It now has no dependencies except Win32/D3D12 bindings. It can be run and developed also on Linux.
- (Re-)Added audio playback test sample application (DirectX 12, WASAPI)
- (Re-)Added audio experiments sample application (DirectX 12, XAudio2)
- (Re-)Added directml convolution test sample application (DirectX 12, DirectML)
- (Re-)Added zxaudio2 helper library for XAudio2
-
zaudio:
- Added
AudioBuffer
which is a higher-levelDataSource
and can be used to create sounds from memory
- Added
-
zgui:
- Added
getItemRectMax()
andgetItemRectMin()
functions (contributed by Yusuf Bera Ertan) - Updated 'dear imgui' to the latest version (1.89.2)
- Added
addInputCharactersUTF8()
+ some minor fixes (contributed by Aksel Hjerpbakk) - Exposed
isMouseDoubleClicked()
,setKeyboardFocusHere()
,beginPopupContextWindow()
andsetItemDefaultFocus()
(contributed by Aksel Hjerpbakk) - Exposed
setClipboardText()
andgetClipboardText()
(contributed by Yusuf Bera Ertan)
- Added
-
zwin32:
- Updated binaries to the latest versions (D3D12Core, XAudio2, DirectML, dxc compiler etc.)
- Added latest interfaces to
d3d12.zig
(IDevice11
,IGraphicsCommandList9
, etc.) - Updated bindings to use
packed struct(UINT)
for 'flag types' (instead of justUINT
) - Code re-org, moved
kernel32
,user32
, etc. to a single namespace (w32.zig
). - Added
dxc
(HLSL shader compiler) binaries for Linux
-
zd3d12:
- Upload heap capacity is now a build option (contributed by Giuseppe Modarelli)
- Added
IDXGIAdapter3
todxgi.zig
(contributed by Giuseppe Modarelli)
-
zstbi:
- Added support for image writing and resizing (contributed by Yusuf Bera Ertan)
- zmath:
-
zgpu:
- Significantly reduced Dawn (WebGPU) binaries, for example,
dawn.lib
went from 123 MB to 39 MB on Windows - Updated Dawn binaries, they are now build from the latest source code as of 2022.11.04
- Significantly reduced Dawn (WebGPU) binaries, for example,
-
zphysics:
- Released JoltC v0.0.2 C bindings for Jolt Physics C++, we have basically re-written our initial implementation, it is now safer, more readable and there is less code
- A lot of work has been done on Zig bindings for Jolt Physics C++, zphysics v0.0.2 will be released soon
- Released small physics demo as a POC (Zig + Jolt Physics), see here and here
-
zaudio:
- Version 0.9.2 has been released with some API cleanups and simplifications
- miniaudio has been updated to the latest version
-
zglfw:
- Version 0.5.2 has been released with more complete and simpler API
-
zgui:
- Updated dear imgui and implot to the latest versions
- Exposed modal popup API
- Exposed viewport fields
- Exposed Table API
- Exposed color functions
- Exposed API for managing custom
DrawList
s - Thanks to Jack and Pyrolistical for contributions
- DirectX 12 libraries and demos have been finally ported to Zig stage3 compiler:
- This required a significant re-write of our Win32 bindings (COM interfaces in particular)
- Raytracing demo is back
- Mesh shader demo is back
- Rasterization in slow motion demo is back
- Bindless demo is back
-
zmath:
- Version 0.9.5 has been released with minor fixes and a new
util
module (contributed by Anders Elfgren)
- Version 0.9.5 has been released with minor fixes and a new
-
zgpu v0.9 has been released:
- This release provides stable API (only minor breaking changes are possible from now on)
- Dawn binaries are now fetched as a submodule using Git LFS (no more
curl
dependency) - Small fixes and API improvements
-
zgui v0.9 has been released:
- This release provides stable API (only minor breaking changes are possible from now on)
- Added DrawList API
- Added Menus, Tabs and Popups
- Plot API has been refactored and now exposes much more features
- Small fixes and API improvements
-
zaudio v0.9 has been released:
- This release provides stable API (only minor breaking changes are possible from now on)
- Removed translate-c dependency
- Small fixes and API improvements
-
zmath v0.9 has been released:
- This release provides stable API (only minor breaking changes are possible from now on)
- Removed all workarounds for compiler bugs
- Added
qidentity()
- Small fixes and API improvements
-
zstbi v0.9 has been released:
- This release provides stable API (only minor breaking changes are possible from now on)
- Completely redesigned API
-
zmesh v0.9 has been released:
- This release provides stable API (only minor breaking changes are possible from now on)
- Small fixes and API improvements
- Added zjobs v0.1 - generic job queue implementation (contributed by Garett Bass)
- Added instanced pills (wgpu) sample application (contributed by Pyrolistical)
- Added layers (wgpu) sample application (contributed by Pyrolistical)
- gui test (wgpu) has been extended to test DrawList API and Plot API
- zglfw exposes more functionality now
- Improved root
build.zig
- Jolt Physics C bindings expose much more functionality now
- Added system-sdk - minimal package that contains all system dependencies for Windows, macOS and Linux
- Removed all symlinks from the project
- All cross-platform demos and libs are now compatible with Zig stage3 compiler
-
zgui
has been extracted fromzgpu
and is now a separate lib -
zstbi
has been extracted fromzgpu
and is now a separate lib - All submodules have been removed from the project (for easier vendoring)
- Added
zglfw
- simple and lightweight GLFW 3.3.8 bindings with no translate-c dependency (functional but not yet complete) - Added JoltC - C bindings for excellent Jolt Physics (still WIP)
- Added text editing widgets to
zgui
-
Connor Rowland added ImPlot support to
zgui
(thanks!) -
Chris Heyes helped with
JoltC
(thanks!)
-
zgpu v0.2 has been released:
- Added very lightweight, single file, zero-overhead WebGPU bindings
- Added zgui - bindings for dear imgui library with nice and easy to use interface
- Implemented gui test (wgpu) sample application
-
zaudio v0.2 has been released:
- Node graphs
- Audio filters (low-pass, high-pass, notch, peak, low shelf, high shelf, delay)
- Data sources (waveform generators, noise generators)
- API cleanups and improvements
- Implemented audio experiments (wgpu) sample application (video)
- Implemented bullet physics test (wgpu) demo which features fast multi-threaded physics and cross-platform graphics
- Released cbullet v0.2 and zbullet v0.2
- Released zaudio v0.1 - Zig bindings for great miniaudio library
- Added audio experiments (wgpu) demo - cross-platform audio, graphics, audio filters, zmath FFT, etc. (WIP)
- Implemented zmath benchmarks
- Added zgui - Zig friendly bindings for imgui library (WIP)
- Updated dependencies - Tracy 0.8.2, imgui 1.88, latest mach-glfw and mach-gpu
- Added few helper functions to zmath for better ergonomics
-
orthographicOffCenterLh()
andorthographicOffCenterRh()
contributed by Michaël Larouche
-
- More Win32 bindings contributed by Chris Heyes
- Implemented physically based rendering (wgpu) demo
- Implemented textured quad (wgpu) demo
- Added zpool library - generic pool & handle implementation (contributed by Garett Bass)
- Cleanups, improvements and new features in zgpu:
- Completed our GPU mipmap generator
- We now use zpool for resource pools and handles (contributed by Garett Bass)
- Simplified structure of the package (single folder)
- Added
zgpu.util
namespace which contains helper functions
- Refactored our build system, build options and package dependencies handling
- Added few helper functions to zmath for better ergonomics
- zbullet now uses multi-threading by default
- Added bullet physics test (wgpu) demo which will showcase fast multi-threaded physics and cross-platform graphics (WIP)
- zmesh got full bindings to cgltf library (zcgltf)
- zmesh.Shape can now use 16-bit or 32-bit indices (set via build option)
- zig-gamedev got new, fully cross-platform renderer based on WebGPU (uses mach/gpu bindings and its great build script).
- Added zgpu, our helper library for working with WebGPU. Currently it provides:
- handle-based resource pools
- uniform buffer pool for efficient CPU -> GPU transfers
- GPU-based mipmap generator (in the works)
- Added triangle (wgpu) sample application (works on Windows, Linux and MacOS).
- Added procedural mesh (wgpu) sample application (works on Windows, Linux and MacOS).
- zmesh v0.2 released (cross-platform and standalone).
- ztracy got fibers support (contributed by Brian Gold).
- zmath v0.3 released (cross-platform and standalone)
- zbullet v0.1 released (cross-platform and standalone)
- zmesh v0.1 released (cross-platform and standalone)
- znoise v0.1 released (cross-platform and standalone)
- zenet released (cross-platform and standalone)
- ztracy now exposes full Tracy profiler C API and is easier to use (cross-platform and standalone)
- Added procedural mesh sample application
- Added minimal d3d12 sample application
- Added network_test sample application
- Completed intro 6 sample application
- Added top level 'test step',
zig build test
runs all project tests
-
zmath 0.3 (wip)
- Added Fast Fourier Transform functions - fft(), ifft() + extensive test coverage
- Added few missing matrix functions (contributed by Chris Heyes)
-
zbullet 0.1 (wip)
- Builds on top of our cbullet C API and provides Zig bindings for Bullet Physics SDK
- Added intro 6 (wip) which shows how to use it
- Uses Zig General Purpose Allocator for all memory allocations inside Bullet
- All libraries have been divided into standalone packages (it is now much easier for the users to take only selected components)
- Added short READMEs for all libraries
- Added top level build script
-
zig build
builds all sample applications and places them inzig-out/bin
folder -
zig build <sample_name>
builds sample applications named <sample_name> - Removed batch files which are not needed anymore
-
- Added a lot of D3D11 bindings (contributed by Chris Heyes)
- Cleaned up error handling code (contributed by Chris Heyes)
- Added visualization to audio experiments sample application (still wip)
- Direct2D and DirectWrite is now an optional dependency - first step for Linux compatibility (Wine)
- 174 commits (1,127 in total)
-
zmath lib 0.2 is ready
- Much improved API
- Support for common matrix operations
- Support for common quaternion operations
- More fast SIMD trigonometry functions (atan, atan2, asin, acos)
- Support for vector width 16 (4 x SIMDx4, 2 x SIMDx8, SIMDx16)
- Implemented 6 intro applications for people wanting to learn how to use the framework
- Implemented rasterization sample application
- 154 commits (943 in total)
- Implemented mesh shader test
- Implemented audio lib with support for playing audio streams and sound effects (can decode most audio formats *.mp3, *.flac, *.ogg, *.wav and more)
- Working on audio experiments sample application - currently it plays music (with reverb on/off) and sound effects - next step is to add visualization and custom DSP
- Working on high-performance, SIMD math library called zmath (fully cross-platform and standalone)
- Added some missing definitions in d3d12.zig (contributed by Giuseppe Modarelli)
- 171 commits (773 in total)
- Implemented cbullet - C API for Bullet Physics SDK
- Implemented physics demo
- Added XAudio2 API bindings
- Graphics lib will now select highest performance GPU during initialization (contributed by Giuseppe Modarelli)
- zig-gamedev v0.2.0 with above changes has been released - source code and prebuilt binaries are here
- 205 commits (571 in total)
- First public release (zig-gamedev-bin-v0.1.0.7z)
- 8 sample applications (pbr, raytracing, low-level audio playback using WASAPI, DirectML convolution, vector graphics and more)
- 4 libraries (graphics lib, vectormath lib, tracy lib, pix lib)
- 366 commits
- Working on the project in private repo
- API bindings for D3D12, DirectML, Direct2D, DirectWrite, WASAPI done by hand
- Building framework and demo applications from scratch