movit
7 years agoAdd a test for GammaExpansionEffect. Not done yet.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:17:49 +0000 (22:17 +0200)]
Add a test for GammaExpansionEffect. Not done yet.

7 years agoOutput the chained shaders to temporary files instead of to stdout, since it's near...
Steinar H. Gunderson [Fri, 12 Oct 2012 20:14:46 +0000 (22:14 +0200)]
Output the chained shaders to temporary files instead of to stdout, since it's near-impossible to see the test output with so much stuff in the way.

7 years agoMake unit tests render to a floating-point FBO, so that we get full precision.
Steinar H. Gunderson [Fri, 12 Oct 2012 20:04:48 +0000 (22:04 +0200)]
Make unit tests render to a floating-point FBO, so that we get full precision.

7 years agoSupport rendering to a given FBO instead of to the screen.
Steinar H. Gunderson [Fri, 12 Oct 2012 19:27:43 +0000 (21:27 +0200)]
Support rendering to a given FBO instead of to the screen.

7 years agoFix some issues with the case where we need to expand gamma to linear, but not compre...
Steinar H. Gunderson [Fri, 12 Oct 2012 17:45:37 +0000 (19:45 +0200)]
Fix some issues with the case where we need to expand gamma to linear, but not compress afterwards.

7 years agoFix step numbering.
Steinar H. Gunderson [Fri, 12 Oct 2012 17:21:24 +0000 (19:21 +0200)]
Fix step numbering.

7 years agoFix a bug where find_nonlinear_inputs() would choke on GammaCompressionEffect and...
Steinar H. Gunderson [Fri, 12 Oct 2012 17:06:21 +0000 (19:06 +0200)]
Fix a bug where find_nonlinear_inputs() would choke on GammaCompressionEffect and hit an infinite loop.

7 years agoYet more Makefile tweaks/fixes.
Steinar H. Gunderson [Fri, 12 Oct 2012 16:58:20 +0000 (18:58 +0200)]
Yet more Makefile tweaks/fixes.

7 years agoAdd a unit test for MixEffect.
Steinar H. Gunderson [Fri, 12 Oct 2012 00:25:34 +0000 (02:25 +0200)]
Add a unit test for MixEffect.

7 years agocan_output_linear_gamma() should never return true for float inputs.
Steinar H. Gunderson [Fri, 12 Oct 2012 00:20:17 +0000 (02:20 +0200)]
can_output_linear_gamma() should never return true for float inputs.

7 years agoSplit test utilities out into its own file.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:59:36 +0000 (01:59 +0200)]
Split test utilities out into its own file.

7 years agoIgnore some gcov stuff.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:58:57 +0000 (01:58 +0200)]
Ignore some gcov stuff.

7 years agoFix an overly aggressive search-and-replace in the Makefile.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:50:44 +0000 (01:50 +0200)]
Fix an overly aggressive search-and-replace in the Makefile.

7 years agoAdd some more simple tests to EffectChainTest.
Steinar H. Gunderson [Thu, 11 Oct 2012 23:34:11 +0000 (01:34 +0200)]
Add some more simple tests to EffectChainTest.

7 years agoStart on unit testing (adds a dependency on Google Test). Right now, we have a single...
Steinar H. Gunderson [Thu, 11 Oct 2012 22:35:18 +0000 (00:35 +0200)]
Start on unit testing (adds a dependency on Google Test). Right now, we have a single trivial test.

7 years agoLet FlatInput take in float data (sort of kludgy, though). Also remove the get_*...
Steinar H. Gunderson [Thu, 11 Oct 2012 21:57:22 +0000 (23:57 +0200)]
Let FlatInput take in float data (sort of kludgy, though). Also remove the get_* methods, since we do not need them.

7 years agoneeds_update should be set even after we have created the texture, since we have...
Steinar H. Gunderson [Thu, 11 Oct 2012 19:47:11 +0000 (21:47 +0200)]
needs_update should be set even after we have created the texture, since we have not actually filled it with anything.

7 years agoSplit the test program from the actual library.
Steinar H. Gunderson [Thu, 11 Oct 2012 17:05:04 +0000 (19:05 +0200)]
Split the test program from the actual library.

7 years agoFix snafu in gamma expansion node insertion.
Steinar H. Gunderson [Wed, 10 Oct 2012 23:34:29 +0000 (01:34 +0200)]
Fix snafu in gamma expansion node insertion.

7 years agoDrop the 8-way symmetry; it causes bugs due to normalized texture coordinates.
Steinar H. Gunderson [Wed, 10 Oct 2012 22:52:09 +0000 (00:52 +0200)]
Drop the 8-way symmetry; it causes bugs due to normalized texture coordinates.

