Per-pixel operations

Can Opengl do any of the per-pixel stuff that the ps2 can do? Does the ps2 have an accelerated ReadPixels() buffer or something?

As far as I know the ps2 has unified memory, they don’t even have to copy it to get it into a texture.

PS2 is not unified memory architecture, it has system ram, and 4 meg of VRAM. How easy it is to render directly into a texture in VRAMI am not sure. But I’m not sure it can be done anyway. I think the framebuffer can be copied into textures tho, using DMA systems.

Besides which PS2 doesn’t even support OpenGL, so whats the point of discussing it here? (Might be wrong on this, Sony were thinking of releasing a version, but it wont tap the full potential of the machine, last I heard it wasn’t out)

And no it can’t do per pixel effects like PC cards. It can’t do a DOT product per pixel or anything like that.

Nutty

UBISoft made an OpenGL for the PS2 internally, not sure if they made it available to outer source.

There’s a cut-down version of OpenGL (or at least OGL inspired API) as part of the Linux dev. pack.

UPDATE: http://playstation2-linux.com/projects/ps2gl/

[This message has been edited by SnowKrash (edited 03-29-2002).]

The trouble with OpenGL API on PS2, is that OpenGL is a traditional Immediate mode API, that works well with PC architecture. PS2 architecture is soo severely different, that you have to code in an alltogether different way, and is just not as simple as glBegin() glVert*() glEnd, type stuff.

I’m not saying it won’t work, it will, but it wont use the machine to it’s true potential. If you want the best from a console, use the native API.

Nutty

This thread is getting a little OT but nevermind…

Nutty:
Firstly, there’s nothing preventing behind the scenes batching of the sort that’s standard practice with PC 3D graphics drivers. Secondly I took a look at the ps2gl source and vertex arrays appear to be supported as well (as I would expect).

Clearly this ‘solution’ isn’t the way to getting the most performance out of the PS2 as you say. However provided it’s reasonably optimised, I wouldn’t be surprised if it beats out some people’s first few attempts with the native API and with much less investment in pulling-of-hair-out time!

It’s a great alternative in my option if you already have OGL experience and there’s a wider variety of reference material and tutorials if you don’t. Plus you could potentially debug on a PC as well. The list of advantages goes on and on.

For those who doubt the complexity of working with the PS2 at a lower level, start reading here: http://www.gamasutra.com/gdce/green/green_03.htm

[This message has been edited by SnowKrash (edited 03-29-2002).]

Can Opengl do any of the per-pixel stuff that the ps2 can do?

The short answer is yes and more besides. To my knowledge (I’m sure someone will shoot me down if I’m wrong) the Graphics Synthesizer of the PS2 is very basic in terms of the texture modes supported, but highly parallel. Multi-texturing and other more complex effects are built-up with multipass rendering. I expect any per-pixel lighting effects borrow from the classic fake phong map approach.

The same can be done with [full] OpenGL but with greater flexibility in a lot of cases, particularly with the latest extensions.