* Add sampler2DComparison and uint to known types
* Ignore unsupported `#require` preprocessor directive
`#require LightingV1` is found in generic4.frag, genericimage4.frag, ...
* Mark _alias_* textures as FBOs
Currently not supported, but prevents loading from the file, thereby
avoiding CAssetLoadException
Added comments all over the codebase to explain things a bit better
Improved CApplicationContext to be a bit more self-explanatory
Abstracted CRenderContext access away into a helper that every render class should use
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
Window mode now has extra settings for setting the position and size
Fixed audio not muting when --silent was used
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
- use of auto in some places (more of this to come)
- use for loops instead of iterators for most of the loops
- extracted glfw/glew code into it's own class
- make usage of std::filesystem instead of checking things with old C libraries
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>
~ 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>
~ quick and dirty hack to make combos propagate between shaders (this needs to be improved, left TODOs for that)
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>
- 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>