logo
Main

Forums

Downloads

Unreal-Netiquette

Donate for Oldunreal:
Donate

borderline

Links to our wiki:
Wiki

Walkthrough

Links

Tutorials

Unreal Reference

Usermaps

borderline

Contact us:
Submit News
Page Index Toggle Pages: [1] 2 3 ... 10 Send TopicPrint
Very Hot Topic (More than 25 Replies) XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament (Read 18765 times)
Smirftsch
Forum Administrator
*****
Offline



Posts: 7403
Location: at home
Joined: Apr 30th, 1998
Gender: Male
XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Jan 27th, 2016 at 3:52pm
Print Post  
Note: You need to have at least an OpenGL 3.3 capable card to use this renderer!

Version 1.0.0.9: www.oldunreal.com/betatest/XOpenGL1.0.0.9_UT4.36.zip
Revision history: Added OpenGLVersion option, to switch between OpenGL3.3 Core and OpenGLES3.0, some (low end) graphics card rather support GL ES than 3.3 Core, also performance may differ for these. Some OpenGL extensions like UseBufferInvalidation are unavailable for ES though.
Moved some intensive calculations into shaders (GPU) in order to reduce CPU usage quite some, this will increase overall performance especially for weaker CPU's when using XOpenGL.

Version 1.0.0.8: www.oldunreal.com/betatest/XOpenGL1.0.0.8_UT4.36.zip
Revision history: Fixed hopefully remaining fogging issues, fixed some performance issue causing very short stuttering sometimes,  fixed some memory cleanup issue. Shader cleanups, using a global include now.
Thanks to han, sharing experience and code, I was able to integrate full support for UED.

Version 1.0.0.7: www.oldunreal.com/betatest/XOpenGL1.0.0.7_UT4.36.7z
Revision history: Fixed some fogging issues in combination with PolyFlags such as Masked, Translucent, Modulated. Some shader fixes. As a first renderer ever in UT (I think?) I added support for DetailTextures on Meshes (yes, also UT uses this quite some on Meshes originated in Unreal). Added "GenerateMipmaps" option, which will replace the original mipmaps with newly by OpenGL created mipmaps in order to improve visual quality, especially in SkyBoxes. However, still testing this feature, so it's false by default. Feedback welcome.

Version 1.0.0.6: www.oldunreal.com/betatest/XOpenGL1.0.0.6_UT4.36.7z
Revision history: Fix for some drivers/graphic cards crashing on startup when trying to compile shaders with an uint error message.

Version 1.0.0.5: www.oldunreal.com/betatest/XOpenGL1.0.0.5_UT4.36.7z

Revision history: Color adjustments, Gamma adjustments, fixed Meshes always unlit, fixed some issues with fogging. Gamma won't affect desktop brightness anymore.

Version 1.0.0.4: www.oldunreal.com/betatest/XOpenGL1.0.0.4_UT4.36.7z

Revision history: fixed some problem with rendering PF_TwoSided, fixed some issue with DrawComplexSurface texturing (i.e. with DetailTextures). Some brightness adjustments

Version 1.0.0.3:  www.oldunreal.com/betatest/XOpenGL1.0.0.3_UT4.36.7z

Revision history: Fixed the Z problem in "Character creation", added "NoAATiles" option, added "NoBuffering" option (for bugtesting only, severely hurts performance, but can be disabled in order to identify possible problems with it), added "UseBufferInvalidation" option (OpenGL4 capable cards only), fixed duplicate DetailTextures entry, the mirror problem and it seems the bleeding in the skybox as well. Fixed some rendering issue with PF_TwoSided causing weird color distortions. Also changed some fog setting, but needs some testing yet.

Version 1.0.0.2: www.oldunreal.com/betatest/XOpenGL1.0.0.2_UT4.36.7z

Revision history: Fixed some gamma issue, added an updated WinDrv.dll to fix the fullscreen issue, also including RawHID mouse support.

Version 1.0.0.1: www.oldunreal.com/betatest/XOpenGL1.0.0.1_UT4.36.7z

Revision history: This is the first official UT build of an entirely new and written from scratch OpenGL3 / OpenGL4 renderer. All functions currently in use are OpenGL3 yet though.

