movit
8 years agoIn overlay matte, use the luminance as a matte instead of each individual color compo...
Steinar H. Gunderson [Fri, 5 Oct 2012 22:58:31 +0000 (00:58 +0200)]
In overlay matte, use the luminance as a matte instead of each individual color component; it makes more sense to me. Also clamp luminance there to [0,1] to avoid going extrapolating into ugliness, which could happen when we had e.g. lift/gamma/gain before.

8 years agoAllow Input to set pitch. Currently only before the texture is created, though; we...
Steinar H. Gunderson [Fri, 5 Oct 2012 22:48:29 +0000 (00:48 +0200)]
Allow Input to set pitch. Currently only before the texture is created, though; we do not support variable pitch.

8 years agoAdd missing file image_format.h, and add grayscale support.
Steinar H. Gunderson [Fri, 5 Oct 2012 22:42:32 +0000 (00:42 +0200)]
Add missing file image_format.h, and add grayscale support.

8 years agoGenerate PBOs on-the-fly instead of having hard-coded numbers.
Steinar H. Gunderson [Fri, 5 Oct 2012 22:39:21 +0000 (00:39 +0200)]
Generate PBOs on-the-fly instead of having hard-coded numbers.

8 years agoSplit inputs into a separate class (descending from Effect) instead of handling them...
Steinar H. Gunderson [Fri, 5 Oct 2012 22:24:33 +0000 (00:24 +0200)]
Split inputs into a separate class (descending from Effect) instead of handling them as a special case in EffectChain. Kills some special cases, and paves the road for multiple master inputs soon.

8 years agoRemember to clear the needs_update flag on 1D textures after upload.
Steinar H. Gunderson [Fri, 5 Oct 2012 22:16:36 +0000 (00:16 +0200)]
Remember to clear the needs_update flag on 1D textures after upload.

8 years agoRename set_uniforms() to set_gl_state(), and make a corresponding clear_gl_state().
Steinar H. Gunderson [Fri, 5 Oct 2012 19:29:34 +0000 (21:29 +0200)]
Rename set_uniforms() to set_gl_state(), and make a corresponding clear_gl_state().

8 years agoMark some appropriate effects as not needing sRGB primaries, and expand the comment...
Steinar H. Gunderson [Fri, 5 Oct 2012 14:55:21 +0000 (16:55 +0200)]
Mark some appropriate effects as not needing sRGB primaries, and expand the comment on when it is appropriate not to use them.

8 years agoUnbreak the final normalizers.
Steinar H. Gunderson [Fri, 5 Oct 2012 11:01:15 +0000 (13:01 +0200)]
Unbreak the final normalizers.

8 years agoAdd a diffusion effect, and hook it up in the GUI.
Steinar H. Gunderson [Fri, 5 Oct 2012 10:43:35 +0000 (12:43 +0200)]
Add a diffusion effect, and hook it up in the GUI.

8 years agoActually implement multiple inputs to phases. Surprising amounts of stuff needed...
Steinar H. Gunderson [Fri, 5 Oct 2012 10:03:49 +0000 (12:03 +0200)]
Actually implement multiple inputs to phases. Surprising amounts of stuff needed...

