/**
|
* Transforms a value for non-perspective interpolation by multiplying
|
* it by w, the value used in the perspective divide. This function is
|
* intended to be called in a vertex shader to compute the value of a
|
* `varying` that should not be subject to perspective interpolation.
|
* For example, screen-space texture coordinates. The fragment shader
|
* must call {@link czm_readNonPerspective} to retrieve the final
|
* non-perspective value.
|
*
|
* @name czm_writeNonPerspective
|
* @glslFunction
|
*
|
* @param {float|vec2|vec3|vec4} value The value to be interpolated without accounting for perspective.
|
* @param {float} w The perspective divide value. Usually this is the computed `gl_Position.w`.
|
* @returns {float|vec2|vec3|vec4} The transformed value, intended to be stored in a `varying` and read in the
|
* fragment shader with {@link czm_readNonPerspective}.
|
*/
|
float czm_writeNonPerspective(float value, float w) {
|
return value * w;
|
}
|
|
vec2 czm_writeNonPerspective(vec2 value, float w) {
|
return value * w;
|
}
|
|
vec3 czm_writeNonPerspective(vec3 value, float w) {
|
return value * w;
|
}
|
|
vec4 czm_writeNonPerspective(vec4 value, float w) {
|
return value * w;
|
}
|