This tool helps you with shader writing and debugging. It's menat to be used for small specific use cases (printing or drawing a few number, 2D or 3D elements) as it was optimized for ease of integration (~ one file, few lines of code) and not render speed for complex UI.
We suggest you browse the interactive documentation to see is possible. You can explore more samples in Gigi (Search in GigiBrowser for "Shader To Human") and you will see how rapid prototyping in shaders becomes straightforward. Use PrintF debugging, draw a watch window in the viewport or use 2d and 3d shapes with ease. No C++ code changes, no buffer setup or content setup required.
This is only needed for development on the library. Windows only.
- NodeJS: Install https://nodejs.org/en/download 'Windows Installer x64(.msi)'. Reboot.
 - Run startLocalServer.bat (double click, on first start it will install 'express')
 - Connect a web browser to the shown web address.
 
- Reach out for suggestions, maybe CUDA support
 
- Martin Mittring MMittring@ea.com Kosmokleaner@Kosmokleaner.de (main author)
 - Anushka Nair AnuNair@ea.com
 
- Alan Wolfe for Gigi
 - Electronic Arts and the SEED team
 
The source code is released under an open license as detailed in License.txt.
- 'include' S2H core include files in HLSL
 - 'examples' S2H core examples to be run with Gigi
 - 'unittests' Gigi technique and shaders to verify function, run python from Gigi DX12 Viewer.
 - 'docs' S2H examples for the web documenation, source for transpileToGLSL.bat
 - 'README.md' this file, github/gitlab start page
 - 'teaser.png' used for README.md and Gigi technique browser
 - 'transpileToGLSL.bat' to converts hlsl code to glsl, needed for server or if you want to use glsl directly
 - 'startLocalServer.bat' to locally iterate on the documentation
 - 'server.js', 'utils' needed for localServer
 - 'public' HTML documentation
 - 'node_modules' generated by node.js for localServer
 
Functional, Open Source
Before you can contribute, EA must have a Contributor License Agreement (CLA) on file that has been signed by each contributor. You can sign here: http://bit.ly/electronic-arts-cla
Any contribution - large or small - is much appreciated and earns you a spot on the contributors list. Just add your name to the list (alpha sorted) as part of your pull request!
As far as coding standards, we need to write them up and automate them as much as we can, but for now, try to make your code look like other code.
With each pull request, besides testing any functionality you are touching, please also verify that all .gg files in Gigi and that the the Python unit test are still passing, consider adding unit tests if appropriate. Run transpileToGLSL.bat as it generates .hlsl and .glsl files derived from input .hlsl files, those are used by the WebGL documentation. Cycle through the affected documentation pages.
To run the viewer unit tests, from inside the viewer select File->Run Python Script and choose unittests/GigiTest.py. It should report that it has zero errors.
seed.ea.com
SEED is a pioneering group within Electronic Arts, combining creativity with applied research.
We explore, build, and help define the future of interactive entertainment.
