Kaynağa Gözat

README: mention the new shader-cross-compiler solution

Andre Weissflog 6 yıl önce
ebeveyn
işleme
e6283fea82
1 değiştirilmiş dosya ile 22 ekleme ve 8 silme
  1. 22 8
      README.md

+ 22 - 8
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