Commit Graph

367 Commits

Author SHA1 Message Date
Alexis Maiquez
cbb02873a8 ~ Updated README.md to reflect the changes in command-line execution
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-29 13:04:25 +01:00
Alexis Maiquez
adad3bd18c ~ Changed parser to give sane defaults to some values (like origin, scale and size for each object)
~ Improved path detection on command line arguments
- Removed references to old, deprecated options

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-29 12:57:15 +01:00
Alexis Maiquez
d041e6455e ~ Better error handling to show relevant messages when a package load doesn't work
+ Added support for loading PKGV0014

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-11-29 12:33:15 +01:00
Alexis Maiquez
74ee75f862 + added a new example to the readme
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-10-01 17:37:14 +02:00
Alexis Maiquez
332507351f ~ use glClear instead of allocating pixels for FBOs creation
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-10-01 15:46:04 +02:00
Alexis Maiquez
4744304a3d ~ fixed multiple-screen rendering of backgrounds
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-10-01 04:16:13 +02:00
Alexis Maiquez
13ef4a96c2 ~ changed orthographic camera to use the center as 0, might get reverted,
~ shader passes now won't try to detect projection, texcoord or position, as this'll be specified as parameters
~ removed useless variables being stored
~ model view projection matrix is now stored by image, not by pass
~ proper calculation of centered images

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-10-01 04:06:27 +02:00
Alexis Maiquez
f86eba347c ~ changed priority of assets loading, so background's assets should be loaded before looking into the assets folder
~ hopefully fixed effects that use shader targets so they now display properly

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-29 01:21:35 +02:00
Alexis Maiquez
f5e943b0fc + added ansiotropic filtering
~ material's binds are now a map by index so it's easier to use
- removed depth buffer for FBOs as they're not really useful (at least for now)
~ separated image setup in two stages so FBO creation happens before actually requiring them
- removed ping-pong FBOs where they didn't make sense
~ image's should now render to scene buffer directly whenever possible
~ better support for FBO scaling
~ rendering should now take into account targets and binds in a much better way

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-28 21:41:24 +02:00
Alexis Maiquez
5828b2ee80 + added some extra documentation on rendering based on observations and trial and error
~ 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>
2021-09-27 01:39:23 +02:00
Alexis Maiquez
6c8187324e - removed -fpermissive from the C++ flags compiler as it was screwing up the compilation
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 15:51:05 +02:00
Alexis Maiquez
50c9aebab0 - removed references to irrlicht (thanks to @mihawk90)
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 14:38:29 +02:00
Alexis Maiquez
fc442ef29d + added mention of more dependencies for GLFW3 on README.md
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 09:33:54 +02:00
Alexis Maiquez
5e70a97021 + added mention of custom GLFW3 version being built as part of linux-wallpaperengine
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 09:31:19 +02:00
Alexis Maiquez
83a31c7e17 + added mention of libxxf86vm to the readme
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-10 09:28:47 +02:00
Alexis Maiquez
03089ec35d + added mentions of glew and glut requirements in the readme
+ added PKGV0013 to the list of supported packages

Signed-off-by: Alexis Maiquez <almamu@almamu.com>
2021-09-09 20:59:49 +02:00
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