This is an example of a shape consisting of multiple points, triangles and eventually a shape:

Red Dots = Vector3 (X, Y, Z) or Vector2 (X, Y)

If I have a Texture of a certain size, how do I texturize this area in the best way so that the texture inside the shape matches the shape and does not overlap anywhere? Perhaps also with a chance to scale the texture in case it's too small or to big for the shape, but still so that it gets rendered correctly.

Do I treat the shape as a rectangle? Figure out it's 4 corners?
Or do I calculate the distance between Center - (Texture Width / 2) and Point (to see how "many" times the texture can fit between on that axis to estimate at what Coordinates the Texture should be at that certain point?

I've looked at Texture Mapping but haven't found any concrete examples that it explains it well, it's also confusing with 0.0-1.0 values for Texture Coordinates.

This is exactly as I thought about. But it seems scaled, how do I scale it and perhaps rotate it? I presumed that the center was X:0,Y:0. TopRight corner, X:1, Y:-1, BottomRight corner: X1 Y:1, BottomLeft corner: X: -1 Y: 1, TopLeft corner: X: -1, Y: -1... Perhaps that's why my methods have failed. I'll try using this as a reference point to see if I get results. If I want to scale it 2*Size I just use 2.0 instead of 1.0?
–
DeukalionNov 24 '12 at 2:59

That depends on how you're wrapping your texture. Typically values greater than 1 have their >1 components ignored. This results in the texture repeating itself. Rotating it would take some more complex math and is not really in the scope of this question. To scale it bigger you would actually use smaller texture coordinates, not bigger.
–
Eric BNov 24 '12 at 4:16