Page 1 of 1
RVGL - Shader Edition
Posted: Mon Dec 18, 2017 6:24 pm
by Huki
This is a new rendering engine for RVGL based on
programmable shaders, targeting OpenGL 2.0+, ES 2.0 and 3.1+ Core Profile. It's very different from the fixed pipeline used by v1.2 and RVGL earlier, and mapping many of the features supported by the existing renderer was a challenging task.
Expected benefits:
- Significantly improved performance on almost all modern cards.
- Better power efficiency on laptops and mobile devices.
- Possibility of having RVGL ported to GLES platforms like iOS / Android.
What is supported:
- Lights and shadows
- Fog (including vertical fog)
- Mirrors, semi-transparency
- Environment effects (using multi-texturing)
- Mesh deformation effects (waterbox, splash, etc)
- All particle effects
How to use:
The shader-based renderer is used by default on new installations. For existing installations, get the latest RVGL build from the
RVGL project page. Then, edit
profiles\rvgl.ini and set
Shaders = 1 to enable the shader-based rendering mode. If the
shader mode was activated properly, the build number display in Frontend should turn yellow. To temporarily switch back to the old renderer, launch the game with the
-noshader parameter.
See the dedicated thread for Android related information.
► Comparisons and Screenshots
Below is a frame rate comparison against the old renderer version on my laptop running Linux (click for a larger version). With a modern GPU, more than 2x frame rate increase has been commonly reported.
Some more screenshots follow:
- Unlimited transparent polys (in addition to improved frame rate...)
- Utilizes hardware face culling which better handles asymmetric polys.
► ANGLE Direct3D Support
On Windows systems with poor or non-existent OpenGL support, the shader edition can take advantage of
Google's ANGLE project which provide a compliant OpenGL ES implementation based on Direct3D 9 or 11. ANGLE libs are included with the game. To use this support, edit rvgl.ini and set
Shaders = 1 to enable the shader-based renderer, then set
Profile = 3.
You can verify whether the Direct3D backend is being used by checking the video info in
profiles\re-volt.log. Below is a sample output:
Code: Select all
GL Vendor: Google Inc.
GL Renderer: ANGLE (AMD Radeon™ R4 Graphics Direct3D11 vs_5_0 ps_5_0)
GL Version: OpenGL ES 3.0 (ANGLE 2.1.0.54118be67360)
► Supported OpenGL Profiles
Advanced users can select one of the supported video profiles by setting the
Profile key in rvgl.ini. The following values are supported:
- 0 - Compatibility profile: Initialize a backwards compatible OpenGL context (the default).
- 1 - Core profile: Initialize a 3.2+ Core context. In some cases, driver support may be better when using a core context.
- 2 - ES profile: Initialize an OpenGL ES context for Embedded Systems. Requires a mobile GPU or driver support for ES emulation.
- 3 - ES Driver profile: On Windows, initialize an OpenGL ES 2.0+ context using the ANGLE Direct3D implementation included with the game.
► Advanced OpenGL Functionality
RVGL has support for new OpenGL functionality that takes advantage of newer hardware.
- Uniform Buffer Objects: Buffer-backed uniform blocks are used to store and update shader state which can provide better stability and improved performance when rendering scenes with large number of meshes. Requires OpenGL 3.0, GLES 3.0 or driver support. The feature can be toggled with EnableUBO in rvgl.ini.
- Separate Shader Objects: Shader programs for the vertex and fragment shading stages are generated separately, enabling better reuse of shader code. Requires OpenGL 4.1, GLES 3.1 or driver support. The feature can be toggled with EnableSSO in rvgl.ini.
- Frame Buffer Objects: Antialias support is implemented through Frame Buffer Objects (i.e., the application maintains its own frame buffers rather than rendering directly to the window buffers). To use a native multisampled window, set EnableFBO to 0 in rvgl.ini. This is particularly useful for embedded GPUs.
Re: RVGL - Shader Edition
Posted: Mon Dec 18, 2017 9:11 pm
by Huki
The Shader Edition has been updated to
17.1218s!
Download: [ win32 | win64 | linux ]
What's New:
- Based on the latest alpha 17.1218a which was released today (read the release post).
- New optimized shader code and optimized buffer updates. Shaders are now generated based on the enabled render settings, e.g., lights / reflections / environment shaders are only compiled in if they are actually turned on.
- Added support for edit modes: lines, nodes and edit objects should now be drawn properly.
Bug fixes:
- Slight flicker when using weapons like battery or electro pulse.
- Text disappearing when there is a lot of text. (waiting room, chat messages, ...)
- Player names showing through walls and opaque surfaces.
- Fix issues with models scaling, e.g., in "drinkme" mode.
Note: This release is compatible with 17.1218a online.
Re: RVGL - Shader Edition
Posted: Fri Dec 22, 2017 4:04 pm
by Huki
The Shader Edition has been updated to
17.1222s!
Download: [ win32 | win64 | linux ]
Based on the latest alpha
17.1222a (
read the release post).
Note: This release is compatible with 17.1222a online.
Re: RVGL - Shader Edition
Posted: Sat Dec 30, 2017 10:56 pm
by urnemanden
Excellent, works really well for me!
It looks like the anti-aliasing setting also works now and although my laptop can only handle x2, I'm sure others benefit from the performance improvements enough that they can turn this up to x4 or x8!
Re: RVGL - Shader Edition
Posted: Fri Mar 09, 2018 2:38 pm
by r6te
I love the Shader Edition! It works really well on the upcoming ranch track, the differences are vastly visible. I'm still interested in playing this game on the Raspberry pi, as I'm planning to build a console. I am still afraid the Pi is too slow for that, but I'll figure that out.
My question is, does the shader version have those special GL calls that can help run the game better, like used on Android? How does the openGL rendering work here, does this contain openGL ES calls? Does only the android build have such calls? This build is given as an .apk file, which is great, but is there a possibility to obtain it as a normal RVGL folder?
Or is this just done by setting the GL profile to 2?
Thanks a lot for the development still, I appreciate all of it and I try to give the community back as well!
Re: RVGL - Shader Edition
Posted: Fri Mar 09, 2018 3:34 pm
by Huki
The Shader Edition has been updated to
18.0310s!
Download: [ win32 | win64 | linux | android ]
What's New:
- Based on the latest alpha 18.0310a which was released today (read the release post).
- First release with native Android support based on OpenGL ES2, and new Touch UI (see dedicated thread).
- New rvgl.ini setting EffectFlag: can be used to turn off complex effect shaders on old hardware. This is for advanced users only and was added mainly for Android support.
- Several bug fixes / optimizations (see below).
Bug fixes:
- Static lights (from .lit file) not working on instances.
- Fix fluorescent light reflections in Market1.
- Fix crash in instances edit mode.
- Invisible 3D text in edit mode.
- Shader compilation error on some devices (reported by Santiii).
- Per-poly visimasks support (fixes reflections in e.g., Museum 1).
- Lights and shininess not working during reposition.
Note: This release is compatible with 18.0310a online.
Re: RVGL - Shader Edition
Posted: Fri Mar 16, 2018 7:40 pm
by Huki
The Shader Edition has been updated to
18.0315s!
Download: [ win32 | win64 | linux | android ]
What's New:
- Based on the latest alpha 18.0315a which was released today (read the release post).
- Improved Android support: Higher framerates and faster startup due to shader caching (see below).
- GLES3 features support: Antialiasing is now available on supported mobile hardware.
- World buffer updates are handled better (for the scorch effect upon bomb explosion).
- Fixed Museum 2 stars sporadically disappearing (e.g, upon restart).
Shader caching: Compiled shader exectuables are now cached to avoid having to re-compile them on each run. Shader caching is enabled on both desktop and mobiles, but it's more significant for mobiles as it can greatly reduce startup times. The cached binaries are stored in the RVGL folder, in
shaders\cache. Caches are compared against the shader sources and automatically rejected if found out of date. This feature requires the
ARB_get_program_binary extension on the Desktop or
OES_get_program_binary on Mobiles.
Note: This release is compatible with 18.0310a and later online.
Re: RVGL - Shader Edition
Posted: Thu Mar 29, 2018 7:21 pm
by Huki
The Shader Edition has been updated to
18.0330s!
Download: [ win32 | win64 | linux | android ]
Dedicated Android thread: RVGL on Android
What's New:
- Based on the latest alpha 18.0330a which was released today (read the release post).
- Fixed shader compilation errors with some ATI drivers.
Note: This release is compatible only with 18.0330a online.
Re: RVGL - Shader Edition
Posted: Wed Apr 04, 2018 12:17 pm
by Black-Revolt001
I installed the latest version and in all the circuit I have black rectangle that appears dna sle landscape except in makeitgood editor
Re: RVGL - Shader Edition
Posted: Wed Apr 11, 2018 8:55 pm
by Huki
The Shader Edition has been updated to
18.0410s!
Download: [ win32 | win64 | linux | android ]
Dedicated Android thread: RVGL on Android
Read the release post
Note: This release is compatible with 18.0330 and above online.
Re: RVGL - Shader Edition
Posted: Sat Apr 14, 2018 6:34 pm
by Black-Revolt001
Black-Revolt001 wrote: ↑Wed Apr 04, 2018 12:17 pm
I installed the latest version and in all the circuit I have black rectangle that appears dna sle landscape except in makeitgood editor
My problem is not solved at home
Re: RVGL - Shader Edition
Posted: Mon Apr 16, 2018 5:49 am
by Huki
The Shader Edition has been updated to
18.0416s!
Update:
Download
Win32 [
setup |
7z ]
Download
Win64 [
setup |
7z ]
Download
Linux [
setup |
7z ]
Dedicated Android thread: RVGL on Android
Read the release post
Note: Starting from this release, the shader edition is now provided as a standalone package, i.e., it can be installed directly without having to install the corresponding alpha build first.
Re: RVGL - Shader Edition
Posted: Sat Apr 28, 2018 9:02 am
by Huki
Starting from RVGL
18.0428a, the shader-based renderer is part of the usual RVGL releases! To know more,
read the release post.
To enable
Shader mode after updating to the latest release:
- Run the game once to update your rvgl.ini configuration file.
- Then, open profiles\rvgl.ini and set the Shaders keyword to 1.
- If the shader mode was activated properly, you should see the build number displayed in the main menu (bottom left corner) turn yellow.
Re: RVGL - Shader Edition
Posted: Sun Apr 29, 2018 8:31 pm
by ZipperZbieracz
I have found a problem with the shader version. I am not sure whether it came with the last update (18.0428a) or it is a problem that occured earlier, but:
In time trial, the ghost car blinks unnaturally (it may be problem with the ghost's shadow or with the bottom/some other part of the ghost car).
I'm not sure as I can't provide a video, but I think that some parts of the ghost car go white, and sometimes the shadow partially disappears (it goes in pair with the ghost car's normal blinking).
It is best seen on one's eyes still.
The problem doesn't appear with the non-shader version of the 18.0428 RVGL.
Re: RVGL - Shader Edition
Posted: Mon Apr 30, 2018 6:54 pm
by Huki
ZipperZbieracz wrote: ↑Sun Apr 29, 2018 8:31 pm
In time trial, the ghost car blinks unnaturally (it may be problem with the ghost's shadow or with the bottom/some other part of the ghost car).
I'm not sure as I can't provide a video, but I think that some parts of the ghost car go white, and sometimes the shadow partially disappears (it goes in pair with the ghost car's normal blinking).
I've tried both the shader and non-shader rendering modes in the latest version, I can't reproduce your issue. Ghost car blinking looks fine to me and shadows appear normal. It is possible your shader files and / or cache are out of date. Reinstall the latest RVGL and make sure you extract
all the files and not just the executable. You can also try going into
<RVGL>\shaders\cache and clearing out the contents (if any) manually.
Re: RVGL - Shader Edition
Posted: Mon Apr 30, 2018 9:40 pm
by ZipperZbieracz
I can't provide a video because all recording programmes record only pure black screen instead of Re-Volt, no matter what I try.
/edit: Clearing the shaders cache didn't help.
Re: RVGL - Shader Edition
Posted: Mon Apr 30, 2018 9:55 pm
by chenhonkster
Have you tried recording in windowed mode? OBS should be easy to set up for recording as well.
Re: RVGL - Shader Edition
Posted: Mon Apr 30, 2018 10:04 pm
by Santiii727
[Alpha/Shader] Because Antialias enabled have problems with fraps, other recording programs
Re: RVGL - Shader Edition
Posted: Tue May 01, 2018 8:31 am
by ZipperZbieracz
Thanks Santi!!! Turning off the antialias helped. After so many years...
Here is the issue:
https://youtu.be/WDZYvN68AUE
Re: RVGL - Shader Edition
Posted: Tue Jun 05, 2018 9:01 pm
by salvaliebana
Hi!! where i can get these new build for odroid or pi3??
Re: RVGL - Shader Edition
Posted: Wed Jun 06, 2018 7:47 pm
by r6te
I'm also interested in an ARM build that uses the new OpenGL ES calls, I want to test it on the Pi 3 as well. I am also planning to buy a faster single board computer, the Asus Tinker Board - which has a faster CPU and GPU, so I'd like to test that as well. Thanks in advance!
Re: RVGL - Shader Edition
Posted: Fri Jun 08, 2018 11:54 am
by Huki
@salvaliebana and @r6te - It's not released yet, but it's coming soon...
Re: RVGL - Shader Edition
Posted: Wed Aug 01, 2018 5:35 am
by Huki
salvaliebana wrote: ↑Tue Jun 05, 2018 9:01 pm
Hi!! where i can get these new build for odroid or pi3??
r6te wrote: ↑Wed Jun 06, 2018 7:47 pm
I'm also interested in an ARM build that uses the new OpenGL ES calls, I want to test it on the Pi 3 as well. I am also planning to buy a faster single board computer, the Asus Tinker Board - which has a faster CPU and GPU, so I'd like to test that as well. Thanks in advance!
The new ODROID build was
released recently.
Builds are here:
https://oph.mdrjr.net/meveric/pool/main/r/rvgl-odroid/