Added support for userparameter on the clearcolor of the scene
Scenes should draw into the full framebuffer
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Added base VAO
Fixed scene image align issues and things being flipped vertically under specific situations
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Simplified how passes rendering works and separated it into a two stages process
Setup (prepares shaders, uniforms, attributes, etc)
Render (only performs the actual rendering)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Added support for color blend mode
Main pass' blendmode should be normal
Last pass' blendmode should be the first's
Fixed order of glClear's so _rt_FullFrameBuffer is the right color at the right time
Simplified effect and pass creation code a bit more
Non-visible images should render the full chain into the pingpong framebuffers instead of to screen
Fixed an integer division not producing float numbers
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Simplified texture decision graph and preload it so render is quicker
Improved material detecion on shaders
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Further improvements on detection of combo values for shaders
Support for detecting visibility settings on effects
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Added support for PKGV0018
Try to prevent crashing when shaders do not compile and go with whatever can be displayed
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Added combo properties support
Bumped up GLSL version to 130 and added some extra definitions
This work goes on to #115, although the background won't start up yet because of shader compilation issues
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ Fixed combo setting based on the textures supplied to the image
~ Fixed vec4 shader constants not using the default value
Should fix#87
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
~ ITextures can now also return sub-textures width and height
+ added proper code to handle animated images to properly play at normal speed
this should actually fix#79 for good
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ moved some things into CContext so main is a bit cleaner
~ moved wallpaper object creation into CWallpaper so main is a bit cleaner
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ moved pixmap, gc and image creation to the initialization
TODO: SUPPORT SCREEN SIZE CHANGES (THIS MIGHT NEED REINITIALIZATION OF THINGS)
~ moved fbo creation to initialization as it won't change anymore
~ reverted render code to the original loop as now the framebuffer is exactly as big as the whole display
~ moved glReadPixels off the wallpaper as that's code is exclusively used for screen rendering and not general rendering
~ XChangeProperty forces the update of the background, otherwise the compositor stops refreshing the screen and the background gets stuck
~ updated viewport variables to be integers instead of floats
~ reverted frame rendering code to be simpler and added the option to specify a framebuffer as target instead of screen
Signed-off-by: Alexis Maiquez <almamu@almamu.com>