How constant is the value? static great for readonly things, but you can quickly get into a mess if it is not readonly - especially if you have multiple threads. The scaling factor for me is not like a solid constant - i.e. Is not:
public const double ScaleFactor = 1;
I would not hesitate to use a static variable for what I load once and leave alone. Besides that, I would apparently encapsulate (in your case) some RenderContext with this value and any other utility methods - and pass the RenderContext between the methods; it can also help you ignore the base implementation if you need unit test, etc.
It seems to you that you need more properties (and you will inevitably be), you just extend the RenderContext class - nothing else changes.
(edit)
Also - think about the future: will you ever do more than one render? Since we all have many cores, etc .... static is good if all threads share a value. There is [ThreadStatic] , but this comparison is a little useless.
source share