Known issues: for some reason switching fullscreen resolution fails until toggle fullscreen or restart.

Installation:
change [Engine.Engine] GameRenderDevice to
GameRenderDevice=XOpenGLDrv.XOpenGLRenderDevice

add the following section at the end of UnrealTournament.ini:

[XOpenGLDrv.XOpenGLRenderDevice]
AlwaysMipmap=False
ShareLists=False
DetailTextures=True
MacroTextures=True
BumpMaps=True
DescFlags=0
Description=
Coronas=True
ShinySurfaces=True
VolumetricLighting=True
RefreshRate=60
UseSinglePass=True
UseTrilinear=True
UsePrecache=True
NoFiltering=False
LODBias=0.000000
GammaCorrectScreenshots=True
GammaOffsetBlue=0.000000
GammaOffsetGreen=0.000000
GammaOffsetRed=0.000000
GammaOffsetScreenshots=0.700000
MaxAnisotropy=4
HighDetailActors=True
UseSRGBTextures=False
UseOpenGLDebug=False
DebugLevel=1
UseAA=True
NumAASamples=4
VSync=Off
LightMode=LM_Unreal
NoAATiles=True
UseBufferInvalidation=True
NoBuffering=False
GenerateMipMaps=False
OpenGLVersion=Core

the xopengl folder has to be placed into your UnrealTournament/System folder.
Enjoy!

License:
Copyright (c) <2015/2016> Smirftsch, www.oldunreal.com

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, but not to sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

For sources, contact me.


The libs used in XOpenGLDrv are:
Code
Select All
http://glew.sourceforge.net/

The OpenGL Extension Wrangler Library
Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
Copyright (C) 2002, Lev Povalahev
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

* Redistributions of source code must retain the above copyright notice,
  this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.
* The name of the author may be used to endorse or promote products
  derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
THE POSSIBILITY OF SUCH DAMAGE.

Credits:

GLEW was developed by Milan Ikits and Marcelo Magallon. They also perform occasional maintainance to make sure that GLEW stays in mint condition. Aaron Lefohn, Joe Kniss, and Chris Wyman were the first users and also assisted with the design and debugging process. The acronym GLEW originates from Aaron Lefohn. Pasi Kärkkäinen identified and fixed several problems with GLX and SDL. Nate Robins created the wglinfo utility, to which modifications were made by Michael Wimmer.
Copyright

GLEW is originally derived from the EXTGL project by Lev Povalahev. The source code is licensed under the Modified BSD License, the Mesa 3-D License (MIT License), and the Khronos License (MIT License). The automatic code generation scripts are released under the GNU GPL.  



Please put any feedback and bugreports here in this forum section.
« Last Edit: Jun 29th, 2016 at 3:56pm by Smirftsch »  

Sometimes you have to lose a fight to win the war.
Back to top
WWWICQ  
IP Logged
 
Sergey
New Member
*
Offline


Oldunreal member

Posts: 29
Joined: Nov 25th, 2015
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #1 - Jan 29th, 2016 at 9:23pm
Print Post  
Tested 1.0.0.2
In the render settings i set VSync = On. Screen Tearing, lags are gone! I am happy!

But there is also a negative side of render....
1. Look at the screenshot. You will see next to my cursor on a black background vertical dash.
http://rghost.ru/7Hky2dr5B

2. The game has become lighter, but in many places where was once a shadow, now we see black stripes and spots. Dark corners, shadows look very black. I don't know how to write it exactly in English.  A lot of these unsightly spots we get, if we  set in  settings render UseSRGBTextures=True
For instance, http://rghost.ru/6mbxTgNxw
                     http://rghost.ru/8mPsxCFdM

3.I think this option cannot be turned off UseTrilinear=True

4. Stopped working the button f11 on the keyboard. By default, clicking on this button, regulated brightness.. The game instead became darker.And now we don't see anything on the screen.

5. Wrong button works f9 on the keyboard. By default, this button allows you to take screenshots of the game. But after clicking on this button the game become very dark.

Would like to see in a future version the player does not need to be added lines to  unrealtournament.ini. If the player chooses this render  in the settings, it automatically registers your settings to unrealtournament.ini. Old renders do it.

