diff options
| author | Andre Weissflog <floooh@gmail.com> | 2025-10-04 15:19:13 +0200 |
|---|---|---|
| committer | Andre Weissflog <floooh@gmail.com> | 2025-10-04 15:19:13 +0200 |
| commit | 213d4cbc4e4247f8e5990177d32fc8a0576a6cbb (patch) | |
| tree | 68b300fdcb59db7b1cec9f2afcf4972d8a289a4e | |
| parent | 28bbbca06da7102a9daced83a23838d2579b9b3f (diff) | |
update changelog and readme (https://github.com/floooh/sokol/pull/1339)
| -rw-r--r-- | CHANGELOG.md | 37 | ||||
| -rw-r--r-- | README.md | 2 |
2 files changed, 38 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md index 852fe3a7..4cf0d7fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,42 @@ ## Updates +### 04-Oct-2025 + +sokol_gfx.h: a new function `sg_draw_ex()` has been added with additional parameters +`base_vertex` and `base_instance`. This allows to render from different vertex +buffer sections without re-binding the vertex buffers with different offsets. + +I know, I know... the name `sg_draw_ex()` isn't exactly creative, but at some point in +the future I expect that `sg_draw_ex()` will become the regular `sg_draw()` +function. + +Note that support for rendering with `base_vertex` and/or `base_instance` is +not portable (but only the GL backend has restrictions). To check for feature +availabality at runtime, two new `sg_feature` flags have been added: + +- `sg_features.draw_base_vertex`: rendering with `base_vertex != 0` is supported +- `sg_features.draw_base_instance`: rendering with `base_instance > 0` is supported + +On GLES3 platforms the feature availability is as follows: + +- on WebGL2 both `base_vertex` and `base_instance` must be zero +- on all GLES3 versions, `base_instance` must be zero +- `base_vertex` is only supported in GLES3.2 (technically, the required functions + seem to be part of the GLES3.1 standard, but at least on Linux the functions + are only declared in the GLES3.2 headers) + +On desktop GL the feature availability is as follows: + +- `base_vertex` is generally supported (technically since GL 3.2, but that's the + minimum version expected by the sokol_gfx.h GL backend) +- `base_instance` is only supported since GL 4.2 (this basically means that + it can't be used on macOS, but anywhere else) + +A new sample [drawex-sapp](https://floooh.github.io/sokol-webgpu/drawex-sapp-ui.html) +has been added (note that this requires a WebGPU capable browser). + +Related PR: https://github.com/floooh/sokol/pull/1339 + ### 29-Sep-2025 The 'flexible resource binding limits' update: sokol_gfx.h now allows more render pass @@ -6,7 +6,7 @@ # Sokol -[**See what's new**](https://github.com/floooh/sokol/blob/master/CHANGELOG.md) (**29-Sep-2025**: the 'flexible resource binding limits' update) +[**See what's new**](https://github.com/floooh/sokol/blob/master/CHANGELOG.md) (**04-Oct-2025**: new sokol_gfx.h function sg_draw_ex() added) [](/../../actions/workflows/main.yml) [](/../../actions/workflows/gen_bindings.yml) [](https://github.com/floooh/sokol-zig/actions/workflows/main.yml) [](https://github.com/floooh/sokol-nim/actions/workflows/main.yml) [](https://github.com/floooh/sokol-odin/actions/workflows/main.yml)[](https://github.com/floooh/sokol-rust/actions/workflows/main.yml)[](https://github.com/kassane/sokol-d/actions/workflows/build.yml)[](https://github.com/floooh/sokol-c3/actions/workflows/build.yml) |