@JustSid: Thanks, your posts are always helpful.

@MasterQ32: I don't think that this is a good suggestion. Tons of code might break with this change. Apart from that: there is no need to change. The discussion we're doing here is very interesting for me. But you don't need to understand a word of what's being written here in order to successfully apply the concept.

@jcl: In the end it can be brought down to: Use floatv when you want to pass something to a shader, use fixv for the inverse operation. I'm the living proof for that as I applied the technique correctly without even knowing fixv was a macro and how it worked. I guess this is even the most important message for the manual page. I don't know if the background information about memory space and casting is really required there. If however you want to include advanced info the JustSid is absolutely right with:
Originally Posted By: JustSid
It should be noted that there is no actual conversion happening (with the exception being var -> float), but instead that the functions are used to force a float into a var without any implicit conversion that would occur if one would just type 'x = y'

The example provided on the manual page does not do a good job from my point of view. Just showing the inverse function does not make the purpose or the usage of the function any clearer. It's quite the opposite for. When there are two functions and one reverses the other you might expect that both of them do a conversion.


Always learn from history, to be sure you make the same mistakes again...