Thank you very much!!!! you re the best!
« Last Edit: Jan 30th, 2016 at 5:45pm by Sergey »  
Back to top
 
IP Logged
 
Smirftsch
Forum Administrator
*****
Offline



Posts: 7403
Location: at home
Joined: Apr 30th, 1998
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #2 - Jan 30th, 2016 at 7:08am
Print Post  
As for
1) - it seems that some of these things become more visible in XOpenGL, but this means it was already there before. No specific idea about this yet
2) For some things I am not sure if its just because we got used to how the other renderers did, but I am not happy with everything yet either.
3) UseTrilinear can't be set to off if using Anisotropic, this depends on each other
4,5 ) strange, the renderer doesn't have any impact on keyboard settings and I was testing especially brightness quite a lot.

The ini settings are just precaution. It works also without using defaults, no worries. But better safe than sorry.

Overall I am pretty satisfied for a first release, but be sure many will versions follow and I will attempt to fix/improve the things I am being reported. So keep on reporting! Smiley
  

Sometimes you have to lose a fight to win the war.
Back to top
WWWICQ  
IP Logged
 
sn260591
Full Member
***
Offline



Posts: 107
Location: Russia
Joined: Aug 17th, 2011
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #3 - Jan 30th, 2016 at 9:42am
Print Post  
Smirftsch wrote on Jan 30th, 2016 at 7:08am:
1) - it seems that some of these things become more visible in XOpenGL, but this means it was already there before. No specific idea about this yet

It occurs because of AA. D3D9Drv and OpenglDrv have an option NoAATiles which corrects it.
  

Sorry for my bad English
Back to top
 
IP Logged
 
[]KAOS[]Casey
Oldunreal MasterPoster
*
Offline


nedm

Posts: 3069
Joined: Aug 7th, 2011
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #4 - Jan 30th, 2016 at 4:18pm
Print Post  
Kinda wondering what no AA tiles did... hmm
  
Back to top
 
IP Logged
 
sn260591
Full Member
***
Offline



Posts: 107
Location: Russia
Joined: Aug 17th, 2011
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #5 - Jan 30th, 2016 at 6:33pm
Print Post  
Well, I spent more testing and found the following problems:

1) Duplicates option:


2) The cursor in the main menu moves jerkily, if open one or more windows.

3) Malfunction mirrors:


4) Fog does not work with meshes if LightMode=LM_Bright.

5) Bleeding in skyboxes:


6) Problem with masked textures on meshes:


I also noticed that the detail texture began to look quite differently. This is as it should be?
  

Sorry for my bad English
Back to top
 
IP Logged
 
Smirftsch
Forum Administrator
*****
Offline



Posts: 7403
Location: at home
Joined: Apr 30th, 1998
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #6 - Jan 31st, 2016 at 8:02am
Print Post  
[]KAOS[]Casey wrote on Jan 30th, 2016 at 4:18pm:
Kinda wondering what no AA tiles did... hmm

it just toggles between            
glEnable(GL_MULTISAMPLE_ARB);
glDisable(GL_MULTISAMPLE_ARB);

not really a  graceful "fix".


Looks like there is some way to go yet Tongue
Thanks for the reports!
  

Sometimes you have to lose a fight to win the war.
Back to top
WWWICQ  
IP Logged
 
sn260591
Full Member
***
Offline



Posts: 107
Location: Russia
Joined: Aug 17th, 2011
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #7 - Jan 31st, 2016 at 11:56am
Print Post  
7) Lighting of meshes is disabled if the player is in a fog zone.
  

Sorry for my bad English
Back to top
 
IP Logged
 
Smirftsch
Forum Administrator
*****
Offline



Posts: 7403
Location: at home
Joined: Apr 30th, 1998
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #8 - Jan 31st, 2016 at 4:35pm
Print Post  
I was able already to address some of these things, like Duplicate DetailTextures entry, the mirror problem and it seems the bleeding in the skybox as well.

Also added NoAATiles, fixed some rendering issue with PF_TwoSided causing weird color distortions.

However, it would be really great if you guys can tell me what and where you tested the things you reported (the map name and if no default, maybe the map provided for download) so I have an easy way to compare with your reports.
  

