VOGONS


First post, by leonardo

User metadata
Rank Member
Rank
Member

Solved by keeping original skybox textures
When you apply S3TC textures from any source, be sure to skip replacing SkyBox.utx
(Yes, this will mean that those textures won't be updated - but it's the only way to avoid the issue for the time being).

Original post below:


After recently upgrading the graphics card in my second retro rig I thought I'd try to max out the experience in Unreal, by applying the improved S3TC textures.

The game runs nearly perfectly, but in some places dark rectangles will appear in the sky. This only seems to happen with the S3TC textures enabled with the settings otherwise being identical.

Here's my config for the game regarding the renderer:

[OpenGLDrv.OpenGLRenderDevice]
Translucency=True
VolumetricLighting=True
ShinySurfaces=True
Coronas=True
HighDetailActors=True
DetailTextures=True
GammaOffset=0.000000
LODBias=0.000000
MaxLogTextureSize=8
MinLogTextureSize=1
MaxLogVOverU=8
MaxLogUOverV=8
MaxAnisotropy=3
MaxTMUnits=3
RefreshRate=0
DetailMax=3
UseFisheye=False
NoFiltering=False
DisableSpecialDT=False
UseFilterSGIS=True
Use4444Textures=False
UseTNT=False
UseS3TC=True
UseVertexSpecular=True
AlwaysMipmap=False
UseAlphaPalette=True
UsePalette=True
UseTrilinear=True
UseMultitexture=True
ShareLists=False
DoPrecache=True

Does anyone have any tips? This is the latest Unreal OpenGL renderer that runs on my set up (2.1.0.7 from the OldUnreal site). Newer renderers don't seem to like Windows 98 or my video card at all. Obviously I have the newest video card drivers released in use.

Attachments

  • unreal-sky-bug2.jpg
    Filename
    unreal-sky-bug2.jpg
    File size
    156.24 KiB
    Views
    1574 views
    File license
    Public domain
  • unreal-sky-bug.jpg
    Filename
    unreal-sky-bug.jpg
    File size
    182.06 KiB
    Views
    1678 views
    File license
    Public domain
Last edited by leonardo on 2021-08-09, 21:19. Edited 4 times in total.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 3 of 22, by leonardo

User metadata
Rank Member
Rank
Member
aha2940 wrote on 2021-01-20, 05:17:

What's your video card?

It's a Radeon 9200. Latest drivers released are in use. Without S3TC textures enabled, those rectangles don't appear.

Last edited by leonardo on 2021-01-22, 12:59. Edited 3 times in total.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 4 of 22, by leonardo

User metadata
Rank Member
Rank
Member
Oetker wrote on 2021-01-20, 07:25:

I believe that's just a bug in the S3TC textures.

I'm hoping it's a simple configuration tweak. My starting config is based on someone else's settings for a GeForce 3. I had the optimal configuration figured out for Win9x and Unreal on a RivaTNT 2, but now I have to rediscover everything since I went ahead and upgraded the video card...

Could be a buggy driver. In which case I'm screwed, because there aren't newer display drivers for a Radeon 9200 for Win 98.

Homeworld was flickering like mad until I applied the /triple switch, giving me hope.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 5 of 22, by leonardo

User metadata
Rank Member
Rank
Member

I found some explanations for the OpenGL settings here.

I changed the following settings one by one to test if they'd have an effect:

MaxLogTextureSize=0
MinLogTextureSize=0
MaxAnisotropy=8
MaxTMUnits=0
UseAlphaPalette=False

Anisotropy was just for my tastes, but UseAlphaPalette is apparently a workaround for buggy GeForce drivers so turned it off.
MaxTMUnits is similarly a debug option, which gets disabled when set to 0.
For MinLogTextureSize I just followed the recommendation.
MaxLogTextureSize was tested at both recommended values (0 & 8 ).

None of the above made a difference.

Last edited by leonardo on 2021-01-26, 22:35. Edited 3 times in total.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 7 of 22, by leonardo

User metadata
Rank Member
Rank
Member
dr.zeissler wrote on 2021-01-22, 11:22:

