Difference between revisions of "Shaders"

From Things and Stuff Wiki
Jump to navigation Jump to search
 
Line 33: Line 33:
  
 
* https://github.com/mortennobel/sre_glsl_editor - allows you to play with shaders without having to set up everything in OpenGL. The editor is build using SimpleRenderEngine
 
* https://github.com/mortennobel/sre_glsl_editor - allows you to play with shaders without having to set up everything in OpenGL. The editor is build using SimpleRenderEngine
 +
 +
 +
* https://github.com/garettbass/gpuc - A header-only C-like shading language compiler that writes Metal, HLSL, GLSL
  
  

Latest revision as of 20:50, 15 August 2019

General

  • https://en.wikipedia.org/wiki/Shading_language - a graphics programming language adapted to programming shader effects (characterizing surfaces, volumes, and objects). Such language forms usually consist of special data types, like "vector", "matrix", "color" and "normal". Due to the variety of target markets for 3D computer graphics, different shading languages have been developed.



  • Inigo Quilez - fractals, computer graphics, mathematics, shaders, demoscene and more

Shaders

  • https://github.com/mckennapsean/wood-shader - based on the original paper (by Marschner et al.) which established a new sub-surface reflection component to the bidirectional reflectance distribution function (BRDF) that creates a sub-surface highlight distinct to the appearance of actual, finished wood. The key features of this process include identifying the direction/angle of the sub-surface wooden fibers, refracating and reflecting the incoming light ray along this angled wooden fiber, and producing a Gaussian-spread along a cone in the direction of this angled reflection ray. All of these features were coded and ported into GLSL. A sample, rendered image of tiger wood is presented below.





Tools






  • https://github.com/dancrn/shade - a quick-and-dirty glsl prototyping tool. it's like shader-toy, but with basically no features of shader-toy. but you can run it off-line, and not in a browser. it has only one dependency - SDL2. this is not intended to be a standalone tool per se, but rather just something that you can easily modify (and extend, if required) to prototype a shader. [5]