Sometimes you have to lose a fight to win the war.
Back to top
WWWICQ  
IP Logged
 
sn260591
Full Member
***
Offline



Posts: 107
Location: Russia
Joined: Aug 17th, 2011
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #9 - Jan 31st, 2016 at 5:25pm
Print Post  
Smirftsch wrote on Jan 31st, 2016 at 4:35pm:
However, it would be really great if you guys can tell me what and where you tested the things you reported (the map name and if no default, maybe the map provided for download) so I have an easy way to compare with your reports.

Problems with fog are found on DM-Fetid.

Also, it is necessary to add FrameRateLimit. If fps isn't limited,  the game jerks occur in some areas.
  

Sorry for my bad English
Back to top
 
IP Logged
 
lowenz
Full Member
***
Offline


Unreal Veteran

Posts: 146
Location: Berghem Haven
Joined: Dec 28th, 2007
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #10 - Jan 31st, 2016 at 11:01pm
Print Post  
Oh my Chizra/Vandora Cheesy Didn't see this coming!

We want Vulkan renderer too for Unreal. Might for the mightest.
  

The task is not so much to see what no one has yet seen, but to think what nobody has yet thought, about that which everybody sees - E.S.
Back to top
 
IP Logged
 
[]KAOS[]Casey
Oldunreal MasterPoster
*
Offline


nedm

Posts: 3069
Joined: Aug 7th, 2011
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #11 - Feb 1st, 2016 at 12:39am
Print Post  
Does Vulkan even have an official release spec yet?
  
Back to top
 
IP Logged
 
Smirftsch
Forum Administrator
*****
Offline



Posts: 7403
Location: at home
Joined: Apr 30th, 1998
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #12 - Feb 1st, 2016 at 7:04am
Print Post  
sn260591 wrote on Jan 31st, 2016 at 5:25pm:
Also, it is necessary to add FrameRateLimit. If fps isn't limited,  the game jerks occur in some areas.


That's what RefreshRate is for, can be combined with VSync Adaptive https://www.opengl.org/wiki/Swap_Interval#Adaptive_Vsync or VSync On.

lowenz wrote on Jan 31st, 2016 at 11:01pm:
Oh my Chizra/Vandora Cheesy Didn't see this coming!

We want Vulkan renderer too for Unreal. Might for the mightest.


Doesn't seem to be entirely public yet, as Casey said already, and many docs still missing, lack of examples, etc etc. - maybe some day. Smiley - also I very much expect the same trouble with it like this XOpenGL and D3D10 for example, they way UT provides the data for the renderer is not really the best for modern renderers although I think I reached pretty satisfying performance, even compared with the UTGLRs. and I only can change that to some degree in Unreal 227, but not in UT.
  

Sometimes you have to lose a fight to win the war.
Back to top
WWWICQ  
IP Logged
 
sn260591
Full Member
***
Offline



Posts: 107
Location: Russia
Joined: Aug 17th, 2011
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #13 - Feb 1st, 2016 at 8:56am
Print Post  
Smirftsch wrote on Feb 1st, 2016 at 7:04am:
That's what RefreshRate is for, can be combined with VSync Adaptive https://www.opengl.org/wiki/Swap_Interval#Adaptive_Vsync or VSync On.

I tried - it does not remove jerks. Only setup of a limit of fps through RivaTuner helps.
  

Sorry for my bad English
Back to top
 
IP Logged
 
Smirftsch
Forum Administrator
*****
Offline



Posts: 7403
Location: at home
Joined: Apr 30th, 1998
Gender: Male
Re: XOpenGL OpenGL3 / OpenGL4 renderer for UnrealTournament
Reply #14 - Feb 1st, 2016 at 9:47am
Print Post  
Interestingly I made the experience while benchmarking I had the best smooth results with VSync Off, but during play VSync Adaptive made a real good job.
  

Sometimes you have to lose a fight to win the war.
Back to top
WWWICQ  
IP Logged
 
Page Index Toggle Pages: [1] 2 3 ... 10
Send TopicPrint
Bookmarks: del.icio.us Digg Facebook Google Google+ Linked in reddit StumbleUpon Twitter Yahoo