8 years agoAllow an effect to have multiple inputs (although the graph still supports only one...
Steinar H. Gunderson [Thu, 4 Oct 2012 21:02:15 +0000 (23:02 +0200)]
Allow an effect to have multiple inputs (although the graph still supports only one master input). Still no support for it in the processing pipeline.

8 years agoPrepare for a more DAG-like effect graph. Does not actually do anything differently...
Steinar H. Gunderson [Thu, 4 Oct 2012 20:27:08 +0000 (22:27 +0200)]
Prepare for a more DAG-like effect graph. Does not actually do anything differently yet.

8 years agoRevert an unintended change to main.cpp.
Steinar H. Gunderson [Thu, 4 Oct 2012 19:57:38 +0000 (21:57 +0200)]
Revert an unintended change to main.cpp.

8 years agoReplace LAST_INPUT with INPUT.
Steinar H. Gunderson [Thu, 4 Oct 2012 15:28:15 +0000 (17:28 +0200)]
Replace LAST_INPUT with INPUT.

8 years agoRename needs_many_samples() to needs_texture_bounce(), and update the comment.
Steinar H. Gunderson [Thu, 4 Oct 2012 13:53:30 +0000 (15:53 +0200)]
Rename needs_many_samples() to needs_texture_bounce(), and update the comment.

8 years agoMove the GL_GENERATE_MIPMAP setting to a less broken place.
Steinar H. Gunderson [Wed, 3 Oct 2012 22:16:49 +0000 (00:16 +0200)]
Move the GL_GENERATE_MIPMAP setting to a less broken place.

8 years agoFix R/B swapping in the SDL conversion.
Steinar H. Gunderson [Wed, 3 Oct 2012 20:05:52 +0000 (22:05 +0200)]
Fix R/B swapping in the SDL conversion.

8 years agoYet another use-NULL-instead-of-giving-in-empty-stuff cleanup.
Steinar H. Gunderson [Wed, 3 Oct 2012 18:25:54 +0000 (20:25 +0200)]
Yet another use-NULL-instead-of-giving-in-empty-stuff cleanup.

8 years agoFix a (harmless) Valgrind hit.
Steinar H. Gunderson [Wed, 3 Oct 2012 18:23:07 +0000 (20:23 +0200)]
Fix a (harmless) Valgrind hit.

8 years agoLet SDL convert the pixels instead of doing it ourselves.
Steinar H. Gunderson [Wed, 3 Oct 2012 18:22:36 +0000 (20:22 +0200)]
Let SDL convert the pixels instead of doing it ourselves.

8 years agoAdd a “sandbox effect” that does nothing but is a useful playground for development...
Steinar H. Gunderson [Wed, 3 Oct 2012 17:56:22 +0000 (19:56 +0200)]
Add a “sandbox effect” that does nothing but is a useful playground for development of new effects.

8 years agoWork around a Mesa bug wrt. mipmap generation.
Steinar H. Gunderson [Wed, 3 Oct 2012 16:55:24 +0000 (18:55 +0200)]
Work around a Mesa bug wrt. mipmap generation.

8 years agoGive NULL to glTexImage2D() instead of zeroing memory ourselves.
Steinar H. Gunderson [Wed, 3 Oct 2012 16:55:08 +0000 (18:55 +0200)]
Give NULL to glTexImage2D() instead of zeroing memory ourselves.

8 years agoMirror does not need linear light or sRGB primaries, of course.
Steinar H. Gunderson [Wed, 3 Oct 2012 15:59:20 +0000 (17:59 +0200)]
Mirror does not need linear light or sRGB primaries, of course.

8 years agoYet more header file comments.
Steinar H. Gunderson [Wed, 3 Oct 2012 15:56:14 +0000 (17:56 +0200)]
Yet more header file comments.

8 years agoComment all of *_effect.h.
Steinar H. Gunderson [Wed, 3 Oct 2012 15:53:10 +0000 (17:53 +0200)]
Comment all of *_effect.h.

8 years agoComment the Effect class.
Steinar H. Gunderson [Wed, 3 Oct 2012 15:37:18 +0000 (17:37 +0200)]
Comment the Effect class.

8 years agoSmall refactoring.
Steinar H. Gunderson [Wed, 3 Oct 2012 14:48:05 +0000 (16:48 +0200)]
Small refactoring.

8 years agoMake a new system for meta-effects, and convert the blur to use it. Hides the two...
Steinar H. Gunderson [Wed, 3 Oct 2012 14:46:15 +0000 (16:46 +0200)]
Make a new system for meta-effects, and convert the blur to use it. Hides the two-pass nature.

8 years agoSome more GL state paranoia.
Steinar H. Gunderson [Wed, 3 Oct 2012 14:30:55 +0000 (16:30 +0200)]
Some more GL state paranoia.

8 years agoFlesh out the blur code a little. It actually blurs now, although it is not as pretty...
Steinar H. Gunderson [Wed, 3 Oct 2012 14:30:34 +0000 (16:30 +0200)]
Flesh out the blur code a little. It actually blurs now, although it is not as pretty as I would like it.

8 years agoSupport setting vec4 arrays.
Steinar H. Gunderson [Wed, 3 Oct 2012 12:55:27 +0000 (14:55 +0200)]
Support setting vec4 arrays.

8 years agoDo not send uninitialized memory as a texture.
Steinar H. Gunderson [Wed, 3 Oct 2012 12:40:13 +0000 (14:40 +0200)]
Do not send uninitialized memory as a texture.

8 years agoSet better texture environment for the intermediate textures.
Steinar H. Gunderson [Wed, 3 Oct 2012 10:31:37 +0000 (12:31 +0200)]
Set better texture environment for the intermediate textures.

8 years agoAdd a hack to restore the miplevels after blurring.
Steinar H. Gunderson [Wed, 3 Oct 2012 09:52:53 +0000 (11:52 +0200)]
Add a hack to restore the miplevels after blurring.

8 years agoFix the blur so it is much prettier, by not sampling from a mipmap in the second...
Steinar H. Gunderson [Tue, 2 Oct 2012 23:25:50 +0000 (01:25 +0200)]
Fix the blur so it is much prettier, by not sampling from a mipmap in the second pass.

8 years agoIncrease the range of the blur control.
Steinar H. Gunderson [Tue, 2 Oct 2012 23:14:27 +0000 (01:14 +0200)]
Increase the range of the blur control.

8 years agoAdd vertical blurring, and fix a bug where not all taps would be used.
Steinar H. Gunderson [Tue, 2 Oct 2012 23:01:13 +0000 (01:01 +0200)]
Add vertical blurring, and fix a bug where not all taps would be used.

8 years agoTry to adjust the mip levels to get box blur for free as needed.
Steinar H. Gunderson [Tue, 2 Oct 2012 22:56:02 +0000 (00:56 +0200)]
Try to adjust the mip levels to get box blur for free as needed.

8 years agoHook up a blur radius control.
Steinar H. Gunderson [Tue, 2 Oct 2012 22:47:13 +0000 (00:47 +0200)]
Hook up a blur radius control.

8 years agoMake the blur into a simple, Gaussian horizontal blur. Still not very good.
Steinar H. Gunderson [Tue, 2 Oct 2012 22:45:32 +0000 (00:45 +0200)]
Make the blur into a simple, Gaussian horizontal blur. Still not very good.

8 years agoSupport multiple render phases (with FBOs and all), and make a sample blur effect...
Steinar H. Gunderson [Tue, 2 Oct 2012 22:20:05 +0000 (00:20 +0200)]
Support multiple render phases (with FBOs and all), and make a sample blur effect that uses it.

8 years agoMark some functions in Effect as const.
Steinar H. Gunderson [Tue, 2 Oct 2012 20:19:31 +0000 (22:19 +0200)]
Mark some functions in Effect as const.

8 years agoFix indenting in effect_id.h.
Steinar H. Gunderson [Tue, 2 Oct 2012 18:45:08 +0000 (20:45 +0200)]
Fix indenting in effect_id.h.

8 years agoLess stupid mirroring.
Steinar H. Gunderson [Tue, 2 Oct 2012 18:37:44 +0000 (20:37 +0200)]
Less stupid mirroring.

8 years agoAdd a new framework for 1D-LUTs via fp16 textures. Make the gamma compression and...
Steinar H. Gunderson [Tue, 2 Oct 2012 17:58:09 +0000 (19:58 +0200)]
Add a new framework for 1D-LUTs via fp16 textures. Make the gamma compression and expansion effects use it.

8 years agoKill the hard-coded texture enums (yay).
Steinar H. Gunderson [Tue, 2 Oct 2012 17:34:11 +0000 (19:34 +0200)]
Kill the hard-coded texture enums (yay).

8 years agoKill the vertex shader system; it is too complicated to get it right until we have...
Steinar H. Gunderson [Tue, 2 Oct 2012 16:50:16 +0000 (18:50 +0200)]
Kill the vertex shader system; it is too complicated to get it right until we have a full DAG understanding.

8 years agoRevert "Move calculation of normalized position for the vignette into the vertex...
Steinar H. Gunderson [Tue, 2 Oct 2012 12:32:48 +0000 (14:32 +0200)]
Revert "Move calculation of normalized position for the vignette into the vertex shader."

This is not correct, since tc can be changed by the fragment shader
_and_ by later vertex shaders. We need to do some rethinking here,
seemingly.

This reverts commit 2b4a7d868112b4995bf6699f5b3aa68e9ec2b308.

8 years agoAdd a mirror effect.
Steinar H. Gunderson [Tue, 2 Oct 2012 12:18:37 +0000 (14:18 +0200)]
Add a mirror effect.

8 years agoMove calculation of normalized position for the vignette into the vertex shader.
Steinar H. Gunderson [Tue, 2 Oct 2012 11:59:31 +0000 (13:59 +0200)]
Move calculation of normalized position for the vignette into the vertex shader.

8 years agoFix a confusion in the vertex shader chaining.
Steinar H. Gunderson [Tue, 2 Oct 2012 11:55:43 +0000 (13:55 +0200)]
Fix a confusion in the vertex shader chaining.

8 years agoRename .glsl to .vert/.frag.
Steinar H. Gunderson [Tue, 2 Oct 2012 11:50:48 +0000 (13:50 +0200)]
Rename .glsl to .vert/.frag.

8 years agoChain together vertex shaders, like with fragment shaders.
Steinar H. Gunderson [Tue, 2 Oct 2012 11:46:25 +0000 (13:46 +0200)]
Chain together vertex shaders, like with fragment shaders.

8 years agoRename identity.glsl to identity-fs.glsl.
Steinar H. Gunderson [Tue, 2 Oct 2012 11:37:57 +0000 (13:37 +0200)]
Rename identity.glsl to identity-fs.glsl.

8 years agoRename output_glsl to output_fragment_shader.
Steinar H. Gunderson [Tue, 2 Oct 2012 11:35:59 +0000 (13:35 +0200)]
Rename output_glsl to output_fragment_shader.

8 years agoUpload the texture via PBOs. Slight speedup on nVidia, rather neutral on Intel.
Steinar H. Gunderson [Tue, 2 Oct 2012 10:36:39 +0000 (12:36 +0200)]
Upload the texture via PBOs. Slight speedup on nVidia, rather neutral on Intel.

8 years agoFix a C++11 compatibility issue.
Steinar H. Gunderson [Tue, 2 Oct 2012 10:12:43 +0000 (12:12 +0200)]
Fix a C++11 compatibility issue.

8 years agoUpload textures in BGRA format instead of RGB. Somewhat faster on nVidia, somewhat...
Steinar H. Gunderson [Tue, 2 Oct 2012 09:56:19 +0000 (11:56 +0200)]
Upload textures in BGRA format instead of RGB. Somewhat faster on nVidia, somewhat slower on Intel.

8 years agoUse glTexSubImage2D on second and later uploads.
Steinar H. Gunderson [Tue, 2 Oct 2012 09:48:34 +0000 (11:48 +0200)]
Use glTexSubImage2D on second and later uploads.

8 years agoRevert "Slight cleanup in texture upload format selection."
Steinar H. Gunderson [Tue, 2 Oct 2012 09:46:59 +0000 (11:46 +0200)]
Revert "Slight cleanup in texture upload format selection."

This reverts commit 7ead6f1c15daf8e5a70df583198a8ce58251b0d6.

8 years agoSlight cleanup in texture upload format selection.
Steinar H. Gunderson [Tue, 2 Oct 2012 09:46:46 +0000 (11:46 +0200)]
Slight cleanup in texture upload format selection.

8 years agoSlight cleanup in texture upload format selection.
Steinar H. Gunderson [Tue, 2 Oct 2012 09:44:51 +0000 (11:44 +0200)]
Slight cleanup in texture upload format selection.

8 years agoFix float/int divide (it is not allowed).
Steinar H. Gunderson [Mon, 1 Oct 2012 23:36:23 +0000 (01:36 +0200)]
Fix float/int divide (it is not allowed).

8 years ago<sys/time.h> is needed for gettimeofday.
Steinar H. Gunderson [Mon, 1 Oct 2012 23:28:16 +0000 (01:28 +0200)]
<sys/time.h> is needed for gettimeofday.

8 years agoLess old-style GLSL extension use.
Steinar H. Gunderson [Mon, 1 Oct 2012 23:24:57 +0000 (01:24 +0200)]
Less old-style GLSL extension use.

8 years agoAdd fallbacks for systems without proper monotonic clocks (e.g. OS X).
Steinar H. Gunderson [Mon, 1 Oct 2012 23:10:40 +0000 (01:10 +0200)]
Add fallbacks for systems without proper monotonic clocks (e.g. OS X).

8 years ago Vignette actually looks really nice in linear light; update effectlist.txt.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:49:53 +0000 (00:49 +0200)]
 Vignette actually looks really nice in linear light; update effectlist.txt.

