[ 3 / biz / cgl / ck / diy / fa / ic / jp / lit / sci / vr / vt ] [ index / top / reports ] [ become a patron ] [ status ]
2023-11: Warosu is now out of extended maintenance.

/vr/ - Retro Games

View post   

File: 251 KB, 500x470, 5ef73392ce421b69bc0ca3089b6e90ac.gif [View same] [iqdb] [saucenao] [google]
5879367 No.5879367 [Reply] [Original]

What caused PSX's polygons to jitter around?

>> No.5879368


>> No.5879370


>> No.5879375

Lack of calculation precision

>> No.5879376


>> No.5879379

Lack of emulation. Even Raspberry Pi fixes it but the original hardware was too badly programmed.

>> No.5879380


>> No.5879390

He's breathing. It made sense back in the day but it does look pretty silly looking back at it now.

>> No.5879392


>> No.5879426

It's cold

>> No.5879428

Because it's Japy Wapy shit.

>> No.5879441
File: 2.99 MB, 1400x1048, Morrowind_for_PS1.webm [View same] [iqdb] [saucenao] [google]

Real Answer: The PS1 hardware had no real support for floating point numbers (which is kind of necessary for 3D graphics). All maths were done with a fixed decimal precision. The Saturn suffers from the same problem too.

>> No.5879461

In case you're interested, RetroArch Beetle PSX HW has a setting (PGXP) that fixes this problem. See https://www.youtube.com/watch?v=92DqVFzcM9Q for a comparison.

>> No.5879698

Michael J Fox chip

>> No.5879708
File: 307 KB, 300x190, 1535839462617.gif [View same] [iqdb] [saucenao] [google]


>> No.5879713

what game is that

>> No.5879715

It's actually cold in hell so that's just him shivering.

>> No.5879727

I'm not interested, fuck off.

>> No.5879925

I'm so interested, fank you.

>> No.5880035

That's not the problem. The problem is lack of subpixel accurate rasterization (which can be done with fixed point, see doom and Duke 3d).

>> No.5880292

This is amazing. How do more people not know about this? Most people are going to prefer the optimized version to the original.

>> No.5880425

What is fixed point, exactly? Is it a system where you "pretend" the integer 458748 is, say, 4.58748?

>> No.5880440

By being a shit console with shit hardware.

>> No.5880445

looks almost identical, only autistic fucks would care about this

>> No.5880550


>> No.5880642


>> No.5880650

>looks almost identical, only autistic fucks would care about this

This is probably the most dramatic example.


>> No.5880653

z fighting

>> No.5880675


This guy has a massive PGXP playlist.

I think these games look the best:

>> No.5880713

Nerve gas

>> No.5880726

blast processing

>> No.5880757

