Implementing a viewport is just a rectangular space on the back buffer usually a 2d texture set to the size of the client window that we render to.
However in direct3d when we describe the viewport it asks for the window width and heights and the top left X,Y position
From what I understand normalized device coordinates for the top left would be represented by 1,-1 and if I chose another type of device coordinate would be represented by 0 , 0.
How does this translate To a coordinate system for primitives I draw on screen from some file formats like wavefronts OBJ format their are coordinates that are out of range from -1 to 1.