[ 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

cd

>> No.5879370

>>5879367
semen

>> No.5879375

>>5879367
Lack of calculation precision

>> No.5879376

Aesthetics.

>> No.5879379

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

>> No.5879380

>>5879367
Soul.

>> 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

>>5879367
meth

>> No.5879426

>>5879367
It's cold

>> No.5879428

>>5879367
Because it's Japy Wapy shit.

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

>>5879367
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]
5879708

>>5879698

>> No.5879713

>>5879441
what game is that

>> No.5879715

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

>> No.5879727

>>5879461
I'm not interested, fuck off.

>> No.5879925

>>5879461
I'm so interested, fank you.

>> No.5880035

>>5879441
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

>>5879461
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

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

>> No.5880440

>>5879367
By being a shit console with shit hardware.

>> No.5880445

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

>> No.5880550

>>5879713
Germs

>> No.5880642

https://www.youtube.com/results?search_query=pgxp&sp=CAI%253D

>> No.5880650

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

This is probably the most dramatic example.

https://www.youtube.com/watch?v=QIC43dk00pA

>> No.5880653

>>5879367
z fighting

>> No.5880675

>>5880642

This guy has a massive PGXP playlist.
https://www.youtube.com/playlist?list=PL4wiHgohFwm4ZVNTAce_JiWp2JDfOXyHB

I think these games look the best:
https://www.youtube.com/watch?v=dLfdZw51wP0&list=PL4wiHgohFwm4ZVNTAce_JiWp2JDfOXyHB&index=108&t=0s
https://www.youtube.com/watch?v=L5-832DY2gc&list=PL4wiHgohFwm4ZVNTAce_JiWp2JDfOXyHB&index=106&t=306s
https://www.youtube.com/watch?v=mejkmxyQuao&list=PL4wiHgohFwm4ZVNTAce_JiWp2JDfOXyHB&index=102&t=13s
https://www.youtube.com/watch?v=-ipBlJWKpOk&list=PL4wiHgohFwm4ZVNTAce_JiWp2JDfOXyHB&index=90&t=105s

>> No.5880713

>>5879367
Nerve gas

>> No.5880726

>>5879367
blast processing

>> No.5880757

>>5880425
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

>>5879713
Super Costanza Fighter II Turbo

>> No.5880907

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

>> No.5880917

>>5879461
>>5880642
>>5880650
>>5880675
Soulless and not what the developers intended.

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

>original hardware has limitations
>emulator/remake/re-release removes limitations
>purist: OMG THATS NOT WHAT THE DEVELOPERS INTENDED IT HAS NO SOUL NOW ITS COMPLETELY FUCKED AND YOURE SHIT FOR LIKING IT
Every time. I really do hate you cunts sometimes.

>> No.5881396

>>5879367
z-buffer, or lack thereof.

>> No.5881398

>>5880917
Wait.........

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

>> No.5881401

>>5881398
But they did.

>> No.5881572

>>5881126
Enjoying those hi-res texture packs, kiddo?

>> No.5882073

>>5880035
>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]
5882098

>>5882073
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]
5882107

new pgxp:

https://youtu.be/OFg2AvAk6QI
https://www.youtube.com/watch?v=VJV8kXalpWo

>> No.5882110

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

>> No.5882373 [DELETED] 

>>5882073
>>5882098
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

>>5882073
>>5882098
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

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

>> No.5882454

>>5882447
both

>> No.5882461

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

>> No.5882469

>>5881126
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

>>5879367
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.

https://all-things-andy-gavin.com/2011/02/04/making-crash-bandicoot-part-3/

>> No.5882543

>>5882530
>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

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

>> No.5882582

>>5882543
>>5882548

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

>>5880550
>>5879713
>>5880893
no, really. what is this?

>> No.5882841

>>5882530
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

>>5879367
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

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

>> No.5883814

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

>> No.5883863

>>5882098
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

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

>>5883814
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

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

>> No.5883879

>>5879367
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]
5884034

>>5883864
>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

>>5879367
Fear of a Sega resurgence.

>> No.5885125

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

>> No.5885348

>>5885125
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]
5885372

>>5885125
>>5884034
Buffer deez nuts

>> No.5886105

>>5879367
Is this Back to the Future: The Game?

>> No.5886902

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

>> No.5887009

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

https://youtu.be/pQMCDpomTK8

>> No.5887017

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

>> No.5887041

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

>> No.5887078

>>5882808
Its Germs: Nerawareta Machi

>> No.5887257

>>5879367
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

>>5879367
Shit hardware

>> No.5888158

>>5883863
Okay I stand corrected, you obnoxious fuck.

>> No.5888167

This thread is full of technologically inept and downright retarded people

>> No.5888184

>>5887009
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

>>5879367
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]
5888212

>>5880893

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

What is the most Quality HD mod?

>> No.5888635

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

>> No.5888825

>>5879367
No Z-buffer.

>> No.5888848

>>5880784
>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

>>5888875
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

>>5888848
>> 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

>>5888635
Go home and work on your Comeback some more.

>> No.5891043

>>5879367
It's just Silent Hill, man

>> No.5891052

>>5888862
Are you German?