Working on a minor derivative for Voxel Doom

Ask about ACS, DECORATE, ZScript, or any other scripting questions here!

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!)
Post Reply
Ultimate Freedoomer
Posts: 226
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center
Contact:

Working on a minor derivative for Voxel Doom

Post by Ultimate Freedoomer »

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?
User avatar
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

Post by ramon.dexter »

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.
Ultimate Freedoomer
Posts: 226
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center
Contact:

Re: Working on a minor derivative for Voxel Doom

Post by Ultimate Freedoomer »

What version of GLES does GZDoom use?
User avatar
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

Post by Redneckerz »

Ultimate Freedoomer wrote: Fri Feb 23, 2024 3:06 am What version of GLES does GZDoom use?
GLES 2.0.
Ultimate Freedoomer
Posts: 226
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center
Contact:

Re: Working on a minor derivative for Voxel Doom

Post by Ultimate Freedoomer »

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.
User avatar
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

Post by ramon.dexter »

But delta touch doesnt support user shaders...
Ultimate Freedoomer
Posts: 226
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center
Contact:

Re: Working on a minor derivative for Voxel Doom

Post by Ultimate Freedoomer »

The most recent version does, apparently. Someone mentioned that enabling them is part of GLES compatibility with parallax textures for that port
User avatar
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

Post by Redneckerz »

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.
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
Posts: 226
Joined: Fri Jan 30, 2015 10:32 pm
Location: Pittman Center
Contact:

Re: Working on a minor derivative for Voxel Doom

Post by Ultimate Freedoomer »

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.
User avatar
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

Post by phantombeta »

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.
User avatar
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

Post by ramon.dexter »

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.
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.
User avatar
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

Post by phantombeta »

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.
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.

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.
Post Reply

Return to “Scripting”