Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
DuckReconMajor

Dunno what causes this, but wow

Recommended Posts

Whoa. I knew something freaky was going to happen just by the name. It seems like it could be an optical illusion due to the way that texture is made up of many rectangles.

Share this post


Link to post

It's not just that texture. Turn around and watch the other end of the hallway.

I'm sure it's just some renderer bug, not being able to render things correctly from too far away.

Share this post


Link to post

@Lord_Z: I'd agree with you on that. I'd love to see a vanilla WAD that takes advantage of stuff like this.

e: Have there been any WADs that took advantage of stuff like that?

Share this post


Link to post

What's going on here is really fairly simple. At least, I hope I can make it simple. Consider a game texture:

1 2 3 1 2 3 1 2 3 1 2 3
This game is apparently being played with some severely primitive computers, in Flatland, because a one-dimensional, three-pixel-wide texture, in which different colour values are represented by numerals, is nothing unusual. This texture is repeated horizontally four times.

Now, consider that the game texture exists within a game where, when textures must be rendered at a smaller scale, pixels are rather unceremoniously dropped from consideration in a very regular pattern. If the textured surface is viewed from a perspective such that the texture must be rendered at one-quarter of its original resolution, then the game discards 3 out of every 4 pixels, like so:
1 * * * 2 * * * 3 * * *
And the player then sees:
1 2 3
One clear iteration of the original image, where once there were four.

This same rendering practice creates a range of similar effects. If the texture was rendered at 50% of its original scale, the user would see:
1 3 2 1 3 2
Which is essentially two iterations of the original texture, but backwards. If the texture was shrunk by a third, the user would see:
1 2 1 2 1 2 1 2
In which one entire colour has mysteriously disappeared.

Anti-aliasing would definitely prevent this from effect from appearing, as pixels then wouldn't be chopped out of the texture with no concern for neighbouring values. If our original texture was:
1 2 3 1 2 3 1 2 3 1 2 3
And if we viewed it from a perspective where it was displayed at a quarter-scale, we would see something akin to:
4 4 4
Where 4 is the average colour value of 1, 2 and 3.

Share this post


Link to post

a tldr of what Creaphis said, over long distances the individual pixels of color in the texture dissapear. Which is why at some distances it looks almost magnified, and some distances it's completely blue, and some it's completely gray.

I don't know if anyone uses Irfanview, but if you resize a large image to something small, the finer details are lost and you are left with a blocky gritty image, But if you resample an image, it just blurs the finer details into the image to preserve the quality. In this case, Doom resizes the textures over distances, and does not resample them.

Share this post


Link to post
Never_Again said:

Moire is a common effect in older WADs (esp. those from 1994) where huge rooms and long distances (and the occasional HOM) were the norm.

The "moire" referred to in the early days of Doom modding, though, was not a map oddity but instead an actual engine bug in which huge rooms and long distances would sometimes flicker to blackness or some such thing.

Share this post


Link to post

gggmork, you'll like this:



That's your giant switch in the middle there. It has been dwarfed.

(Look at MAP04 of this wad to see what I based this test map on.)

This effect can work at any resolution as long as anti-aliasing is turned off, and it works better if screen size and texture dimensions compliment each other. To take this shot, I ran GlBoom+ in a window at 640x720, not a particularly natural resolution for Dooming, but this space is exactly 10 times wider and 10 times taller than the switch texture in question. I matched the window size to the texture size so that, as the player moves forward and backward, the "meta-textures" grow at the same rate both vertically and horizontally. Now, if you're really sharp, you'll notice that my experiment didn't quite work correctly, because my "meta-switch" is upside down but not backwards. If the player moves forwards from his current position in this shot, he sees switches that are both upside-down and backwards. If the player moves backwards from his current position, then he sees switches that are in their correct orientation. However, in this one spot, the player sees a switch that is only upside-down, and this betrays the fact that horizontal and vertical warping are slightly out of sync, possibly because the OpenGL renderer realizes that the top of the wall with the switch texture is farther away from the player than the bottom of the wall and therefore applies some vertical translation on the texture. I'd like to try to get a better screenshot with the software renderer, but it simply can't handle such a massive draw distance. (Even the OpenGL renderer here is almost at its limit.)

Share this post


Link to post

