Source port sprites through the floor?

Heyo!

I've noticed for a while now that some source ports will display part of the sprites in-bedded into the ground. Like say for example one sprite is the dead marine, in some ports you can see his bleeding brain fine, in others you can't as it is cut off....same for one of the gore pools, there's a spine that sometimes get cut off by the floor.

I was wondering why does this happen?

As another sort of related question to graphics, is howcome some source ports have those blurred graphics, and others keep it pixelated?

You can tell I'm not all too knowledgeable on this but I'm just curious.

Share this post


Link to post

Regarding "blurry" graphics, that's from graphics processing by the computer's graphics card. I think it looks good with a high resolution.

Share this post


Link to post
Xegethra said:

As another sort of related question to graphics, is howcome some source ports have those blurred graphics, and others keep it pixelated?


Typically OpenGL ports are set to do some sort of filtering by default on all graphics. This makes textures and sprites at a distance look much nicer and avoid pixelated aliasing patterns. But on graphics that are close-up, it looks blurry instead.

I'm pretty sure you can customize this in most ports. In GZDoom I use HQ3X resizing so that all the graphics are smoothly scaled up before filtering, which keeps the edges of sprites fairly sharp while avoiding most pixelation. In GLBoom+ I use filtering on textures only (even though it supports basically the same options that GZDoom does), keeping the sprites pixelated while smoothing the textures out.

Share this post


Link to post
Xegethra said:

I've noticed for a while now that some source ports will display part of the sprites in-bedded into the ground. Like say for example one sprite is the dead marine, in some ports you can see his bleeding brain fine, in others you can't as it is cut off....same for one of the gore pools, there's a spine that sometimes get cut off by the floor.

It's a question of rendering. Doom sprites are offset so that they "bleed" a little into the floor. This helps offset their 2D-ness a tiny little bit.

However, hardware 3D renderers (OpenGL typically, there aren't many Direct3D ports still active) do not use the same method as Dooom's original software renderer to find out where and how to have sprites cut off by level geometry. Doom uses overdraw and renders the sprites above the geometry, which allows them to be drawn into the floor or the ceiling with impunity. Polygonal renders on the other hand display sprites as a vertical plane which is cut off by geometry "correctly", so parts of it that go below the floor or above the ceiling are not rendered.

In GZDoom, you can often that a little by having sprite clipping adjustment which dynamically modify the offsets to get all or more of the sprite shown. The most accurate workaround, though, would be to code in some overdraw method to faithfully replicate what software does; but it'd probably hamper performances quite a bit especially when there are tons of sprites (e.g., nuts.wad).

Xegethra said:

As another sort of related question to graphics, is howcome some source ports have those blurred graphics, and others keep it pixelated?

Texture filtering options. In GZDoom, this can be changed from this menu. I'd personally recommend using "none" or "nearest mipmap" for texture filtering mode, keeping anisotropic filtering as high as possible, and enabling HQ resize only for fonts.

Share this post


Link to post

Not perfectly on topic, but possibly useful:





Why, sometimes, the vanilla/software behaviour can look odd too...

Share this post


Link to post

Ahh right. I fnd it less noticeable on enemies until they die and on some decoration items they look out of place as nobly lumps poking out as opposed to a say a blood splatter....

So performance is the reason then? Does it really make that much difference? I know more on screen tends to but does cutting off their toes and top of their heads really make it run smoother?

Share this post


Link to post

It's not the fact of cutting off the feet that makes it faster. It's the fact of not having complicated code in place to draw the feet back after the sprites have been rendered normally.

In GZDoom if you use sprite clipping adjustment of "always" the sprites will get a boost of their vertical offset so that no parts are cut off by the floor.

Share this post


Link to post

You are thinking of this backwards. Cutting off the sprite isn't defined behaviour, but rather a side effect of putting sprites in a 3D world. To actually fix this, said 3D renderer would need to set up to render everything in stages, rather then just one full pass, and also account for possible overdraw from each pass in doing so.
It's not exactly a straightforward and fast method of doing things.

Edit: Wonk. Gez is faster then I am.

Share this post


Link to post

Ahh, well now I've gone through the options again knowing what they do, I have set it to my liking.

Thanks for the help, there's quite a bit to just textures....

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now