On R7000-PCI and R9250PCI S3TC is OK on my setup. What driver are you using, what DX version?

I'm using the latest Catalyst Driver (6.2 for Windows 9x/ME)[1] and Direct X 8.1.[2]

I downloaded the latest "low-end" S3TC texture-packages dated Sept. 25, 2011 from UnrealTexture.com [3] as it was indicated this would be best for a video card with 32-128 MB of video memory.

[1] https://www.amd.com/en/support/graphics/legac … eon-9200-series
[2] www.microsoft.com/windows/directx/downloads/drx81.asp
[3] www.unrealtexture.com/Unreal/Unreal.htm

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 8 of 22, by leonardo

User metadata
Rank Member
Rank
Member
Oetker wrote on 2021-01-20, 07:25:

I believe that's just a bug in the S3TC textures.

The only other reference that I've found which seems to describe my problem comes from the author of the updated renderers for Unreal/Unreal Tournament and was under the heading Known non-issues:

  • Black boxes around skybox hills when playing UT with S3TC textures. This is a problem with these textures.

[*] http://kentie.net/article/d3d10drv/index.htm

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 9 of 22, by Oetker

User metadata
Rank Oldbie
Rank
Oldbie
leonardo wrote on 2021-01-22, 13:38:
The only other reference that I've found which seems to describe my problem comes from the author of the updated renderers for U […]
Show full quote
Oetker wrote on 2021-01-20, 07:25:

I believe that's just a bug in the S3TC textures.

The only other reference that I've found which seems to describe my problem comes from the author of the updated renderers for Unreal/Unreal Tournament and was under the heading Known non-issues:

  • Black boxes around skybox hills when playing UT with S3TC textures. This is a problem with these textures.

[*] http://kentie.net/article/d3d10drv/index.htm

If you search for "Unreal S3TC skybox masking" on the internet you'll find references to it, but it's mostly half-dead forums and no actual screen shots of the issue.

Reply 10 of 22, by dr.zeissler

User metadata
Rank l33t
Rank
l33t
leonardo wrote on 2021-01-22, 13:23:
I'm using the latest Catalyst Driver (6.2 for Windows 9x/ME)[1] and Direct X 8.1.[2] […]
Show full quote
dr.zeissler wrote on 2021-01-22, 11:22:

On R7000-PCI and R9250PCI S3TC is OK on my setup. What driver are you using, what DX version?

I'm using the latest Catalyst Driver (6.2 for Windows 9x/ME)[1] and Direct X 8.1.[2]

I downloaded the latest "low-end" S3TC texture-packages dated Sept. 25, 2011 from UnrealTexture.com [3] as it was indicated this would be best for a video card with 32-128 MB of video memory.

[1] https://www.amd.com/en/support/graphics/legac … eon-9200-series
[2] www.microsoft.com/windows/directx/downloads/drx81.asp
[3] www.unrealtexture.com/Unreal/Unreal.htm

No, I am using the S3TC -Textures from the UT99 Disk for Unreal.

Retro-Gamer 😀 ...on different machines

Reply 11 of 22, by leonardo

User metadata
Rank Member
Rank
Member

OK. I found that the earlier posts regarding the problem residing in the textures are correct. I tried the so-called High-End texture packages as well. When the issue presented the exact same way as before, I decided to place a backup of the original texture file for the sky box (SkyBox.utx) from the game disc into the Textures folder, and lo and behold: the issue disappeared.

Naturally those mountains in the distance look a bit foggy compared to the high quality S3TC textures otherwise.

Will have to figure out if there is a way to fix the textures or if I'll just settle for a mostly improved look at the expense of uniformity...

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 12 of 22, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie

I don't think there's any actual way to fix the problem because DXT1 isn't paletted and STY_Masked (and the "Masked" surface flag in Texture) only functions properly with paletted textures where index 0 pixels in the texture is what not to draw of that texture. Unreal doesn't have a concept of 1-bit alpha with it's DXT1 implementation inside of Render.dll and there's a lot in Render.dll that can't feasibly be changed within rendering subsystem devices.

