hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.32k stars 2.18k forks source link

Graphical glitch in Kenka Bancho 4 with OpenGL #6895

Open daniel229 opened 10 years ago

daniel229 commented 10 years ago

Those red barriers should be invisible. PSP psp

OGL ogl

D3D9 and softwareGPU looks fine D3D9 d3d

Gedebugger,it has a alpha blend and stencil test. 06 07 08

unknownbrackets commented 10 years ago

I blame beziers. Probably like the FF4 thing...

-[Unknown]

daniel229 commented 10 years ago

Yes,don't execute beziers,then it's invisible.

unknownbrackets commented 9 years ago

Has this changed / improved at all? Is it now the same in d3d9? Does hardware transform affect it?

-[Unknown]

daniel229 commented 9 years ago

No change,same in d3d9,hardware transform not affect it.

unknownbrackets commented 8 years ago

Has this improved with the latest bezier fixes?

-[Unknown]

daniel229 commented 8 years ago

No,it doesn't even with https://github.com/hrydgard/ppsspp/pull/8690

unknownbrackets commented 8 years ago

Hmm. If you disable the alpha blending and alpha test, does it still not draw in direct3d? Maybe this is actually depth related...

I think it's probably not breezier related, then.

-[Unknown]

daniel229 commented 8 years ago

D3D9 is same as OpenGL now since https://github.com/hrydgard/ppsspp/pull/6900

daniel229 commented 8 years ago

Disable appha blending and alpha test,it still draws. 01

unknownbrackets commented 8 years ago

Is it possible to experience this issue in 3's demo (NPJH90015)?

The reason #6900 made it happen in Direct3D 9 is just because beziers weren't supported in Direct3D 9 before that.

Maybe I can replicate and test the bezier it's drawing here (with the points.)

-[Unknown]

daniel229 commented 8 years ago

3's looks fine. PPSSPP 01

PSP 02

demo https://drive.google.com/file/d/0BzGZGDfFE68zOW1Yb3BSQmpaLU0/view?usp=sharing

unknownbrackets commented 8 years ago

Oh, okay. Seems like there's no demo for 4... so this problem is only in 4?

Thanks for checking.

-[Unknown]

daniel229 commented 8 years ago

Got it,it also happens in 3 demo.Just far away from the barrier,it disappear,but in PPSSPP it doesn't.

daniel229 commented 8 years ago

The barrier should be disappear here,but it doesn't. 06

savestate for 3 demo https://drive.google.com/file/d/0BzGZGDfFE68zRHg3MlRra2RUNE0/view?usp=sharing

unknownbrackets commented 8 years ago

I think this is mipmapping related - at least in the 3 demo.

Texture = 0x09e21cc0 Level 0 (256x64), clear cross hatching Level 1 (128x32), clear cross hatching (a bit blurry) Level 2 (64x16), very blurry cross hatching Level 3 (32x8), entirely black

All use the same alpha value.

The settings: Tex level/bias: slope + bias: -5.000000 Tex lod slope: 0.299995

We're not handling those correctly, so we don't end up showing the mipmaps. I'm also not sure our bezier implementation works with mipmaps correctly (it probably does.)

From your screenshot, 4 also seems to have mipmap levels - and it also has the slope and bias (which I didn't notice before.) So it's likely the same in both games indeed.

-[Unknown]

daniel229 commented 8 years ago

In 4 it has 3 the mipmapping level,level 0 level 1 level 2,and level 2 is black.

unknownbrackets commented 5 years ago

This happens on draw 4199/4237 in NPJH90015_#6895_slope_mapping.zip. Currently, the PSP playback code I use isn't good enough to handle this dump, because it's too big.

-[Unknown]