Commit Graph

351 Commits

Author SHA1 Message Date
Alexis Maiquez
58be46460b + added a missing linefeed for the README.md to look nice
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 22:07:05 +02:00
Alexis Maiquez
ed2a140aed ~ reflect submodules cloning on the README for the project usage
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 22:06:14 +02:00
Alexis Maiquez
93456940e3 ~ fix videos not being rendered properly
~ fix some combos not having the correct casing for shaders

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 21:57:57 +02:00
Alexis Maiquez
3f4996234e ~ changed some json data to have a default value if it's null or not-existant
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 21:17:02 +02:00
Alexis Maiquez
73c40c3d4e ~ fix resolutions higher than your current window
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 21:03:50 +02:00
Alexis Maiquez
3736c0c1b9 - removed some irr:: types left on the code that I missed
~ 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>
2021-09-08 20:30:03 +02:00
Alexis Maiquez
0328dbad92
Merge pull request #46 from Almamu/opengl-port
Rewrite using OpenGL
2021-09-08 19:49:52 +02:00
Alexis Maiquez
0a95b27272 + added somewhat proper scaling of (small) backgrounds
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 19:47:49 +02:00
Alexis Maiquez
48da16f7e5 ~ listen for screen size changes and setup proper viewport so everything is rendered from the center of the screen
~ fixed a typo on one of the vertex positions for the CWallpaper::render function

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 19:42:27 +02:00
Alexis Maiquez
213af7b99a + added the submodules file missing on last commit
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 19:12:11 +02:00
Alexis Maiquez
0225cac917 ~ changed glfw to use a custom library version until upstream adds proper support for this
~ brought back proper background rendering and position detection

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 19:09:43 +02:00
Alexis Maiquez
0dc5228cf0 ~ fixed build issue with the tests on glfw3 native functions
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-08 16:16:45 +02:00
Alexis Maiquez
2432ec9a36 ~ some cleanup of todos and dead code
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-05 22:02:58 +02:00
Alexis Maiquez
03c4660f5c ~ brought back path fixing functionality so all paths given in the command line now end with a /
+ added support for texture format definition (TEX0FORMAT) although it might need some more investigation (specially for multi-pass shaders)
+ added implicit conversion from vec3 to vec2 in shaders

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-05 21:53:37 +02:00
Alexis Maiquez
154fe905bc ~ brought back video support
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-05 21:52:16 +02:00
Alexis Maiquez
113d84173e ~ changed readTexture for containers to produce a CTexture file ready to be used (simplifies loading textures)
~ fixed a write to null error on CDirectory that wasn't taking into account that length can be null

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-05 14:29:11 +02:00
Alexis Maiquez
5c56d68a69 ~ fixed texture resolution variable not being correct (prevented texture scaling on things like masks)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-05 14:15:12 +02:00
Alexis Maiquez Murcia
30b4eb4cd4 ~ fix type extraction on shaders not working properly
+ added uint4 and mat4x3 types

Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2021-09-04 21:49:48 +02:00
Alexis Maiquez
b152913d90 - removed useless variable types that are not being used anymore
~ 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>
2021-09-04 15:44:39 +02:00
Alexis Maiquez
65bfbe1493 + added some default values for TextureMipmap as they were not being set automatically by the compiler sometimes (and thus breaking the texture load)
+ 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>
2021-09-04 15:02:11 +02:00
Alexis Maiquez
2ffb5f1b24 + added an extra render pass to render the scene upside down (so it looks fine)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-03 03:24:55 +02:00
Alexis Maiquez
16ed2f30de + added FreeImage for loading all the non-compiled textures (jpg, pngs, etc)
+ 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>
2021-09-02 23:59:00 +02:00
Alexis Maiquez
9d7d344b80 - removed commented code from main.cpp that is not useful anymore
~ changed how g_Time is calculated so any shader that uses it should behave properly
~ changed how the uniforms are set to a reinterpret_cast instead of static_cast to perform a direct pointer conversion (safe as we know the types were actually those types)

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-02 22:30:38 +02:00
Alexis Maiquez
59e6800f81 + added depthtesting and blending support for shader passes
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-02 09:05:12 +02:00
Alexis Maiquez
09d53e8dd7 + added proper value for a_TexCoord when the rendering is not hapening from the main texture
TODO: THIS IS ALL EXPERIMENTAL CODE, THESE VALUES WILL BE SETUP ON STARTUP AND NOT ON RUNTIME

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 20:10:21 +02:00
Alexis Maiquez
06c519ce79 - removed useless debugging output
~ changed attribs to be registered at a list too to make it easier to use

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 19:55:03 +02:00
Alexis Maiquez
cfdd92d173 + added missing table headers on TEXTURE_FORMAT.md
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 16:41:02 +02:00
Alexis Maiquez
8ae77aa7c0 - removed useless casting on CTexture
~ updated TEXTURE_FORMAT.md documentation to reflect real format

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 16:39:25 +02:00
Alexis Maiquez
d9c12d0b58 - removed .idea folder as that shouldn't have been uploaded in the first place
~ changed g_Time to float instead of double

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 15:30:00 +02:00
Alexis Maiquez
6096981136 ~ more updates to readme
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 02:31:50 +02:00
Alexis Maiquez
e71ae189fb + added some special thanks to the readme.md
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 02:05:24 +02:00
Alexis Maiquez
eb29078cfe - removed duplicated list of variables and unified under the new way of registering uniforms, simplifying required code
- removed commented out code on CPass as there's already almost equivalent code working

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 01:48:21 +02:00
Alexis Maiquez
7613bf254a ~ updated readme to reflect current status
+ added texture resolution to CTexture so it can be properly used in the CPass
+ framebuffer textures now have filtering specified (prevents black screen), still need to adjust information about the texture
+ added proper uniform variable registration to ease the usage

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-01 01:27:01 +02:00
Alexis Maiquez
8bc19b20ae + added support for the isVisible flag on images
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-31 02:51:10 +02:00
Alexis Maiquez
dd76439901 ~ fixed a_TexCoord variable not having the correct values
- 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>
2021-08-31 02:29:28 +02:00
Alexis Maiquez
291b7e364a - removed/commented out most irrlicht-specific code
~ 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>
2021-08-31 01:14:08 +02:00
Alexis Maiquez
861f2261ef ~ changed the texture resolution constant on shaders, although it is 100% incorrect, seems to get some more wallpapers working
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-08 09:41:25 +02:00
Alexis Maiquez
537acb97bd ~ shader precompilation should be done in order to ensure that the vertex shader has information discovered by the fragment shader (like new combos) should fix some effects on backgrounds
+ added partial support for shader constant values from the scene.json

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-08 08:41:03 +02:00
Alexis Maiquez
8d0eb6d63c ~ combo value detection should now update combo list on shaders too instead of writting them directly
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-08 07:46:06 +02:00
Alexis Maiquez
b4a6dc9bcd ~ fragment shaders can set new combos on rare occasions, so updated shader compiler to reflect this possibility
~ also updated shader passes to ensure it takes this into account

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-08 07:41:12 +02:00
Alexis Maiquez
65a26c2b16 - removed some special handling for white masks that was a dirty fix, the new code should support it out of the box properly
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-08 02:10:31 +02:00
Alexis Maiquez
4309ca722d + properly set g_Time for shaders
+ properly set g_TextureXResolution for shaders
+ properly set g_TextureX for shaders
+ properly set g_TextureXRotation for shaders

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-08 02:02:17 +02:00
Alexis Maiquez
2673179909 + added a really dirty fix for the upside down textures that had applied some effects to them
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-08-08 01:14:52 +02:00
Alexis Maiquez
c93c72edc0 + added orthogonal flag to the camera
~ removed reduntant code from CImage and made use of the new versions of the same code on CEffect, CMaterial and CPass to simplify the rendering code and make it easier to read
  TODO: FIX MATRIX THAT VERTICALLY FLIPS THE IMAGES!
~ properly linked output from CMaterial, CEffect and CPass so a full render pass outputs something to the screen

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-07-29 16:05:15 +02:00
Alexis Maiquez
d212bde9aa + added the assets folder to the gitignore
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-06-16 21:31:24 +02:00
Alexis Maiquez
89f956e796 ~ fix image positioning when the camera center was not 0, 0, 0
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-06-16 18:38:37 +02:00
Alexis Maiquez
4a1f91d548 Merge branch 'data-separation' of github.com:Almamu/linux-wallpaperengine into data-separation 2021-06-16 18:10:36 +02:00
Alexis Maiquez
10191202df + added light element type to the detection list, not supported yet
+ added PKGV0004, PKGV0005, PKGV0006 to the list

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-06-16 18:10:05 +02:00
Alexis Maiquez
e89e80c2b8 ~ Fixed a mistake in the variable parsing for the shader pre-compiler, arrays are not always expected
Signed-off-by: Alexis Maiquez Murcia <almamu@almamu.com>
2020-10-29 12:00:51 +01:00
Alexis Maiquez
a0ed644491 ~ added search for text objects in the backgrounds to prevent crashes for now
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2020-08-25 15:19:45 +02:00