Gurra

02-27-2012, 10:20 AM

I've been wondering something. Assume I have a screen which has a nonrectangular pixel distribution: for example a setup where each pixel is separated to the next by a constant angle rather than the standard constant distance on the screen.

http://www.imagetrendsinc.com/images/products/tech_hemi_09.jpg

Is it possible to create a projection matrix and or viewport transformation that can handle such a screen?

(Imagine a projector which produces a pincussion like image)

My conclusion is that it is not possible to do with R4 matrix multiplication - I cannot see any way of projecting a point r = Mv*r0, such that rp = P * r cancels out the pincussion effect of this specific pixel distribution.

The only way I see of doing this is to assume a rectangular screen and then as a last step squeeze the framebuffer information to cancel out the pixel distribution (thus losing some details in the edges)

http://www.imagetrendsinc.com/images/products/tech_hemi_09.jpg

Is it possible to create a projection matrix and or viewport transformation that can handle such a screen?

(Imagine a projector which produces a pincussion like image)

My conclusion is that it is not possible to do with R4 matrix multiplication - I cannot see any way of projecting a point r = Mv*r0, such that rp = P * r cancels out the pincussion effect of this specific pixel distribution.

The only way I see of doing this is to assume a rectangular screen and then as a last step squeeze the framebuffer information to cancel out the pixel distribution (thus losing some details in the edges)