8 years agoFix a warning.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:46:21 +0000 (00:46 +0200)]
Fix a warning.

8 years agoHook up the vignette effect to the sample app.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:46:04 +0000 (00:46 +0200)]
Hook up the vignette effect to the sample app.

8 years agoAdd a vignette effect.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:45:55 +0000 (00:45 +0200)]
Add a vignette effect.

8 years agoAdd vec2 parameter support.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:45:08 +0000 (00:45 +0200)]
Add vec2 parameter support.

8 years agoRemove obsolete file todo.glsl.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:07:05 +0000 (00:07 +0200)]
Remove obsolete file todo.glsl.

8 years agoMake it possible to instantiate the colorspace conversion effect separately.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:04:18 +0000 (00:04 +0200)]
Make it possible to instantiate the colorspace conversion effect separately.

8 years agoFlip some need bits in the conversion effects.
Steinar H. Gunderson [Mon, 1 Oct 2012 22:03:12 +0000 (00:03 +0200)]
Flip some need bits in the conversion effects.

8 years agoAdd color space conversions on input and output.
Steinar H. Gunderson [Mon, 1 Oct 2012 21:44:26 +0000 (23:44 +0200)]
Add color space conversions on input and output.

8 years agoClean up stuff from the vertex shader.
Steinar H. Gunderson [Mon, 1 Oct 2012 19:02:55 +0000 (21:02 +0200)]
Clean up stuff from the vertex shader.

