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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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