Commit Graph

40 Commits

Author SHA1 Message Date
Bruno
a18fd3177c Follow clang-tidy and clazy suggestions
variables non-POD should not be 'static' outside a class. Always use and init variables. Delete useless classes.
2021-07-17 16:45:01 +02:00
Bruno
055f5c4c4e Creating a base toolkit for functions independent from other toolkits 2021-04-25 20:09:22 +02:00
Bruno
31eb13e16d Unused =operator: copy function instead 2021-04-18 10:58:03 +02:00
brunoherbelin
d2b4a825eb avoid pedantic compilation warning 2021-04-04 13:27:56 +02:00
brunoherbelin
f443720319 Programming style improvement: following Cppcheck suggestions. 2021-04-04 13:13:06 +02:00
brunoherbelin
4093170599 New blending: hard light 2021-02-22 18:26:14 +01:00
brunoherbelin
8019f4ea25 Cleanup blending update 2021-02-21 22:02:04 +01:00
Bruno
a612395ca3 Added Lighten only blending mode 2021-02-20 00:26:21 +01:00
Bruno
f51bc1f1f4 New Blending with pre-multiplied alpha
Finally found how to improve blending modes by pre-multiplying color by alpha in the shader, so that the blending equations can be applied on top of the apha manipulation.
2021-02-18 23:36:01 +01:00
Bruno
cb5562eca2 Blending with separate alpha and color functions 2021-02-16 23:01:02 +01:00
Bruno
34c24d99df Integration procedural GLSL masks 2020-12-27 14:05:03 +01:00
brunoherbelin
5200de2e3e Implementation of image transformation in shaders: iTransform is a
generic UV coordinates transformation matrix (for translation, scaling
and rotation) edited in AppearanceView. Removing previous UV editing
functions.
2020-11-29 12:31:06 +01:00
brunoherbelin
1ab2ae0df0 Operational implementation of UV texture coordinates changes in
Appearance View.
2020-11-16 21:43:39 +01:00
brunoherbelin
f32b85a656 Centralizing and unifying the generator of object identifiers. 2020-10-03 14:05:28 +02:00
brunoherbelin
13867e2192 Unified identifyer mechanism (tested and confirmed to produce unique
integer < MAX_INT)
2020-08-20 20:51:42 +02:00
brunoherbelin
650066d995 Smoother alpha transition in mixing view. Also force use of opacity
blending in mixing view for clarity.
2020-07-28 17:29:53 +02:00
brunoherbelin
4261dedff1 Updated Image Processing shader and GUI: gamma color processing follows
HSV transform. new Shader assignment operator.
2020-06-06 17:59:21 +02:00
brunoherbelin
b287949b4a Changed a bit the mixing process; source color is adjusted with gamma
RGB, not a global blending color.
2020-06-05 21:10:52 +02:00
brunoherbelin
14f7543f02 Cosmetics appearance shadow and frame. Cleanup rsc folder 2020-06-04 22:46:08 +02:00
brunoherbelin
069009fc06 Session loading and saving in thread. 2020-05-09 13:40:47 +02:00
brunoherbelin
bdb092dddb Fixed visitors Session and ImgUI 2020-04-29 21:53:28 +02:00
brunoherbelin
8cc6da98ba Fixed Shader imageprocessing. 2020-04-28 11:47:04 +02:00
brunoherbelin
6101ecd086 Gui visitor for image procesing shader 2020-04-26 10:07:10 +02:00
brunoherbelin
551acf25b9 New Shader Image Processing
Cleanup shaders and add image processing shader for source
2020-04-25 23:58:49 +02:00
brunoherbelin
0e24d1a083 Implementation of source frame buffer; rendering of source and scene
integration
2020-04-25 11:52:47 +02:00
brunoherbelin
fa0f4c8fc4 Add GLM as submodule 2020-04-13 21:53:19 +02:00
brunoherbelin
1e9c8c013d Glm backward compatibility gtc extension 2020-04-13 20:24:46 +02:00
brunoherbelin
1f2a37a85f avoid include glm/ext/vector_float 2020-04-13 17:52:48 +02:00
brunoherbelin
df6e2bbe63 Implementation of Mesh Primitive Node to draw geometries (replace OBJ). 2020-04-12 23:10:29 +02:00
brunoherbelin
bf953b328a Using vec4 for color (adding alpha) 2020-04-11 22:30:19 +02:00
brunoherbelin
1e70d8f4e2 Implement mechanism to push & pop rendering attributes 2020-04-05 11:44:01 +02:00
brunoherbelin
bef60e3e13 Using translation, rotation and scale vectors to define transform of
node (matrix computed at update). GUI to modify transform adapted
accordingly. Initialization nodes done at first run of draw (prevents
mistake of forgetting to init).
2020-04-05 01:21:29 +02:00
brunoherbelin
fc256693dc Creation of Switch Node, Fixed Primitives inheritance, and added
Blending to Shader.
2020-04-02 00:06:55 +02:00
brunoherbelin
37a6754de2 Extend mechanism of visitor for all important classes that has
attributes of a scene (for saving in XML, or other visitors)
2020-04-01 14:41:42 +02:00
brunoherbelin
da8e124ad1 Avoid Clang compilation warnings 2020-03-31 20:52:00 +02:00
brunoherbelin
2fc01e8435 Introducing scene graph 2020-03-31 17:01:33 +02:00
brunoherbelin
25ed6e5337 Shader refer to single instance of shading program to avoid duplicate in
GPU.
2020-03-29 09:56:56 +02:00
brunoherbelin
84734727a2 Simplified Shader (uniforms must be set at each use of a Shader, even if
they share the same program).
2020-03-29 00:54:44 +01:00
brunoherbelin
a36ec5ffeb Redefine shading classes: glsl program is now separate from shader
class, which are derived to manage uniform variables.
2020-03-29 00:22:56 +01:00
brunoherbelin
0bba7a0a84 Complete refactoring 2020-03-22 12:22:36 +01:00