Fixed point is fixed point, a little bit like how you describe (but not exactly since you're working with bits, thus you choose the smallest fraction representable as 1/(2^n), ie if you chose the last two bits to represent the fractional portion you can only have .0, .25, .50, .75 as fractional values, and nothing in between).
Floating point is basically number representation via mathematical notation, ie. if you want to have 1000.275 you actually have in memory 1.000275 x 10^3, aka most of the bits are used to represent a normalized value and the rest of it to represent the exponent. It's pretty clever but imagine making a fast circuit for a CPU that can multiply numbers stored like that, in the 90's.

>> No.5880784

The N64 wsa the first proper 3D console. It did 3D right. The 3D0, Saturn, PS, and others, idd huge shortcuts. However, they had to do it. The PS is a bloody 1994 machine. To do 3D the N64 way would mean they would likely double the cost. And most users wouldn't notice this.

It only really becomes a major issue in emulation, where the clear graphics, and high resolution, result in warping being very noticeable. I'm also pretty sure that increasing the resolution leads to bigger warping.

>> No.5880893

Super Costanza Fighter II Turbo

>> No.5880907

I can barely look at the original after seeing the PGXP version. It hurts my eyes.

>> No.5880917

Soulless and not what the developers intended.

>> No.5881126
File: 10 KB, 410x410, 1568076859825.jpg [View same] [iqdb] [saucenao] [google]

>original hardware has limitations
>emulator/remake/re-release removes limitations
Every time. I really do hate you cunts sometimes.

>> No.5881396

z-buffer, or lack thereof.

>> No.5881398


Why didn't the developers implement wobbling when porting games from their original PS1 version to N64 or PC?

>> No.5881401

But they did.

>> No.5881572

Enjoying those hi-res texture packs, kiddo?

>> No.5882073

>subpixel accurate rasterization
Yeah that's not why at all. His answer is correct, the PS1 couldn't do the math to calculate the Z axis because of it not being able to calculate floating values.
Rasterization wouldn't cause the flickering you see, no idea why you're just trying to throw out buzzwords...

>> No.5882098
File: 152 KB, 564x1166, ps1 textures.jpg [View same] [iqdb] [saucenao] [google]

It was something to do with the fact that it couldn't do a perspective divide when calculating texels.

>> No.5882107
File: 160 KB, 1280x720, maxresdefault[1].jpg [View same] [iqdb] [saucenao] [google]

new pgxp:


>> No.5882110

It's 2019 and brainlets still don't know. Get educated.

>> No.5882373 [DELETED] 

Suppose it supported floating point math. So with those values in mind I want to display x polygon edge in a precise spot of my fp32 3D arra.. oh wait, I can only specify polygon edges in a 1024x512 grid, what a shame. Good thing I had those super important floating point arithmetics and zbuffers so that I could fix this jittering problem which was not fixed.

>> No.5882374

Suppose it supported floating point math. So with those values in mind I want to display x polygon vertex in a precise spot of my fp32 3D arra.. oh wait, I can only specify polygon vertexes in a 1024x512 grid, what a shame. Good thing I had those super important floating point arithmetics and zbuffers so that I could fix this jittering problem which was not fixed.

>> No.5882447

But the polygon vertices didn't jitter, just the textures within them.

>> No.5882454


>> No.5882461

Okay maybe the vertices did jitter but I think we were mainly talking about the texture problem.

>> No.5882469

Bro, clearly it was a 100% artistic decision to have the polygons warp. The surreal effect actually enhanced the atmosphere. Fucking plebs man.

>> No.5882530

This pic had me curious about how they animated characters back then. Skinning with vertices bound to multiple bones seem costly.

Seems like they either used skeletons with segment of vertices bound to one bone, hence the iffy elbows and knees on most games. Or per vertex animation like in Crash Bandicoot:

>Since the soul of good Animation, is…. drum roll please… animation! We were obsessed with making ours look like that really good Disney or Looney Tunes stuff. In those days, most people used a simple skeleton system with “1 joint” weighting, and very few bones. This gives a very stiff look, so we went instead with vertex animation. This allowed us to use the more sophisticated 3-4 joint weighting available in PowerAnimator, which the Playstation had no hope of matching at runtime (until the PS2), instead we stored the location of every vertex, every frame at 30 frames a second.


>> No.5882543

>instead we stored the location of every vertex, every frame at 30 frames a second.

Yeah, Crash has a fully controlled camera so they know how everything is gonna look to the camera. They worked backwards from that. It's why PGXP has no effect on the Crash games or at least the parts with fixed cameras, since it's already baked in.

>> No.5882548

That's not even what he's talking about.

>> No.5882582


Yeah, it was more about character animation and not how they used the predictible camera motion for culling. I was more surprised by the use of per-vertex animation (MGS seems to be using it, btw) than their other tricks. But I get what you mean with PGXP not adding much: the programmers at Naughty Dogs were fucking brilliant at playing around the Playstation's limitaion.

>> No.5882808

no, really. what is this?

>> No.5882841

What I used for example, Softimage 3D and LightWave. SI releases like 3.5-3.9 came with exporters for PS and Saturn content. You build your objects as usual, rigged and skinned them, did your keyframe animations, then let the exporter turn it into something usable.

>> No.5883549

This is the warm fuzzy analogue sound people use to describe the concept of "soul". Modern games dont jitter because theyre cold and digital.

>> No.5883568

Is this one of the few Japanese-developed first person perspective games?

>> No.5883814

That isn't why. The DS only does fixed point math but it doesn't have polygon jitter.

>> No.5883863

That's not even the same thing quit talking out your ass. His answer is right and the op asked about polygon vertex instability, that image is about about non perspective correct texture mapping, completely unrelated

>> No.5883864

Only thing the n64 really added was bilinear texture filtering and perspective correct texture mapping.

The z buffer on the ps1 is only 16 bit which causes the same shit. Only 65536 units of precision in calculating depth causes the jumping around

>> No.5883869

They don't jitter because they keep track of poly vertices with more precision

>> No.5883879

The transform applied to project geometry from 3d to the 2d coordinates necessary for drawing on a screen is called a perspective projection. It involves calculating 1/z and multiplying x and y by that.

Filling a triangle involves visiting every pixel within it and deciding which colour to put there. To paint a texture that properly obeys perspective you'd need to perform a divide stemming from that 1/z operation for every pixel.

Divides are expensive so the original Playstation doesn't do them. It just squeezes the texture to fit, disregarding any consideration of perspective. That's only mathematically correct if 1/z is constant over the entire triangle, so you tend to see greater problems with geometry as it gets to a greater angle and as it gets closer to the camera.

Alsothe Playstation uses a fixed point 16.16 representation for numbers. That doesn't allow as much localisation of precision as floating point, and means that a developer needs actually to think relatively carefully about game distance units. It's usually not a problem for the sort of draw distances that are realistic on that generation of hardware but a particular developer could deal with that poorly.

>> No.5884034
File: 221 KB, 482x363, 1566668956481.png [View same] [iqdb] [saucenao] [google]

>The z buffer on the ps1 is only 16 bit which causes the same shit. Only 65536 units of precision in calculating depth causes the jumping around
Will you fucks shut up about z-buffers and floating point math for a fucking minute, this shit is getting embarrassing.

>> No.5885078

Fear of a Sega resurgence.

>> No.5885125

There is no z-buffer on the PS1. You have to sort the tris.

>> No.5885348

Wrong, PS1 does have a z-buffer. Albeit with 1-bit precision.

>> No.5885372
File: 98 KB, 500x750, 1426336335520.jpg [View same] [iqdb] [saucenao] [google]

Buffer deez nuts

>> No.5886105

Is this Back to the Future: The Game?

>> No.5886902

It doesn't calculate float points or something like that.

>> No.5887009

> lack of subpixel accurate rasterization doesn't cause jittery janky looking polygons
> subpixel accuracy is a buzzword


>> No.5887017

Without perspective correct texturing the rasterizer is a glorified 2d polygon drawer (as in the ps1 and saturn)

>> No.5887041

I had a PlayStation instead of a PSX so I didn't have that problem

>> No.5887078

Its Germs: Nerawareta Machi

>> No.5887257

quantum super position in the polygon code, so if you look one way, and then look again its occupying both pixel spaces, but the CPU can't handle it and it picks the most probable position for rendering until something changes.

>> No.5888118

Shit hardware

>> No.5888158

Okay I stand corrected, you obnoxious fuck.

>> No.5888167

This thread is full of technologically inept and downright retarded people

>> No.5888184

Wow I'd never have thought rounding to a pixel boundary would cause such visible jitter. But I suppose each triangle suffers from 3 such roundoffs.

>> No.5888189

cheaper non floating point rendering to make the console affordable with all of the CD hardware

>> No.5888212
File: 903 KB, 300x200, 1336944095452.gif [View same] [iqdb] [saucenao] [google]


>> No.5888302
File: 104 KB, 800x600, 7240bad083c652ebb07487a98440473c.png [View same] [iqdb] [saucenao] [google]

What is the most Quality HD mod?

>> No.5888635

>Go home and be a family m-- nevermind.

>> No.5888825

No Z-buffer.

>> No.5888848

>The N64 wsa the first proper 3D console
> Shit ram pool.
> Gouraud shading instead of texture mapping.
> Introduce a hardware level blur filter.

>> No.5888862

This thread is proof English as a language was a failure, if by simply using "jitter" people cannot convey two very different quirks of a moving image. Living language my ass.

>> No.5888875

There are two types of jitter.

Texture fuckery is due to PS1 only supporting affine transformation, and the texture sampling was as such inaccurate without the depth of nodes.

Vertex fuckery is because the triangle rasterisation not supporting subpixel positions for screen space.

>> No.5888879

I should note that not accounting the 'depth of nodes' for texture fuckery is separate from Z-buffering or sorting. Those lead to different overlapping artifacts.

>> No.5889306

>> Shit ram pool.
>> Gouraud shading instead of texture mapping.
>> Introduce a hardware level blur filter.

This has nothing to do with whether it can do proper 3D or not, that's just how good the games look. And I still say the N64 is the first console to do 3D without any shortcuts.

>> No.5889424

Go home and work on your Comeback some more.

>> No.5891043

It's just Silent Hill, man

>> No.5891052

Are you German?