7 years agoSimplify the refocus shader a bit.
Steinar H. Gunderson [Wed, 10 Oct 2012 22:43:02 +0000 (00:43 +0200)]
Simplify the refocus shader a bit.

7 years agoFix a bug where we would send too few parameters down to the refocus shader.
Steinar H. Gunderson [Wed, 10 Oct 2012 22:42:49 +0000 (00:42 +0200)]
Fix a bug where we would send too few parameters down to the refocus shader.

7 years agoRemove stray debugging output.
Steinar H. Gunderson [Wed, 10 Oct 2012 20:41:14 +0000 (22:41 +0200)]
Remove stray debugging output.

7 years agoRemove some leftover out-commented code.
Steinar H. Gunderson [Wed, 10 Oct 2012 20:37:42 +0000 (22:37 +0200)]
Remove some leftover out-commented code.

7 years agoAdd an unsharp mask effect, to complement the more expensive deconvolution sharpening.
Steinar H. Gunderson [Wed, 10 Oct 2012 20:30:35 +0000 (22:30 +0200)]
Add an unsharp mask effect, to complement the more expensive deconvolution sharpening.

7 years agoOnly recompute deconvolution kernel when we need to.
Steinar H. Gunderson [Wed, 10 Oct 2012 18:19:59 +0000 (20:19 +0200)]
Only recompute deconvolution kernel when we need to.

7 years agoAdd an implementation of sharpening by FIR Wiener filters.
Steinar H. Gunderson [Wed, 10 Oct 2012 18:02:27 +0000 (20:02 +0200)]
Add an implementation of sharpening by FIR Wiener filters.

7 years agoInform about input sizes also in the last pass.
Steinar H. Gunderson [Tue, 9 Oct 2012 22:59:39 +0000 (00:59 +0200)]
Inform about input sizes also in the last pass.

7 years agoUse the input resolution in the blur instead of hard-coding 1280x720. Also fix mipmap...
Steinar H. Gunderson [Tue, 9 Oct 2012 10:16:30 +0000 (12:16 +0200)]
Use the input resolution in the blur instead of hard-coding 1280x720. Also fix mipmap calculation by odd sizes, so that we know we will hit exactly on the right pixels when we sample on the first pass.

7 years agoSpread resolution information throughout the effect chain.
Steinar H. Gunderson [Tue, 9 Oct 2012 10:04:18 +0000 (12:04 +0200)]
Spread resolution information throughout the effect chain.

7 years agoTypo fix.
Steinar H. Gunderson [Tue, 9 Oct 2012 09:38:59 +0000 (11:38 +0200)]
Typo fix.

7 years agoMake the HSV pickers keep the same luminance no matter what the saturation is. Makes...
Steinar H. Gunderson [Mon, 8 Oct 2012 23:01:59 +0000 (01:01 +0200)]
Make the HSV pickers keep the same luminance no matter what the saturation is. Makes for better LGG controls.

7 years agoSmall precision fix in texture bounce comment.
Steinar H. Gunderson [Mon, 8 Oct 2012 22:54:29 +0000 (00:54 +0200)]
Small precision fix in texture bounce comment.

7 years agoPull EffectChain a step closer to input resolution independence.
Steinar H. Gunderson [Mon, 8 Oct 2012 22:53:36 +0000 (00:53 +0200)]
Pull EffectChain a step closer to input resolution independence.

7 years agoFix spurious blank lines on stdout.
Steinar H. Gunderson [Mon, 8 Oct 2012 20:54:26 +0000 (22:54 +0200)]
Fix spurious blank lines on stdout.

7 years agoAdd a white balance effect (port of my white balance effect from Frei0r).
Steinar H. Gunderson [Mon, 8 Oct 2012 18:22:23 +0000 (20:22 +0200)]
Add a white balance effect (port of my white balance effect from Frei0r).

7 years agoSave a multiplication in the vignette effect.
Steinar H. Gunderson [Mon, 8 Oct 2012 16:49:58 +0000 (18:49 +0200)]
Save a multiplication in the vignette effect.

