I am implementing the glu matrices for my matrix library and there is a

gluPickMatrix(). is this still usefull in a 4.0+ core context opengl?

and what exacty does it do?

from what i can tell it takes the picked viewport region and does an x,y

scale and translation which is concatenated with the camera matrix. so

when you multiply points by the view matrix the picked region is scaled

to the viewport. you then render a full viewport of the picked region.

is that correct?

there is this comment in the sgi source as an explanation.

/* translate and scale the picked region to the entire window */