re-sync docs with postprocessing API

macos_ci_fix
Cody Glassman 1 year ago
parent 231803c6ea
commit 0f53088014

@ -190,6 +190,11 @@ mat4 omw_InvProjectionMatrix()
#endif #endif
} }
vec3 omw_GetNormalsWorldSpace(vec2 uv)
{
return (vec4(omw_GetNormals(uv), 0.0) * omw.viewMatrix).rgb;
}
vec3 omw_GetWorldPosFromUV(vec2 uv) vec3 omw_GetWorldPosFromUV(vec2 uv)
{ {
float depth = omw_GetDepth(uv); float depth = omw_GetDepth(uv);

@ -189,19 +189,30 @@ The following functions can be accessed in any fragment or vertex shader.
+--------------------------------------------------+-------------------------------------------------------------------------------+ +--------------------------------------------------+-------------------------------------------------------------------------------+
| ``vec4 omw_GetLastPass(vec2 uv)`` | Returns RGBA color output of the last pass | | ``vec4 omw_GetLastPass(vec2 uv)`` | Returns RGBA color output of the last pass |
+--------------------------------------------------+-------------------------------------------------------------------------------+ +--------------------------------------------------+-------------------------------------------------------------------------------+
| ``vec3 omw_GetNormals(vec2 uv)`` | Returns normalized worldspace normals [-1, 1] | | ``vec3 omw_GetNormals(vec2 uv)`` | Returns normalized view-space normals [-1, 1] |
| | | +--------------------------------------------------+-------------------------------------------------------------------------------+
| | The values in sampler are in [0, 1] but are transformed to [-1, 1] | | ``vec3 omw_GetNormalsWorldSpace(vec2 uv)`` | Returns normalized world-space normals [-1, 1] |
+--------------------------------------------------+-----------------------+-------------------------------------------------------+ +--------------------------------------------------+-------------------------------------------------------------------------------+
| ``vec3 omw_GetWorldPosFromUV(vec2 uv)`` | Returns world position for given uv coordinate. | | ``vec3 omw_GetWorldPosFromUV(vec2 uv)`` | Returns world position for given uv coordinate. |
+--------------------------------------------------+-----------------------+-------------------------------------------------------+ +--------------------------------------------------+-------------------------------------------------------------------------------+
| ``float omw_GetLinearDepth(vec2 uv)`` | Returns the depth in game units for given uv coordinate. | | ``float omw_GetLinearDepth(vec2 uv)`` | Returns the depth in game units for given uv coordinate. |
+--------------------------------------------------+-----------------------+-------------------------------------------------------+ +--------------------------------------------------+-------------------------------------------------------------------------------+
| ``float omw_EstimateFogCoverageFromUV(vec2 uv)`` | Returns a fog coverage in the range from 0.0 (no fog) and 1.0 (full fog) | | ``float omw_EstimateFogCoverageFromUV(vec2 uv)`` | Returns a fog coverage in the range from 0.0 (no fog) and 1.0 (full fog) |
| | | | | |
| | Calculates an estimated fog coverage for given uv coordinate. | | | Calculates an estimated fog coverage for given uv coordinate. |
+--------------------------------------------------+-----------------------+-------------------------------------------------------+ +--------------------------------------------------+-------------------------------------------------------------------------------+
| ``int omw_GetPointLightCount()`` | Returns the number of point lights available to sample from in the scene. |
+--------------------------------------------------+-------------------------------------------------------------------------------+
| ``vec3 omw_GetPointLightWorldPos(int index)`` | Returns the world space position of a point light. |
+--------------------------------------------------+-------------------------------------------------------------------------------+
| ``vec3 omw_GetPointLightDiffuse(int index)`` | Returns the diffuse color of the point light. |
+--------------------------------------------------+-------------------------------------------------------------------------------+
| ``int omw_GetPointLightAttenuation(int index)`` | Returns the attenuation values of the point light. |
| | |
| | The XYZ channels hold the constant, linear, and quadratic components. |
+--------------------------------------------------+-------------------------------------------------------------------------------+
| ``float omw_GetPointLightRadius(int index)`` | Returns the radius of the point light, in game units. |
+--------------------------------------------------+-------------------------------------------------------------------------------+
Special Attributes Special Attributes
################## ##################

@ -34,6 +34,7 @@ DisplayDepthFactorName: "Depth colour factor"
DisplayDepthFactorDescription: "Determines correlation between pixel depth value and its output colour. High values lead to brighter image." DisplayDepthFactorDescription: "Determines correlation between pixel depth value and its output colour. High values lead to brighter image."
DisplayDepthName: "Visualize depth buffer" DisplayDepthName: "Visualize depth buffer"
DisplayNormalsName: "Visualize pass normals" DisplayNormalsName: "Visualize pass normals"
NormalsInWorldSpace: "Show normals in world space"
ContrastLevelDescription: "Constrast level." ContrastLevelDescription: "Constrast level."
ContrastLevelName: "Constrast" ContrastLevelName: "Constrast"
GammaLevelDescription: "Gamma level." GammaLevelDescription: "Gamma level."

@ -33,6 +33,7 @@ DisplayDepthName: "Визуализация буфера глубины"
DisplayDepthFactorDescription: "Определяет соотношение между значением глубины пикселя и его цветом. Чем выше значение, тем ярче будет изображение." DisplayDepthFactorDescription: "Определяет соотношение между значением глубины пикселя и его цветом. Чем выше значение, тем ярче будет изображение."
DisplayDepthFactorName: "Соотношение цвета" DisplayDepthFactorName: "Соотношение цвета"
DisplayNormalsName: "Визуализация нормалей" DisplayNormalsName: "Визуализация нормалей"
NormalsInWorldSpace: "Показывать нормали мирового пространства"
ContrastLevelDescription: "Контрастность изображения" ContrastLevelDescription: "Контрастность изображения"
ContrastLevelName: "Контрастность" ContrastLevelName: "Контрастность"
GammaLevelDescription: "Яркость изображения" GammaLevelDescription: "Яркость изображения"

@ -19,6 +19,11 @@ uniform_bool uDisplayNormals {
display_name = "#{OMWShaders:DisplayNormalsName}"; display_name = "#{OMWShaders:DisplayNormalsName}";
} }
uniform_bool uNormalsInWorldSpace {
default = false;
display_name = "#{OMWShaders:NormalsInWorldSpace}";
}
fragment main { fragment main {
omw_In vec2 omw_TexCoord; omw_In vec2 omw_TexCoord;
@ -30,8 +35,12 @@ fragment main {
if (uDisplayDepth) if (uDisplayDepth)
omw_FragColor = vec4(vec3(omw_GetLinearDepth(omw_TexCoord) / omw.far * uDepthFactor), 1.0); omw_FragColor = vec4(vec3(omw_GetLinearDepth(omw_TexCoord) / omw.far * uDepthFactor), 1.0);
#if OMW_NORMALS #if OMW_NORMALS
if (uDisplayNormals && (!uDisplayDepth || omw_TexCoord.x < 0.5)) if (uDisplayNormals && (!uDisplayDepth || omw_TexCoord.x < 0.5)) {
if (uNormalsInWorldSpace)
omw_FragColor.rgb = omw_GetNormalsWorldSpace(omw_TexCoord) * 0.5 + 0.5;
else
omw_FragColor.rgb = omw_GetNormals(omw_TexCoord) * 0.5 + 0.5; omw_FragColor.rgb = omw_GetNormals(omw_TexCoord) * 0.5 + 0.5;
}
#endif #endif
} }
} }

Loading…
Cancel
Save