8 years agoImplement the Rec. 709 gamma curve.
Steinar H. Gunderson [Mon, 1 Oct 2012 19:01:36 +0000 (21:01 +0200)]
Implement the Rec. 709 gamma curve.

8 years agoAdd do-nothing-conversions for gamma expansion/compression if we are already linear...
Steinar H. Gunderson [Mon, 1 Oct 2012 18:49:50 +0000 (20:49 +0200)]
Add do-nothing-conversions for gamma expansion/compression if we are already linear. Mostly for completeness.

8 years agoRemove the now obsolete load_texture().
Steinar H. Gunderson [Mon, 1 Oct 2012 18:45:21 +0000 (20:45 +0200)]
Remove the now obsolete load_texture().

8 years agoUse sRGB textures on the input side if applicable.
Steinar H. Gunderson [Mon, 1 Oct 2012 18:45:03 +0000 (20:45 +0200)]
Use sRGB textures on the input side if applicable.

8 years agoRemove the now obsolete hand-coded fragment program.
Steinar H. Gunderson [Mon, 1 Oct 2012 18:40:35 +0000 (20:40 +0200)]
Remove the now obsolete hand-coded fragment program.

8 years agoClean up effect enums a bit.
Steinar H. Gunderson [Mon, 1 Oct 2012 18:37:27 +0000 (20:37 +0200)]
Clean up effect enums a bit.