By the way, those MinLogTextureSize and MaxLogTextureSize is instructing UTGLR what the max texture size your GPU actually supports.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 13 of 22, by leonardo

User metadata
Rank Member
Rank
Member
DracoNihil wrote on 2021-01-26, 20:15:

I don't think there's any actual way to fix the problem because DXT1 isn't paletted and STY_Masked (and the "Masked" surface flag in Texture) only functions properly with paletted textures where index 0 pixels in the texture is what not to draw of that texture. Unreal doesn't have a concept of 1-bit alpha with it's DXT1 implementation inside of Render.dll and there's a lot in Render.dll that can't feasibly be changed within rendering subsystem devices.
...

That sounds super informative if I only understood what you are saying. I guess pretending I do, I'll ask why do Unreal Tournament S3TC textures not have this problem when the ones from the UnrealTexture-site do? Are the regular textures or the UT S3TC textures using some other image format - or did UT omit the skybox textures in S3TC format as well?

DracoNihil wrote on 2021-01-26, 20:15:

...
By the way, those MinLogTextureSize and MaxLogTextureSize is instructing UTGLR what the max texture size your GPU actually supports.

I figured setting the value to 0 or zero implies that the setting is disabled or that no minimum or maximum texture sizes are set. Other than that I actually don't understand what a value of, for example 8, implies.

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 14 of 22, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie
leonardo wrote on 2021-01-26, 22:28:

That sounds super informative if I only understood what you are saying. I guess pretending I do, I'll ask why do Unreal Tournament S3TC textures not have this problem when the ones from the UnrealTexture-site do? Are the regular textures or the UT S3TC textures using some other image format - or did UT omit the skybox textures in S3TC format as well?

The S3TC textures on the 2nd CD of UT suffer the same problem, if you somehow avoided it that's news to me. I'm pretty sure someone has been trying to make UT actually properly render 1-bit alpha DXT1 though, but this means actually somehow properly importing 1-bit alpha'd DXT1 textures into the engine itself.

Importing DXT1 into the Unreal Engine 1 games is not a simple task either. It doesn't help that the engine has it's own DXT1 converter that triggers if you import a 24-bit BMP file into the engine, and this default converter does not assign a 1-bit alpha to anything, thus making it impossible to mask the textures at all.

I haven't tried this myself, but I would assume if you used kentie's d3d10drv which supports sideloading high res textures outside of the engine, those textures (usually saved as DXT5 which has a actual alpha channel implementation) wouldn't show up with a solid black background, but using that part of d3d10drv involves resaving all those S3TC textures as external .DDS files.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 15 of 22, by Oetker

User metadata
Rank Oldbie
Rank
Oldbie
DracoNihil wrote on 2021-01-26, 20:15:

I don't think there's any actual way to fix the problem because DXT1 isn't paletted and STY_Masked (and the "Masked" surface flag in Texture) only functions properly with paletted textures where index 0 pixels in the texture is what not to draw of that texture. Unreal doesn't have a concept of 1-bit alpha with it's DXT1 implementation inside of Render.dll and there's a lot in Render.dll that can't feasibly be changed within rendering subsystem devices.

By the way, those MinLogTextureSize and MaxLogTextureSize is instructing UTGLR what the max texture size your GPU actually supports.

The renderers that I've seen convert paletted textures to RGBA before uploading them, and for masked textures set color 0 to alpha = 0. Then they render using alpha testing. I would think that this also works with DXT1 textures as long as those still properly have the masked flag set and contain sensible alpha values.

Reply 16 of 22, by DracoNihil

User metadata
Rank Oldbie
Rank
Oldbie
Oetker wrote on 2021-01-27, 12:45:

this also works with DXT1 textures as long as those still properly have the masked flag set and contain sensible alpha values.

Well, evidently that's not working as planned since none of the UTGLR's seem to obey that mechanic, even with blatantly "Masked" flagged level surfaces. Which is why I wonder if d3d10drv can work around the problem by "sideloading" DXT5 textures that actually have a alpha channel.

“I am the dragon without a name…”
― Κυνικός Δράκων

Reply 17 of 22, by leonardo