7 years agoChange so that all modifications to the graph (meta-effects, colorspace information...
Steinar H. Gunderson [Mon, 8 Oct 2012 16:08:40 +0000 (18:08 +0200)]
Change so that all modifications to the graph (meta-effects, colorspace information, gamma conversion) works at finalize() time. Fixes a lot of known issues and FIXMEs.

7 years agoFlatInput can only auto-expand from linear or sRGB, not e.g. Rec. 601/709 gamma.
Steinar H. Gunderson [Mon, 8 Oct 2012 13:01:08 +0000 (15:01 +0200)]
FlatInput can only auto-expand from linear or sRGB, not e.g. Rec. 601/709 gamma.

7 years agoRec. 709 color space is the same as sRGB, of course, so do not print it on the graph.
Steinar H. Gunderson [Mon, 8 Oct 2012 12:56:58 +0000 (14:56 +0200)]
Rec. 709 color space is the same as sRGB, of course, so do not print it on the graph.

7 years agoAdd edge information about odd things, such as bounces, resizes and non-standard...
Steinar H. Gunderson [Mon, 8 Oct 2012 12:55:37 +0000 (14:55 +0200)]
Add edge information about odd things, such as bounces, resizes and non-standard color spaces.

7 years agoOutput the graph in dot form at finalize time.
Steinar H. Gunderson [Mon, 8 Oct 2012 12:45:32 +0000 (14:45 +0200)]
Output the graph in dot form at finalize time.

7 years agoRemove draw_vertex() declaration; the function was never implemented.
Steinar H. Gunderson [Mon, 8 Oct 2012 12:35:45 +0000 (14:35 +0200)]
Remove draw_vertex() declaration; the function was never implemented.

7 years agoMove Node and Phase out from being inner classes, given that we soon want to expose...
Steinar H. Gunderson [Mon, 8 Oct 2012 10:21:16 +0000 (12:21 +0200)]
Move Node and Phase out from being inner classes, given that we soon want to expose Node to effects.

7 years agoWe need to link to -lrt, since we use the clock functions from there.
Steinar H. Gunderson [Mon, 8 Oct 2012 10:08:26 +0000 (12:08 +0200)]
We need to link to -lrt, since we use the clock functions from there.

7 years agoAllow changing pitch on YCbCrInput as we go.
Steinar H. Gunderson [Mon, 8 Oct 2012 08:39:23 +0000 (10:39 +0200)]
Allow changing pitch on YCbCrInput as we go.

7 years agoStore all the auxillary information about each Effect in a Node structure. Saves...
Steinar H. Gunderson [Sun, 7 Oct 2012 22:16:52 +0000 (00:16 +0200)]
Store all the auxillary information about each Effect in a Node structure. Saves heck of a lot of maps and asserts.

7 years agoRemove obsolete brainstorming doc.
Steinar H. Gunderson [Sun, 7 Oct 2012 20:35:21 +0000 (22:35 +0200)]
Remove obsolete brainstorming doc.

7 years agoMake the blur use the resize functionality, which also unbreaks the in-between sampli...
Steinar H. Gunderson [Sun, 7 Oct 2012 20:26:13 +0000 (22:26 +0200)]
Make the blur use the resize functionality, which also unbreaks the in-between sampling. Oh, lovely blur.

7 years agoSome Makefile tweaks.
Steinar H. Gunderson [Sun, 7 Oct 2012 20:25:40 +0000 (22:25 +0200)]
Some Makefile tweaks.

7 years agoRemove a flipping that is now wrong (again, because phase inputs are always RTT).
Steinar H. Gunderson [Sun, 7 Oct 2012 18:55:17 +0000 (20:55 +0200)]
Remove a flipping that is now wrong (again, because phase inputs are always RTT).

7 years agoFix an issue with textures that are immediately bounced (they need mipmaps in all...
Steinar H. Gunderson [Sun, 7 Oct 2012 18:53:42 +0000 (20:53 +0200)]
Fix an issue with textures that are immediately bounced (they need mipmaps in all cases, since “inputs” to a phase now always are RTT inputs). Also add a FIXME to kill bounces in some of those cases.

7 years agoSupport changing resolution in effects, and add a simple ResizeEffect that does that...
Steinar H. Gunderson [Sun, 7 Oct 2012 18:17:38 +0000 (20:17 +0200)]
Support changing resolution in effects, and add a simple ResizeEffect that does that. It is still not possible to query the input size, though.

7 years agoAdd missing file opengl.h.
Steinar H. Gunderson [Sun, 7 Oct 2012 16:23:34 +0000 (18:23 +0200)]
Add missing file opengl.h.

7 years agoAdd .d files to .gitignore.
Steinar H. Gunderson [Sun, 7 Oct 2012 16:23:27 +0000 (18:23 +0200)]
Add .d files to .gitignore.

7 years agoAdd simple dependency generation to the Makefile.
Steinar H. Gunderson [Sun, 7 Oct 2012 12:01:15 +0000 (14:01 +0200)]
Add simple dependency generation to the Makefile.

7 years agoMove pixel_format out of the ImageFormat struct, since it is only relevant for FlatInput.
Steinar H. Gunderson [Sun, 7 Oct 2012 10:54:32 +0000 (12:54 +0200)]
Move pixel_format out of the ImageFormat struct, since it is only relevant for FlatInput.

7 years agoMove all OpenGL includes into one file.
Steinar H. Gunderson [Sun, 7 Oct 2012 10:44:58 +0000 (12:44 +0200)]
Move all OpenGL includes into one file.

7 years agoAdd YCbCr input. Required a bit of reworking of the sRGB extension stuff, but seems...
Steinar H. Gunderson [Sun, 7 Oct 2012 10:32:30 +0000 (12:32 +0200)]
Add YCbCr input. Required a bit of reworking of the sRGB extension stuff, but seems to work fine.

7 years ago1.0f is not allowed in GLSL; 1.0 it is.
Steinar H. Gunderson [Sat, 6 Oct 2012 23:59:04 +0000 (01:59 +0200)]
1.0f is not allowed in GLSL; 1.0 it is.

7 years agomat3() contructor takes elements in column-major order, so fix ColorspaceConversionEf...
Steinar H. Gunderson [Sat, 6 Oct 2012 18:04:31 +0000 (20:04 +0200)]
mat3() contructor takes elements in column-major order, so fix ColorspaceConversionEffect.

7 years agoMake Input an abstract base class, and move the current functionality into FlatInput...
Steinar H. Gunderson [Sat, 6 Oct 2012 13:35:53 +0000 (15:35 +0200)]
Make Input an abstract base class, and move the current functionality into FlatInput. Also change a bit how we deal with adding them.

7 years agoKill the EffectId enum, on the basis of YAGNI.
Steinar H. Gunderson [Sat, 6 Oct 2012 13:04:50 +0000 (15:04 +0200)]
Kill the EffectId enum, on the basis of YAGNI.

7 years agoFix a warning.
Steinar H. Gunderson [Sat, 6 Oct 2012 13:03:55 +0000 (15:03 +0200)]
Fix a warning.

7 years agoRedo the phase generation; we now start at the output end instead of at the inputs...
Steinar H. Gunderson [Sat, 6 Oct 2012 12:35:07 +0000 (14:35 +0200)]
Redo the phase generation; we now start at the output end instead of at the inputs, which makes a lot more sense and unbreaks multiple-input scenarios.

7 years agoBind input textures to the right sampler, and do it even if we do not need to update...
Steinar H. Gunderson [Sat, 6 Oct 2012 12:34:24 +0000 (14:34 +0200)]
Bind input textures to the right sampler, and do it even if we do not need to update it (just draw from it).

7 years agoOpen up for multiple inputs. We need to re-think the execution algorithm before it...
Steinar H. Gunderson [Sat, 6 Oct 2012 10:09:14 +0000 (12:09 +0200)]
Open up for multiple inputs. We need to re-think the execution algorithm before it will actually work, though.

7 years agoRemove another unused member.
Steinar H. Gunderson [Sat, 6 Oct 2012 09:43:12 +0000 (11:43 +0200)]
Remove another unused member.

7 years agoRemove an unused member.
Steinar H. Gunderson [Sat, 6 Oct 2012 09:42:40 +0000 (11:42 +0200)]
Remove an unused member.

7 years agoTypo fix.
Steinar H. Gunderson [Sat, 6 Oct 2012 09:40:45 +0000 (11:40 +0200)]
Typo fix.

7 years agoLine-wrap the Makefile a bit.
Steinar H. Gunderson [Fri, 5 Oct 2012 23:24:17 +0000 (01:24 +0200)]
Line-wrap the Makefile a bit.

7 years agoAdd a glow effect, and an effect that linearly mixes two sources (because glow needed...
Steinar H. Gunderson [Fri, 5 Oct 2012 23:17:39 +0000 (01:17 +0200)]
Add a glow effect, and an effect that linearly mixes two sources (because glow needed that).

7 years agoDiffusionEffect should not have any GLSL stuff in it.
Steinar H. Gunderson [Fri, 5 Oct 2012 23:14:08 +0000 (01:14 +0200)]
DiffusionEffect should not have any GLSL stuff in it.

7 years agoDiffusionEffect now needs sRGB primaries, since we compute the luminance.
Steinar H. Gunderson [Fri, 5 Oct 2012 23:06:23 +0000 (01:06 +0200)]
DiffusionEffect now needs sRGB primaries, since we compute the luminance.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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().

7 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.

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

7 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.

7 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...

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.

7 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.