When creating primitives for instance a quad, is it better to define the vertices a scaled size eg -0.2, 0.2 etc and draw them as is, or is it better to keep them all as 1.0f and apply a scaling transformation later on.
If the quad comes from some resource, load it as it is and modify it in the shader.
If it is something you are creating at run-time, it is your choice. If it is a static 2D object such as those used for post-processing it is best to put them in normalized coordinates and do nothing in the shader, but otherwise it is case-by-case your decision.
Secondly, once we are in world space my object appears with its (model space) center at 0,0 (staying with 2D). Is there a preferred way to organize objects so teh top left pixel of my object start at the top left of the screen (eg, top left pixel is 0,0)?
Do what I mentioned for post-processing.
Make the coordinates:
[-1,-1]——[ 1,-1]
| |
| |
[-1, 1]——[ 1, 1]
And then do not transform them in the vertex shader.
L. Spiro
PS: Neither question was related to Direct3D 11.