User metadata
Rank Member
Rank
Member
DracoNihil wrote on 2021-01-27, 12:15:

The S3TC textures on the 2nd CD of UT suffer the same problem, if you somehow avoided it that's news to me. I'm pretty sure someone has been trying to make UT actually properly render 1-bit alpha DXT1 though, but this means actually somehow properly importing 1-bit alpha'd DXT1 textures into the engine itself.

I was just going with what dr.zeissler was saying, since he apparently doesn't have the problem.

OK, based on your input I've put together a couple more options for the OpenGL renderer that may be of interest:

MaskedTextureHack - [True/False]
Enabling this option can prevent rendering problems with masked textures when the same texture is applied to different polygons that do not have the masked attribute set consistently across all of them. Likely examples of masked texture problems are rendering errors with solid colored boxes around railings and trees that can often times be fixed with the flush command.

^ This probably won't help, seems to describe a different problem.

TexDXT1ToDXT3 - [True/False]
A workaround for poor image quality on NVIDIA GeForce1 - GeForce4 series hardware when using DXT1 format S3TC compressed textures. If enabled, converts all DXT1 textures to DXT3 textures on upload. This improves image quality on the previously mentioned NVIDIA hardware at the expense of twice as much texture memory usage for these textures. The NVIDIA DXT1 image quality problems or most noticeable on certain skybox textures.

^ Getting warmer, but still probably no-go. Seems to have to do with poor quality in general, not necessarily with masking.

NoMaskedS3TC - [True/False]
This is a debug option designed to emulate the behavior of older renderers. If set to True, it will prevent masking from working on masked S3TC textures.

^ This option is supposedly obsolete, but the description reveals very interesting things. Firstly, that with older renderers, masked S3TC would/could not work, and enabling this option makes the new renderer work the same way. Second, it implies that the new OpenGL renderer does support masked S3TC textures starting with version 3.6/3.7 for Unreal Tournament!

I don't know which version of the updated renderers for the original Unreal match renderer version 3.6/3.7 for UT in features. The latest Unreal renderer that I have tested that works seems to be 2.0.8. Anything after that produces a completely garbled image with terrible frame rates. I also learned that you can run the original Unreal from within Unreal Tournament, but unfortunately the latest UT OpenGL renderer has been compiled for Win2k and up, and the updated Direct3D renderers are also ruled out due to my hardware and Windows 98.

My R200 does Direct3D 8.1, OpenGL 1.3 and Shader Model 1.4, but I'd need updated renderers compiled to work on Win9x to be able to proceed with testing them. Maybe the source code for the later renderers is available and this could be done. I don't know.

Source:
https://www.cwdohnal.com/utglr/

[Install Win95 like you were born in 1985!] on systems like this or this.

Reply 18 of 22, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Not related to the newer DX8/9/10/11 etc. pipelines...the old unreal up to 2.26 had:
- Textures that came with the installer
- The Option to convert the textures on the second CD of unrealtournament (UT99) to get S3TC highres textures.

Afaik these S3TC textures could be used with a S3TC compatible gfx-card in the opengl renderer. e.g. intel i845g(v), Radeon 7000 upwards, nvidia gf3/4? s3-savage etc.
I am currently checking a machine equipped with a MGA G550 and that G550 is not capable of S3TC, but you can switch-on the option "detailtextures" in the unreal ini and use the game in D3D mode. That improves the textures greatly...though it is not the same quality as the S3TC textures and I have flickering on the G550 ground-textures...but the quality is really good for a not S3TC card.

Do the "detailtextures" requite more than 32MB VRAM and I therefore get the flickering...?

Doc

Retro-Gamer 😀 ...on different machines

Reply 19 of 22, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Detail textures have nothing to do with the S3TC textures. What that does is overlay a blended repeated 128x128 texture above every surface to break up the linearity in the texture filters with the illusion of more detail, and it's a feature that's been there since release. It's just fillrate heavy and makes walls look more like rock, carpet, food and is bad with textures that have multiple surface materials implied (i..e a crt screen getting scanline detail onto the plastic borders)

apsosig.png
long live PCem