~ deprecated --dir --pkg options, the software will automatically detect the background we're loading
+ first draft of FBO support, there's still some extra work to do
~ texture header is now hidden behind getters so the textures can be any kind of source
~ proper setting of resolution and translation variables for textures
~ simplified call flow for any pass rendering, removing render functions on effect and material
~ framebuffer setup has to happen before object setup in the scene
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ updated some strings to ensure the type-checking matches
+ added support for integer <-> float casting on constants
+ added support for vec2 variables
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ added helper to parse vector4 data from json
- removed some old, commented out code
+ added support for getting textures from the shader's code too (fixes masks on some backgrounds)
+ added support for shader varibles with default values from shader's source code
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ set proper glViewport instead of hardcoded 1920 by 1080 (this might require some changing and instead do a glViewport of the screen/window size and then scaling the backbuffers)
~ set proper texture size for pingpong buffers (to work with the viewport fixes)
- removed FREE_IMAGE_FORMAT as it's already included in the FreeImage library
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
- removed irrlicht functions and types from the active codebase so it's no longer required at compile time (CContext still there as the code might be still be useful)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ written close to equivalent versions in OpenGL code using GLM and GLFW
~ written replacements for texture and package loading to not use irrlicht anymore
~ updated shader compiler as we now don't need to replace attributes anymore
+ added support for texture flags in the texture header (as they're needed for opengl to get proper information)
TODO: REWRITE VIDEO PLAYER SUPPORT AS THIS UPDATE EFFECTIVELY BREAKS IT
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ added PKGV0007 to the list of supported packages (experimental)
+ added support for parsing properties of type bolean
+ added parsing of a missing particle initializer (turbulentvelocityrandom)
+ added back sound playinh which was left out when rewritting
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
* Adds FFmpeg to CMake
* Refactors to allow support for other wallpaper types
* Updates README.md for compilation requirements
* Initial video support without audio
* Properly support different wallpapers
* Fixes videos not rendering
* Nitpicks
* Moves code related to rendering from Core::CVideo to Render::CVideo
+ added parsing of bind section for shader passes
~ various new classes to properly handle texture targets, shader passes and materials
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ added fbos parsing from effect files
~ cleaned up effect parsing code
~ support for texture target parsing in materials for texture render targets
~ changed way of modifying textures from passes to a more abstracted way
~ moved shader constants to it's own namespace
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ added g_Time to global variable storage
- removed global g_Time from main
~ changed "shader parameters" to "shader variables" as it's a more apt naming
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ Improved Shader Compiler parameter list to a better approach
+ Added support for one-pass effects with shaders (only first shader/pass will be applied)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ Added camera for new renderization code
+ Added scene for new renderization code
+ Added object for new renderization code
+ Added image for new renderization code
WARNING: THIS IS A REGRESSION AS IN SHADERS ARE NOT AS COMPLETE AS IN THE MASTER BRANCH
~ New renderization code in place
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
This includes changes to old code to be compatible, the externs won't be used once the renderer is rewritten and the old code removed
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ Updated #include directives to include full paths to files
~ Re-organized folder structure for the project
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
+ Added partial parsing of particles
+ Support for particle emitter parsing
+ Support for particle initializers parsing
+ Support for particle controlpoints parsing
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
~ Fixed shader parameter setting that wasn't properly loading the values for the shader to use
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
- Removed config class as It's no longer used
+ Added a small readme with all the documentation needed up to now
+ Changed the way the application starts to take into account execution switches to allow the users to select a background without recompiling the software
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
~ Added a small utils class to read full files to ram for the purpose of parsing json files
Most of these files are really small, so there shouldn't really be any memory concerns
+ Added support for loading backgrounds directly from PKG files
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
~ Limit projects to scenes only
~ Updated shader definitions to compile all the WallpaperEngine shaders
+ Documented shader compiler
Signed-off-by: Alexis Maiquez <almamu@almamu.com>