Page 5 of 12
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 3:11 am
by huckleberrypie
Exophase wrote:It's not really for a lack of precision in the GTE, it's the fact that GPU commands are given in screen coordinates with no fractional part. Emulators don't enhance this.
Perspective correct interpolation would mean calculating a reciprocal and five multiplications every pixel. It's a lot more expensive.
As in they just clamp it to a fixed pixel grid or something? I assume the DS does something similar too, based on what I observed while playing Kit's game, e.g. with the idle animations being a little jittery. Or is it something to do with the animations themselves?
And true, though given the host environment for emulating things, it shouldn't take that much of a hit to do perspective-correct texturing, yes?
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 11:09 am
by ericbazinga
Exophase wrote:ericbazinga wrote:What videos? SEND ME THE LINK
I posted the link on the last page.
I couldn't find the link. Could you repost it please?
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 1:40 pm
by Lordus
ericbazinga wrote:Exophase wrote:ericbazinga wrote:What videos? SEND ME THE LINK
I posted the link on the last page.
I couldn't find the link. Could you repost it please?
Yeah, it was really well hidden there, 7 posts before you asked the first time:
https://www.youtube.com/watch?v=vW3erDOgnqI
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 2:22 pm
by Exophase
huckleberrypie wrote:As in they just clamp it to a fixed pixel grid or something? I assume the DS does something similar too, based on what I observed while playing Kit's game, e.g. with the idle animations being a little jittery. Or is it something to do with the animations themselves?
Yes, both PS1 and DS have GPUs that receive vertexes in whole screen pixel units. DS does have the distinction of having sub-
texel precision in its texture coordinates, which PS1 also lacks. They don't have sub-pixel precision because it's more expensive to render with it, and because of the extra bits needed (DS in particularly packs the bits really tight)
DS emulators could include sub-pixel precision since the GPU command format is hidden to the game, and AFAIK DeSmuME does. DraStic doesn't, for reasons of accuracy and performance. But with the high res mode (which still doesn't have sub-pixel precision, but has more precision in the whole pixels) accuracy is out the window, and there'd be no benefit to throwing out that last bit.
huckleberrypie wrote:And true, though given the host environment for emulating things, it shouldn't take that much of a hit to do perspective-correct texturing, yes?
You can't do perspective correct interpolation if you don't have depth information (to know how far away from the camera the polygon extends), and PS1 GPU commands don't. That information is gone by that point.
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 6:23 pm
by huckleberrypie
Well, how does the PS1 handle depth in lieu of an actual buffer, then?
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 7:27 pm
by Exophase
huckleberrypie wrote:Well, how does the PS1 handle depth in lieu of an actual buffer, then?
The polygons have to be sorted so they're drawn back to front, or at least roughly in that order.
To help accelerate the sorting process PS1 has a linked list DMA mode. The game will allocate a number of bins based on whatever Z sort resolution it's trying to get, and then put a polygon draw command in the appropriate depth bin (by linking the last one in that bin to the new one).
Saturn didn't have a depth buffer either. The games probably used the branch bits in the VDP1 commands to get a similar kind of linked list by depth bins.
Although N64 did have depth buffering, some of the most efficient games on the system also opted to do some kind of sorting over depth buffering. Depth buffering cost the system a lot of extra bandwidth.
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 8:06 pm
by huckleberrypie
Exophase wrote:huckleberrypie wrote:Well, how does the PS1 handle depth in lieu of an actual buffer, then?
The polygons have to be sorted so they're drawn back to front, or at least roughly in that order.
To help accelerate the sorting process PS1 has a linked list DMA mode. The game will allocate a number of bins based on whatever Z sort resolution it's trying to get, and then put a polygon draw command in the appropriate depth bin (by linking the last one in that bin to the new one).
Saturn didn't have a depth buffer either. The games probably used the branch bits in the VDP1 commands to get a similar kind of linked list by depth bins.
Although N64 did have depth buffering, some of the most efficient games on the system also opted to do some kind of sorting over depth buffering. Depth buffering cost the system a lot of extra bandwidth.
Oh yeah, the classic painter's algorithm, named after the technique done by most artists e.g. painting the background parts first before doing whatever scenery they want to put in front:
https://en.wikipedia.org/wiki/Painter%27s_algorithm
Re: Higher resolution rendering
Posted: Sun Apr 19, 2015 10:18 pm
by ericbazinga
Watched the video. Sorry Exophase/Lordus, I just couldn't find it. (I found it NOW, of course, but the post wasn't very obvious.) My apologies
Wow the difference is amazing! Near-3ds quality, in my opinion. When do you think it'll be available to the public?
Re: Higher resolution rendering
Posted: Wed Apr 22, 2015 5:04 am
by Fefo
Om nom, so much info. Good to see your progress, can't wait to burn my device. Don't bother yourself with a release date, but PLEASE add a changelog somewhere on your betas. It's hard to keep an eye on everything. And no "bugfixes", please ;)
Re: Higher resolution rendering
Posted: Sun Apr 26, 2015 11:13 pm
by Sean
Just got the beta update! I'll try to see if I can find any issues, but so far it looks great.