Heh, cool. Good idea to change window proportions (I tried a bit just reducing screen size but keeping same proportions and it works but isn't that clear). Why the red and green are flipped is another mystery..

Actually, when you run all the way toward the wall, I assume the texture would then appear more narrow (like now its kinda squashed somehow due to your screen size)?

Share this post


Link to post

Well, the effect itself is nothing new, however the use with the switch is indeed interesting.

Share this post


Link to post

i kinda like the ceiling.

To those who said "it would be cool if this effect could be utilized": what do you have in mind? A sky texture perhaps? Personally I think it looks pretty ugly and couldn't be used for anything that looks even remotely smooth and realistic.

Share this post


Link to post

A noise texture would be the more reliable way to ramp up the Moire effect, but the effect can not be relied upon for anything as complex as Creaphis. That requires very precise player placement and orientation.

Nothing stops you from utilizing it for crazy distant weird dimension stuff. Scrolling textures, excessively angled details and even noise scaled 0% in the horizontal dimension could prove to create interesting effects.

Share this post


Link to post

It's the same effect that causes wheels on cars to look like they're spinning in the wrong direction when the car is moving really fast.

Share this post


Link to post
gggmork said:

Heh, cool. Good idea to change window proportions (I tried a bit just reducing screen size but keeping same proportions and it works but isn't that clear). Why the red and green are flipped is another mystery..


It isn't really a mystery. As I said, as the player moves backwards, the texture warps at slightly different rates horizontally and vertically. They almost warp at the same rate, thanks to the screen resolution I chose, but not quite. I took this screenshot in one very particular location where the "meta-switch", to use my lingo, is upside-down but not backwards. Usually the switch images are both upside-down and backwards, or neither.

I figure you won't mind if I share this, so here's my modification of your map. Load it with the same graphics settings that I used and see what happens for yourself. Note that you can actually load this up in vanilla, if you really want to make that engine struggle - exceeding the BLOCKMAP limit makes it extra screwy.

Zaldron said:

A noise texture would be the more reliable way to ramp up the Moire effect, but the effect can not be relied upon for anything as complex as Creaphis.


Indeed. I am far too complex for a rendering hack to even slightly resemble my personage.

Zaldron said:

That requires very precise player placement and orientation.


Right, and it's worse than that yet. In the above example, I HAD to set screen resolution to 720x640 (which I didn't even expect to be possible - good work, entryway), HAD to use OpenGL rendering (because the software renderer can't handle the distance, and HAD to turn texture filtering off. Also, to get a clear, single image of the switch texture I HAD to avoid looking up, down, left or right even a single degree. Looking at the wall from askance angles creates interesting effects, but not quite this effect.

Zaldron said:

Nothing stops you from utilizing it for crazy distant weird dimension stuff. Scrolling textures, excessively angled details and even noise scaled 0% in the horizontal dimension could prove to create interesting effects.


Ultimately, unless you expect players to be extremely cooperative with their graphics settings, I think crazy distant weird dimension stuff would be better done without a reliance on this effect. Disappointing, but true.

Share this post


Link to post
Super Jamie said:

Let's hope Butts doesn't see this while he's high :P

Or maybe it would be better if he does.


I've been high for the last 9 days. Still am.

Anyways, that's an interesting... "feature".

Share this post


Link to post

In prboomplus(in game menu)/options/general/screen resolution I don't see '640x720' as an option, just various other sizes. Tried various verticle-ish ones and didn't get that great of an effect, though maybe its due to any number of subtle things I don't want to figure out like drawing walls 'jagged' instead of 'point' or whatever it says. All, well I get the gist.
Makes sense that its just upside down, I didn't even think of the whole thing being upside down/just thought the red/green were switched.

Share this post


Link to post

http://www.speedyshare.com/333272176.html

Walk forwards as slowly as possible, watching the ceiling and the floor for other freaky effects. You get these amazing curving effects, especially on the ceiling. Then run forwards at normal speeds.

Must be run in ZDoom.




DRM, hope you don't mind me expanding slightly on your idea.


40oz said:

i kinda like the ceiling.

To those who said "it would be cool if this effect could be utilized": what do you have in mind? A sky texture perhaps? Personally I think it looks pretty ugly and couldn't be used for anything that looks even remotely smooth and realistic.



So Doom levels have to be "smooth" and "realistic" now? :P

Share this post


Link to post

Not doom levels in particular, but the sky moving in a fluid and smooth animation. This effect varies on extreme levels at the slightest movement, and it is dependent on movement to have any animation at all.

Share this post


Link to post
gggmork said:

In prboomplus(in game menu)/options/general/screen resolution I don't see '640x720' as an option, just various other sizes. Tried various verticle-ish ones and didn't get that great of an effect, though maybe its due to any number of subtle things I don't want to figure out like drawing walls 'jagged' instead of 'point' or whatever it says. All, well I get the gist.
Makes sense that its just upside down, I didn't even think of the whole thing being upside down/just thought the red/green were switched.


You have to edit glboom-plus.cfg or prboom-plus.cfg directly. Under "# Video settings", you'll find the "screen_resolution" variable. You can change it to anything you want, as long as you also set "use_fullscreen" to 0.

Share this post


Link to post

If you're using a front-end that'll pass command line parameters, -geom 640x720w will do the same as a temporary change.

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
×