]>
git.sesse.net Git - movit/log
Steinar H. Gunderson [Wed, 10 Oct 2012 23:34:29 +0000 (01:34 +0200)]
Fix snafu in gamma expansion node insertion.
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.
Steinar H. Gunderson [Wed, 10 Oct 2012 22:43:02 +0000 (00:43 +0200)]
Simplify the refocus shader a bit.
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.
Steinar H. Gunderson [Wed, 10 Oct 2012 20:41:14 +0000 (22:41 +0200)]
Remove stray debugging output.
Steinar H. Gunderson [Wed, 10 Oct 2012 20:37:42 +0000 (22:37 +0200)]
Remove some leftover out-commented code.
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.
Steinar H. Gunderson [Wed, 10 Oct 2012 18:19:59 +0000 (20:19 +0200)]
Only recompute deconvolution kernel when we need to.
Steinar H. Gunderson [Wed, 10 Oct 2012 18:02:27 +0000 (20:02 +0200)]
Add an implementation of sharpening by FIR Wiener filters.
Steinar H. Gunderson [Tue, 9 Oct 2012 22:59:39 +0000 (00:59 +0200)]
Inform about input sizes also in the last pass.
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.
Steinar H. Gunderson [Tue, 9 Oct 2012 10:04:18 +0000 (12:04 +0200)]
Spread resolution information throughout the effect chain.
Steinar H. Gunderson [Tue, 9 Oct 2012 09:38:59 +0000 (11:38 +0200)]
Typo fix.
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.
Steinar H. Gunderson [Mon, 8 Oct 2012 22:54:29 +0000 (00:54 +0200)]
Small precision fix in texture bounce comment.
Steinar H. Gunderson [Mon, 8 Oct 2012 22:53:36 +0000 (00:53 +0200)]
Pull EffectChain a step closer to input resolution independence.
Steinar H. Gunderson [Mon, 8 Oct 2012 20:54:26 +0000 (22:54 +0200)]
Fix spurious blank lines on stdout.
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).
Steinar H. Gunderson [Mon, 8 Oct 2012 16:49:58 +0000 (18:49 +0200)]
Save a multiplication in the vignette effect.
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.
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.
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.
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.
Steinar H. Gunderson [Mon, 8 Oct 2012 12:45:32 +0000 (14:45 +0200)]
Output the graph in dot form at finalize time.
Steinar H. Gunderson [Mon, 8 Oct 2012 12:35:45 +0000 (14:35 +0200)]
Remove draw_vertex() declaration; the function was never implemented.
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.
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.
Steinar H. Gunderson [Mon, 8 Oct 2012 08:39:23 +0000 (10:39 +0200)]
Allow changing pitch on YCbCrInput as we go.
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.
Steinar H. Gunderson [Sun, 7 Oct 2012 20:35:21 +0000 (22:35 +0200)]
Remove obsolete brainstorming doc.
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.
Steinar H. Gunderson [Sun, 7 Oct 2012 20:25:40 +0000 (22:25 +0200)]
Some Makefile tweaks.
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).
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.
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.
Steinar H. Gunderson [Sun, 7 Oct 2012 16:23:34 +0000 (18:23 +0200)]
Add missing file opengl.h.
Steinar H. Gunderson [Sun, 7 Oct 2012 16:23:27 +0000 (18:23 +0200)]
Add .d files to .gitignore.
Steinar H. Gunderson [Sun, 7 Oct 2012 12:01:15 +0000 (14:01 +0200)]
Add simple dependency generation to the Makefile.
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.
Steinar H. Gunderson [Sun, 7 Oct 2012 10:44:58 +0000 (12:44 +0200)]
Move all OpenGL includes into one file.
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.
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.
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.
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.
Steinar H. Gunderson [Sat, 6 Oct 2012 13:04:50 +0000 (15:04 +0200)]
Kill the EffectId enum, on the basis of YAGNI.
Steinar H. Gunderson [Sat, 6 Oct 2012 13:03:55 +0000 (15:03 +0200)]
Fix a warning.
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.
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).
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.
Steinar H. Gunderson [Sat, 6 Oct 2012 09:43:12 +0000 (11:43 +0200)]
Remove another unused member.
Steinar H. Gunderson [Sat, 6 Oct 2012 09:42:40 +0000 (11:42 +0200)]
Remove an unused member.
Steinar H. Gunderson [Sat, 6 Oct 2012 09:40:45 +0000 (11:40 +0200)]
Typo fix.
Steinar H. Gunderson [Fri, 5 Oct 2012 23:24:17 +0000 (01:24 +0200)]
Line-wrap the Makefile a bit.
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).
Steinar H. Gunderson [Fri, 5 Oct 2012 23:14:08 +0000 (01:14 +0200)]
DiffusionEffect should not have any GLSL stuff in it.
Steinar H. Gunderson [Fri, 5 Oct 2012 23:06:23 +0000 (01:06 +0200)]
DiffusionEffect now needs sRGB primaries, since we compute the luminance.
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.
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.
Steinar H. Gunderson [Fri, 5 Oct 2012 22:42:32 +0000 (00:42 +0200)]
Add missing file image_format.h, and add grayscale support.
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.
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.
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.
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().
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.
Steinar H. Gunderson [Fri, 5 Oct 2012 11:01:15 +0000 (13:01 +0200)]
Unbreak the final normalizers.
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.
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...
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.
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.
Steinar H. Gunderson [Thu, 4 Oct 2012 19:57:38 +0000 (21:57 +0200)]
Revert an unintended change to main.cpp.
Steinar H. Gunderson [Thu, 4 Oct 2012 15:28:15 +0000 (17:28 +0200)]
Replace LAST_INPUT with INPUT.
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.
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.
Steinar H. Gunderson [Wed, 3 Oct 2012 20:05:52 +0000 (22:05 +0200)]
Fix R/B swapping in the SDL conversion.
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.
Steinar H. Gunderson [Wed, 3 Oct 2012 18:23:07 +0000 (20:23 +0200)]
Fix a (harmless) Valgrind hit.
Steinar H. Gunderson [Wed, 3 Oct 2012 18:22:36 +0000 (20:22 +0200)]
Let SDL convert the pixels instead of doing it ourselves.
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.
Steinar H. Gunderson [Wed, 3 Oct 2012 16:55:24 +0000 (18:55 +0200)]
Work around a Mesa bug wrt. mipmap generation.
Steinar H. Gunderson [Wed, 3 Oct 2012 16:55:08 +0000 (18:55 +0200)]
Give NULL to glTexImage2D() instead of zeroing memory ourselves.
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.
Steinar H. Gunderson [Wed, 3 Oct 2012 15:56:14 +0000 (17:56 +0200)]
Yet more header file comments.
Steinar H. Gunderson [Wed, 3 Oct 2012 15:53:10 +0000 (17:53 +0200)]
Comment all of *_effect.h.
Steinar H. Gunderson [Wed, 3 Oct 2012 15:37:18 +0000 (17:37 +0200)]
Comment the Effect class.
Steinar H. Gunderson [Wed, 3 Oct 2012 14:48:05 +0000 (16:48 +0200)]
Small refactoring.
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.
Steinar H. Gunderson [Wed, 3 Oct 2012 14:30:55 +0000 (16:30 +0200)]
Some more GL state paranoia.
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.
Steinar H. Gunderson [Wed, 3 Oct 2012 12:55:27 +0000 (14:55 +0200)]
Support setting vec4 arrays.
Steinar H. Gunderson [Wed, 3 Oct 2012 12:40:13 +0000 (14:40 +0200)]
Do not send uninitialized memory as a texture.
Steinar H. Gunderson [Wed, 3 Oct 2012 10:31:37 +0000 (12:31 +0200)]
Set better texture environment for the intermediate textures.
Steinar H. Gunderson [Wed, 3 Oct 2012 09:52:53 +0000 (11:52 +0200)]
Add a hack to restore the miplevels after blurring.
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.
Steinar H. Gunderson [Tue, 2 Oct 2012 23:14:27 +0000 (01:14 +0200)]
Increase the range of the blur control.
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.
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.
Steinar H. Gunderson [Tue, 2 Oct 2012 22:47:13 +0000 (00:47 +0200)]
Hook up a blur radius control.
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.
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.
Steinar H. Gunderson [Tue, 2 Oct 2012 20:19:31 +0000 (22:19 +0200)]
Mark some functions in Effect as const.