8 years agoThe return value from glGetUniformLocation() is of course signed.
Steinar H. Gunderson [Mon, 1 Oct 2012 18:37:19 +0000 (20:37 +0200)]
The return value from glGetUniformLocation() is of course signed.

8 years agoMove saturation out into its own effect, and hook up the control.
Steinar H. Gunderson [Mon, 1 Oct 2012 18:35:17 +0000 (20:35 +0200)]
Move saturation out into its own effect, and hook up the control.

8 years agoSend the right inv_gamma_22 variable to the uniforms.
Steinar H. Gunderson [Mon, 1 Oct 2012 18:25:36 +0000 (20:25 +0200)]
Send the right inv_gamma_22 variable to the uniforms.

8 years agoActually set all the right uniforms, so we have a picture on screen.
Steinar H. Gunderson [Mon, 1 Oct 2012 18:24:14 +0000 (20:24 +0200)]
Actually set all the right uniforms, so we have a picture on screen.

8 years agoGive HSV parameters to LGG effect.
Steinar H. Gunderson [Mon, 1 Oct 2012 17:55:10 +0000 (19:55 +0200)]
Give HSV parameters to LGG effect.

8 years agoRemove a redundant comment.
Steinar H. Gunderson [Mon, 1 Oct 2012 17:25:03 +0000 (19:25 +0200)]
Remove a redundant comment.

