aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndre Weissflog <floooh@gmail.com>2019-05-15 19:41:53 +0200
committerAndre Weissflog <floooh@gmail.com>2019-05-15 19:41:53 +0200
commite6283fea8214d06d4143df99a5446d218bb5a2f2 (patch)
tree4847154c129e702d9bd17205596b073d3bdfb04a
parentfe133aebef2fd9e908432e4f701d05d57d0cf3e8 (diff)
README: mention the new shader-cross-compiler solution
-rw-r--r--README.md30
1 files changed, 22 insertions, 8 deletions
diff --git a/README.md b/README.md
index 60145f88..c5a403ee 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
**Sokol (Сокол)**: Russian for Falcon, a smaller and more nimble
bird of prey than the Eagle (Орёл, Oryol)
-[See what's new](#updates) (**26-Apr-2019**: breaking change in sokol_gfx.h)
+[See what's new](#updates) (**15-May-2019**: shader cross-compiling for sokol_gfx.h!)
Minimalistic header-only cross-platform libs in C:
@@ -50,7 +50,8 @@ A blog post with more background info: [A Tour of sokol_gfx.h](http://floooh.git
- simple, modern wrapper around GLES2/WebGL, GLES3/WebGL2, GL3.3, D3D11 and Metal
- buffers, images, shaders, pipeline-state-objects and render-passes
- does *not* handle window creation or 3D API context initialization
-- does *not* provide shader dialect cross-translation
+- does *not* provide shader dialect cross-translation (**BUT** there's now an 'official' shader-cross-compiler solution which
+seamlessly integrates with sokol_gfx.h and IDEs: [see here for details](https://github.com/floooh/sokol-tools/blob/master/docs/sokol-shdc.md)
A triangle in C99 with GLFW and FlextGL:
@@ -401,6 +402,19 @@ Mainly some "missing features" for desktop apps:
# Updates
+- **15-May-2019** there's now an optional shader-cross-compiler solution for
+sokol_gfx.h: [see here for details](https://github.com/floooh/sokol-tools/blob/master/docs/sokol-shdc.md).
+This is "V1.0" with two notable features missing:
+
+ - an include-file feature for GLSL shaders
+ - compilation to Metal- and D3D-bytecode (currently
+ only source-code generation is supported)
+
+ The [sokol-app samples](https://floooh.github.io/sokol-html5/) have been
+ ported to the new shader-cross-compilation, follow the ```src``` and
+ ```glsl``` links on the specific sample webpages to see the C- and GLSL-
+ source-code.
+
- **02-May-2019** sokol_gfx.h has a new function ```sg_query_backend()```, this
will return an enum ```sg_backend``` identifying the backend sokol-gfx is
currently running on, which is one of the following values:
@@ -423,12 +437,12 @@ currently running on, which is one of the following values:
layout definition in sg_pipeline_desc works:
Vertex component names and semantics (needed by the GLES2 and D3D11 backends) have moved from ```sg_pipeline_desc``` into ```sg_shader_desc```.
-
+
This may seem like a rather pointless small detail to change, expecially
for breaking existing code, but the whole thing will make a bit more
sense when the new shader-cross-compiler will be integrated which I'm
currently working on (here: https://github.com/floooh/sokol-tools).
-
+
While working on getting reflection data out of the shaders (e.g. what
uniform blocks and textures the shader uses), it occured to me that
vertex-attribute-names and -semantics are actually part of the reflection
@@ -619,7 +633,7 @@ implementing optional debug-inspection-UI headers on top of Dear ImGui:
contain a slowly growing set of optional debug-inspection-UI headers
which allow to peek under the hood of the Sokol headers. The UIs are
implemented with [Dear ImGui](https://github.com/ocornut/imgui). Again,
- see the README in the 'imgui' directory and the headers in there
+ see the README in the 'imgui' directory and the headers in there
for details, and check out the live demos on the [Sokol Sample Webpage](https://floooh.github.io/sokol-html5/)
(click on the little UI buttons in the top right corner of each thumbnail)
@@ -635,7 +649,7 @@ in https://github.com/floooh/sokol-samples
sokol_app.h for details and documentation.
- **26-Jan-2019**: sokol_app.h now has an Android backend contributed by
- [Gustav Olsson](https://github.com/gustavolsson)!
+ [Gustav Olsson](https://github.com/gustavolsson)!
See the [sokol-samples readme](https://github.com/floooh/sokol-samples/blob/master/README.md)
for build instructions.
@@ -649,11 +663,11 @@ sokol_app.h for details and documentation.
repository which mainly tests the resource pool system)
- **12-Jan-2019**: sokol_gfx.h - setting the pipeline state and resource
-bindings now happens in separate calls, specifically:
+bindings now happens in separate calls, specifically:
- *sg_apply_draw_state()* has been replaced with *sg_apply_pipeline()* and
*sg_apply_bindings()*
- the *sg_draw_state* struct has been replaced with *sg_bindings*
- - *sg_apply_uniform_block()* has been renamed to *sg_apply_uniforms()*
+ - *sg_apply_uniform_block()* has been renamed to *sg_apply_uniforms()*
All existing code will still work. See [this blog
post](https://floooh.github.io/2019/01/12/sokol-apply-pipeline.html) for