-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed
Description
This feature is based on unity article https://docs.unity3d.com/Manual/PostProcessing-UserLut.html and http://www.adriancourreges.com/blog/2017/12/15/mgs-v-graphics-study/
Color Grading Requirements - A ColorGrading class that provides the following features:
- create RGB cube slices on CPU (with adjustable resolution, e.g., 8³, 16³, 24³, ...), this is intended for image export of the base LUT (look-up-texture)
- a function should allow to layout the slices in a rectangular image based on a user-defined number of rows and columns of slices
- a demo on the dev index.html that showcases this feature
- it should be possible to download the RGB slices as an uncompressed image in a simple format (perhaps without the need of additional libraries)...
- create RGB cube slices on the fly within the shader (use rect, tex-coords, ...) - this can be used for overlaying the base LUT over any rendering - this can be provided as a "fragment shader snippet" (source code that is made available...)
Move to haeley-webgl, when the above features are implemented:
- create a rendering function that disables the depth and stencil test and renders the base LUT to a certain position, e.g., render 16³ at 0, 0, should result in a 16x256px overlay on the bottom left of the screen ... - this is intended to be used for screenshots.
- allow the specification of a target LUT that is then used for grading (workflow would be (1) show baseLUT on screen, (2) take a screenshot, (3) color grade using, e.g., Photoshop, then (4) save the resulting LUT from the graded screenshot as targetLUT, (5) pass it to the color grading render-pass, (6) convert it from 2D texture to a 3D texture (e.g., 16 slices of 16²) - this is important in order to have linear interpolation for all three color channels - and, finally, (7) color grade, i.e., use every pixel's color for looking up its mapped value in the LUT (see next checkbox)
- provide shader fragment as well as full post-processing pass for color grading
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or requesthelp wantedExtra attention is neededExtra attention is needed