8 years agoSlightly clearer comments for the custom uniforms in LGG.
Steinar H. Gunderson [Mon, 1 Oct 2012 17:24:21 +0000 (19:24 +0200)]
Slightly clearer comments for the custom uniforms in LGG.

8 years agoAdd lift/gamma/gain GLSL code. Completely black output, due to lack of uniform setting.
Steinar H. Gunderson [Mon, 1 Oct 2012 17:23:38 +0000 (19:23 +0200)]
Add lift/gamma/gain GLSL code. Completely black output, due to lack of uniform setting.

8 years agoSquash linear gamma back into the sRGB curve at the end.
Steinar H. Gunderson [Mon, 1 Oct 2012 17:16:45 +0000 (19:16 +0200)]
Squash linear gamma back into the sRGB curve at the end.

8 years agoImplement gamma expansion from sRGB.
Steinar H. Gunderson [Mon, 1 Oct 2012 17:05:43 +0000 (19:05 +0200)]
Implement gamma expansion from sRGB.

8 years agoMake the example program actually try to use the effect chain.
Steinar H. Gunderson [Mon, 1 Oct 2012 16:59:38 +0000 (18:59 +0200)]
Make the example program actually try to use the effect chain.

8 years agoMake check_error() output the file as well as the line, now that we have several.
Steinar H. Gunderson [Mon, 1 Oct 2012 16:46:53 +0000 (18:46 +0200)]
Make check_error() output the file as well as the line, now that we have several.

8 years agoSplit image loading from texture generation.
Steinar H. Gunderson [Mon, 1 Oct 2012 16:45:20 +0000 (18:45 +0200)]
Split image loading from texture generation.

8 years agoOutput convenience uniforms per effect. Also, do not rely on the preprocessor support...
Steinar H. Gunderson [Mon, 1 Oct 2012 16:20:35 +0000 (18:20 +0200)]
Output convenience uniforms per effect. Also, do not rely on the preprocessor supporting token pasting anymore.

8 years agoBuild with debug info.
Steinar H. Gunderson [Mon, 1 Oct 2012 16:13:42 +0000 (18:13 +0200)]
Build with debug info.

8 years agoStart actually piecing together the GLSL shaders from the effect chain.
Steinar H. Gunderson [Mon, 1 Oct 2012 15:57:26 +0000 (17:57 +0200)]
Start actually piecing together the GLSL shaders from the effect chain.