Working on a minor derivative for Voxel Doom
Moderator: GZDoom Developers
Forum rules
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
Before asking on how to use a ZDoom feature, read the ZDoom wiki first. If you still don't understand how to use a feature, then ask here.
Please bear in mind that the people helping you do not automatically know how much you know. You may be asked to upload your project file to look at. Don't be afraid to ask questions about what things mean, but also please be patient with the people trying to help you. (And helpers, please be patient with the person you're trying to help!)
-
- Posts: 226
- Joined: Fri Jan 30, 2015 10:32 pm
- Location: Pittman Center
- Contact:
Working on a minor derivative for Voxel Doom
As you guys may know, Cheello recently released the newest version of his Voxel/Parallax Doom mod. Would it be possible to modify the texture scripting so that the parallax effect works in the GLES renderer as well as the Vulkan/OpenGL renderers?
- ramon.dexter
- Posts: 1562
- Joined: Tue Oct 20, 2015 12:50 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Kozolupy, Bohemia
Re: Working on a minor derivative for Voxel Doom
The parallax effect is done by shaders. Since shaders basically dont work in opengl-es, there is really nothing that could be done about it.
-
- Posts: 226
- Joined: Fri Jan 30, 2015 10:32 pm
- Location: Pittman Center
- Contact:
Re: Working on a minor derivative for Voxel Doom
What version of GLES does GZDoom use?
- Redneckerz
- Spotlight Team
- Posts: 1128
- Joined: Mon Nov 25, 2019 8:54 am
- Graphics Processor: Intel (Modern GZDoom)
-
- Posts: 226
- Joined: Fri Jan 30, 2015 10:32 pm
- Location: Pittman Center
- Contact:
Re: Working on a minor derivative for Voxel Doom
Alright. Hopefully it’ll get updated to 3.2 eventually. That version apparently does support shaders, given that the Delta Touch port uses it & it supports parallax textures there.
- ramon.dexter
- Posts: 1562
- Joined: Tue Oct 20, 2015 12:50 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Kozolupy, Bohemia
Re: Working on a minor derivative for Voxel Doom
But delta touch doesnt support user shaders...
-
- Posts: 226
- Joined: Fri Jan 30, 2015 10:32 pm
- Location: Pittman Center
- Contact:
Re: Working on a minor derivative for Voxel Doom
The most recent version does, apparently. Someone mentioned that enabling them is part of GLES compatibility with parallax textures for that port
- Redneckerz
- Spotlight Team
- Posts: 1128
- Joined: Mon Nov 25, 2019 8:54 am
- Graphics Processor: Intel (Modern GZDoom)
Re: Working on a minor derivative for Voxel Doom
That's not the point of the GLES renderer. Its purpose is to render GZDoom the same as OpenGL, but with simplified shaders suitable for older GPU's.Ultimate Freedoomer wrote: ↑Sat Feb 24, 2024 10:54 am Alright. Hopefully it’ll get updated to 3.2 eventually. That version apparently does support shaders, given that the Delta Touch port uses it & it supports parallax textures there.
-
- Posts: 226
- Joined: Fri Jan 30, 2015 10:32 pm
- Location: Pittman Center
- Contact:
Re: Working on a minor derivative for Voxel Doom
A lot of it is that despite how new my GPU is, it basically becomes a potato unless I use GLES. That’s why I’m hoping for a future update to use the current version of GLES: so I can get normal OpenGL shader versatility with the speed of GLES.
- phantombeta
- Posts: 2175
- Joined: Thu May 02, 2013 1:27 am
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Brazil
Re: Working on a minor derivative for Voxel Doom
GLES 2.0 supports shaders just fine, and GZDoom uses GLES 3.3 when it can. GZDoom simply ignores user shaders for performance- gl_customshader is always set to false with the GLES renderer.
The point of the GLES backend is to improve performance by splitting shaders into smaller ones (mobile GPUs and older, weaker GPUs hate "ubershaders") and disabling a significant amount of rendering features to further improve performance.
GLES in Delta Touch supports user shaders and most (all?) of GZDoom's features because GLES is what mobile GPUs use, whereas GLES in GZDoom exists solely for computers too weak to run the OpenGL or Vulkan backends at full performance.
The point of the GLES backend is to improve performance by splitting shaders into smaller ones (mobile GPUs and older, weaker GPUs hate "ubershaders") and disabling a significant amount of rendering features to further improve performance.
GLES in Delta Touch supports user shaders and most (all?) of GZDoom's features because GLES is what mobile GPUs use, whereas GLES in GZDoom exists solely for computers too weak to run the OpenGL or Vulkan backends at full performance.
- ramon.dexter
- Posts: 1562
- Joined: Tue Oct 20, 2015 12:50 pm
- Graphics Processor: nVidia with Vulkan support
- Location: Kozolupy, Bohemia
Re: Working on a minor derivative for Voxel Doom
That's good to hear. Bexause everytime I wanted to use shaders in Delta Touch, it always returned an error and crashed. So there must be some error in the shaders I use or Delat Touch has some problems with the shaders I use. But these shaders work in gzdoom on windows/linux, so there must bo something with use of these shaders on Delta Touch.phantombeta wrote: ↑Sat Mar 02, 2024 10:56 am GLES in Delta Touch supports user shaders and most (all?) of GZDoom's features because GLES is what mobile GPUs use, whereas GLES in GZDoom exists solely for computers too weak to run the OpenGL or Vulkan backends at full performance.
- phantombeta
- Posts: 2175
- Joined: Thu May 02, 2013 1:27 am
- Operating System Version (Optional): Windows 10
- Graphics Processor: nVidia with Vulkan support
- Location: Brazil
Re: Working on a minor derivative for Voxel Doom
Different GLSL versions. GLES 3.x has features GLES 2.x doesn't. Desktop GL also has features that GLES, whether 2.x or 3.x, doesn't have either.ramon.dexter wrote: ↑Sun Mar 03, 2024 3:47 am That's good to hear. Bexause everytime I wanted to use shaders in Delta Touch, it always returned an error and crashed. So there must be some error in the shaders I use or Delat Touch has some problems with the shaders I use. But these shaders work in gzdoom on windows/linux, so there must bo something with use of these shaders on Delta Touch.
Nvidia and AMD also have implicitly-enabled vendor-specific extensions that add features to GLSL, which can then cause shader compilation errors in mobile GPUs because those don't have said features.
That's somewhat easier to deal with, though. Just run GZDoom with Vulkan, because then GZDoom is the one compiling the GLSL, and the compiler it uses doesn't do those things.
I'd actually generally recommend testing shaders with Vulkan in general, because there's other things, like Nvidia, AMD and Intel initializing uninitialized variables to 0, which hides bugs.