Files
CodenameEngine/pages/funkin/shaders/ShaderTemplates.html
T
2022-12-10 14:13:35 +01:00

10 lines
16 KiB
HTML
Vendored

<!DOCTYPE html>
<html lang="en"><!-- use theme color or fallback -->
<!--use textcolor from settings, otherwise create a contrasting color to theme color-->
<head><meta charset="utf-8"/><link href="../../bootstrap/css/bootstrap.min.css" rel="stylesheet"/><link href="../../bootstrap/css/bootstrap-responsive.min.css" rel="stylesheet"/><link href="../../bootstrap/css/bootstrap-select.min.css" rel="stylesheet"/><link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700,700italic,400italic" rel="stylesheet" type="text/css"/><link href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:200,600,600italic,400" rel="stylesheet" type="text/css"/><link href="https://netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.css" rel="stylesheet" type="text/css"/><script src="../../jquery-1.9.1.min.js"></script><script src="../../bootstrap/js/bootstrap.min.js"></script><script src="../../bootstrap/js/bootstrap-select.min.js"></script><link href="../../styles.css" rel="stylesheet"/><link href="../../extra-styles.css" rel="stylesheet"/><link href="../../haxe-nav.css" rel="stylesheet"/><link href="../../dark-mode.css" rel="stylesheet"/><script>var dox = {rootPath: "../../",platforms: ["doc"]};</script><script src="../../nav.js"></script><script src="../../index.js"></script><link rel="icon" href="../../favicon.ico" type="image/x-icon"/><title>funkin.shaders.ShaderTemplates</title></head><body><script>/* Here to prevent flash of unstyled content */let systemDarkMode = window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches;if ((!localStorage.theme && systemDarkMode) || localStorage.theme == "dark") {document.body.style.backgroundColor = "#111";document.body.style.opacity = "0";document.addEventListener("DOMContentLoaded", function(event) {toggleTheme();document.body.style.backgroundColor = "";document.body.style.opacity = "";});}</script><style>
.navbar .brand {
display: inline-block;
float: none;
text-shadow: 0 0 0 transparent;
}
</style><nav class="nav"><div class="navbar"><div class="navbar-inner" style="background:#FAFAFA; border-bottom:1px solid rgba(0,0,0,.09)"><div class="container"><a class="brand" style="color:#000000" href="../../">API Documentation</a><a href="#" id="theme-toggle" class="brand" style="color:#000000" onclick="toggleTheme()" title="Toggle Dark Mode"><i class="fa fa-moon-o"></i></a></div></div></div></nav><div class="container main-content"><div class="row-fluid"><div class="span3"><div class="well sidebar-nav"><form class="form-search" id="searchForm"><div class="input-prepend input-block-level"><span class="add-on"><i class="fa fa-search"></i></span><input id="search" type="text" placeholder="Filter (Ctrl+P)" autocomplete="off"/></div></form></div><div class="well sidebar-nav" id="explorer"><div id="nav"></div></div></div><div class="span9"><div class="page-header"><h1><small>class</small> ShaderTemplates</h1><h4><small>package <a href="../../funkin/shaders/index.html">funkin.shaders</a></small></h4> <h4><small>import <a href="../../funkin/shaders/FunkinShader.html">funkin.shaders.FunkinShader</a></small></h4><span class="label label-meta label-meta-directlyUsed" title="Marks types that are directly referenced by non-extern code.">@:directlyUsed</span></div><div class="body"><div class="doc doc-main"><p></p></div><h3 class="section">Static variables</h3><div class="fields"><div class="field "><a name="defaultFragmentSource"></a><h3 class="anchor"><code><span class="label label-meta label-meta-value" title="Used to store default values for fields and function arguments.">@:value(&quot;#pragma header\r\n\t\t\r\n void main(void)\r\n {\r\n gl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n }&quot;)</span><span class="label label-static">static</span><span class="label label-final">final</span><span class="label">read only</span><a href="#defaultFragmentSource"><span class="identifier">defaultFragmentSource</span></a>:<span class="type">String</span><span> = &quot;#pragma header\r\n\t\t\r\n void main(void)\r\n {\r\n gl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\r\n }&quot;</span></code></h3><div class="doc"><p></p></div></div><div class="field "><a name="defaultVertexSource"></a><h3 class="anchor"><code><span class="label label-meta label-meta-value" title="Used to store default values for fields and function arguments.">@:value(&quot;#pragma header\r\n\t\t\r\n attribute float alpha;\r\n attribute vec4 colorMultiplier;\r\n attribute vec4 colorOffset;\r\n uniform bool hasColorTransform;\r\n \r\n void main(void)\r\n {\r\n #pragma body\r\n \r\n openfl_Alphav = openfl_Alpha * alpha;\r\n \r\n if (hasColorTransform)\r\n {\r\n openfl_ColorOffsetv = colorOffset / 255.0;\r\n openfl_ColorMultiplierv = colorMultiplier;\r\n }\r\n }&quot;)</span><span class="label label-static">static</span><span class="label label-final">final</span><span class="label">read only</span><a href="#defaultVertexSource"><span class="identifier">defaultVertexSource</span></a>:<span class="type">String</span><span> = &quot;#pragma header\r\n\t\t\r\n attribute float alpha;\r\n attribute vec4 colorMultiplier;\r\n attribute vec4 colorOffset;\r\n uniform bool hasColorTransform;\r\n \r\n void main(void)\r\n {\r\n #pragma body\r\n \r\n openfl_Alphav = openfl_Alpha * alpha;\r\n \r\n if (hasColorTransform)\r\n {\r\n openfl_ColorOffsetv = colorOffset / 255.0;\r\n openfl_ColorMultiplierv = colorMultiplier;\r\n }\r\n }&quot;</span></code></h3><div class="doc"><p></p></div></div><div class="field "><a name="fragBody"></a><h3 class="anchor"><code><span class="label label-meta label-meta-value" title="Used to store default values for fields and function arguments.">@:value(&quot;vec4 color = texture2D (bitmap, openfl_TextureCoordv);\r\n\r\n if (color.a == 0.0) {\r\n\r\n gl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n } else if (openfl_HasColorTransform) {\r\n\r\n color = vec4 (color.rgb / color.a, color.a);\r\n\r\n mat4 colorMultiplier = mat4 (0);\r\n colorMultiplier[0][0] = openfl_ColorMultiplierv.x;\r\n colorMultiplier[1][1] = openfl_ColorMultiplierv.y;\r\n colorMultiplier[2][2] = openfl_ColorMultiplierv.z;\r\n colorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\r\n\r\n color = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\r\n\r\n if (color.a &gt; 0.0) {\r\n\r\n gl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\r\n } else {\r\n\r\n gl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n }\r\n\r\n } else {\r\n\r\n gl_FragColor = color * openfl_Alphav;\r\n\r\n }&quot;)</span><span class="label label-static">static</span><span class="label label-final">final</span><span class="label">read only</span><a href="#fragBody"><span class="identifier">fragBody</span></a>:<span class="type">String</span><span> = &quot;vec4 color = texture2D (bitmap, openfl_TextureCoordv);\r\n\r\n if (color.a == 0.0) {\r\n\r\n gl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n } else if (openfl_HasColorTransform) {\r\n\r\n color = vec4 (color.rgb / color.a, color.a);\r\n\r\n mat4 colorMultiplier = mat4 (0);\r\n colorMultiplier[0][0] = openfl_ColorMultiplierv.x;\r\n colorMultiplier[1][1] = openfl_ColorMultiplierv.y;\r\n colorMultiplier[2][2] = openfl_ColorMultiplierv.z;\r\n colorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\r\n\r\n color = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\r\n\r\n if (color.a &gt; 0.0) {\r\n\r\n gl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n\r\n } else {\r\n\r\n gl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\r\n\r\n }\r\n\r\n } else {\r\n\r\n gl_FragColor = color * openfl_Alphav;\r\n\r\n }&quot;</span></code></h3><div class="doc"><p></p></div></div><div class="field "><a name="fragHeader"></a><h3 class="anchor"><code><span class="label label-meta label-meta-value" title="Used to store default values for fields and function arguments.">@:value(&quot;varying float openfl_Alphav;\r\n varying vec4 openfl_ColorMultiplierv;\r\n varying vec4 openfl_ColorOffsetv;\r\n varying vec2 openfl_TextureCoordv;\r\n\r\n uniform bool openfl_HasColorTransform;\r\n uniform vec2 openfl_TextureSize;\r\n uniform sampler2D bitmap;\r\n\r\n uniform bool hasTransform;\r\n uniform bool hasColorTransform;\r\n\r\n vec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\r\n {\r\n vec4 color = texture2D(bitmap, coord);\r\n if (!hasTransform)\r\n {\r\n return color;\r\n }\r\n\r\n if (color.a == 0.0)\r\n {\r\n return vec4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n\r\n if (!hasColorTransform)\r\n {\r\n return color * openfl_Alphav;\r\n }\r\n\r\n color = vec4(color.rgb / color.a, color.a);\r\n\r\n mat4 colorMultiplier = mat4(0);\r\n colorMultiplier[0][0] = openfl_ColorMultiplierv.x;\r\n colorMultiplier[1][1] = openfl_ColorMultiplierv.y;\r\n colorMultiplier[2][2] = openfl_ColorMultiplierv.z;\r\n colorMultiplier[3][3] = openfl_ColorMultiplierv.w;\r\n\r\n color = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\r\n\r\n if (color.a &gt; 0.0)\r\n {\r\n return vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n }\r\n return vec4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n\r\n uniform vec4 _camSize;\r\n \r\n float map(float value, float min1, float max1, float min2, float max2) {\r\n return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n }\r\n \r\n vec2 getCamPos(vec2 pos) {\r\n vec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n return vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n }\r\n vec2 camToOg(vec2 pos) {\r\n vec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n return vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n }\r\n vec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n return flixel_texture2D(bitmap, camToOg(pos));\r\n }&quot;)</span><span class="label label-static">static</span><span class="label label-final">final</span><span class="label">read only</span><a href="#fragHeader"><span class="identifier">fragHeader</span></a>:<span class="type">String</span><span> = &quot;varying float openfl_Alphav;\r\n varying vec4 openfl_ColorMultiplierv;\r\n varying vec4 openfl_ColorOffsetv;\r\n varying vec2 openfl_TextureCoordv;\r\n\r\n uniform bool openfl_HasColorTransform;\r\n uniform vec2 openfl_TextureSize;\r\n uniform sampler2D bitmap;\r\n\r\n uniform bool hasTransform;\r\n uniform bool hasColorTransform;\r\n\r\n vec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\r\n {\r\n vec4 color = texture2D(bitmap, coord);\r\n if (!hasTransform)\r\n {\r\n return color;\r\n }\r\n\r\n if (color.a == 0.0)\r\n {\r\n return vec4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n\r\n if (!hasColorTransform)\r\n {\r\n return color * openfl_Alphav;\r\n }\r\n\r\n color = vec4(color.rgb / color.a, color.a);\r\n\r\n mat4 colorMultiplier = mat4(0);\r\n colorMultiplier[0][0] = openfl_ColorMultiplierv.x;\r\n colorMultiplier[1][1] = openfl_ColorMultiplierv.y;\r\n colorMultiplier[2][2] = openfl_ColorMultiplierv.z;\r\n colorMultiplier[3][3] = openfl_ColorMultiplierv.w;\r\n\r\n color = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\r\n\r\n if (color.a &gt; 0.0)\r\n {\r\n return vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\r\n }\r\n return vec4(0.0, 0.0, 0.0, 0.0);\r\n }\r\n\r\n uniform vec4 _camSize;\r\n \r\n float map(float value, float min1, float max1, float min2, float max2) {\r\n return min2 + (value - min1) * (max2 - min2) / (max1 - min1);\r\n }\r\n \r\n vec2 getCamPos(vec2 pos) {\r\n vec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n return vec2(map(pos.x, size.x, size.x + size.z, 0.0, 1.0), map(pos.y, size.y, size.y + size.w, 0.0, 1.0));\r\n }\r\n vec2 camToOg(vec2 pos) {\r\n vec4 size = _camSize / vec4(openfl_TextureSize, openfl_TextureSize);\r\n return vec2(map(pos.x, 0.0, 1.0, size.x, size.x + size.z), map(pos.y, 0.0, 1.0, size.y, size.y + size.w));\r\n }\r\n vec4 textureCam(sampler2D bitmap, vec2 pos) {\r\n return flixel_texture2D(bitmap, camToOg(pos));\r\n }&quot;</span></code></h3><div class="doc"><p></p></div></div><div class="field "><a name="vertBody"></a><h3 class="anchor"><code><span class="label label-meta label-meta-value" title="Used to store default values for fields and function arguments.">@:value(&quot;openfl_Alphav = openfl_Alpha;\r\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\n\t\tif (openfl_HasColorTransform) {\r\n\r\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n\t\t}\r\n\r\n\t\tgl_Position = openfl_Matrix * openfl_Position;&quot;)</span><span class="label label-static">static</span><span class="label label-final">final</span><span class="label">read only</span><a href="#vertBody"><span class="identifier">vertBody</span></a>:<span class="type">String</span><span> = &quot;openfl_Alphav = openfl_Alpha;\r\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\r\n\r\n\t\tif (openfl_HasColorTransform) {\r\n\r\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\r\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\r\n\r\n\t\t}\r\n\r\n\t\tgl_Position = openfl_Matrix * openfl_Position;&quot;</span></code></h3><div class="doc"><p></p></div></div><div class="field "><a name="vertHeader"></a><h3 class="anchor"><code><span class="label label-meta label-meta-value" title="Used to store default values for fields and function arguments.">@:value(&quot;attribute float openfl_Alpha;\r\n attribute vec4 openfl_ColorMultiplier;\r\n attribute vec4 openfl_ColorOffset;\r\n attribute vec4 openfl_Position;\r\n attribute vec2 openfl_TextureCoord;\r\n\r\n varying float openfl_Alphav;\r\n varying vec4 openfl_ColorMultiplierv;\r\n varying vec4 openfl_ColorOffsetv;\r\n varying vec2 openfl_TextureCoordv;\r\n\r\n uniform mat4 openfl_Matrix;\r\n uniform bool openfl_HasColorTransform;\r\n uniform vec2 openfl_TextureSize;&quot;)</span><span class="label label-static">static</span><span class="label label-final">final</span><span class="label">read only</span><a href="#vertHeader"><span class="identifier">vertHeader</span></a>:<span class="type">String</span><span> = &quot;attribute float openfl_Alpha;\r\n attribute vec4 openfl_ColorMultiplier;\r\n attribute vec4 openfl_ColorOffset;\r\n attribute vec4 openfl_Position;\r\n attribute vec2 openfl_TextureCoord;\r\n\r\n varying float openfl_Alphav;\r\n varying vec4 openfl_ColorMultiplierv;\r\n varying vec4 openfl_ColorOffsetv;\r\n varying vec2 openfl_TextureCoordv;\r\n\r\n uniform mat4 openfl_Matrix;\r\n uniform bool openfl_HasColorTransform;\r\n uniform vec2 openfl_TextureSize;&quot;</span></code></h3><div class="doc"><p></p></div></div></div></div></div></div></div><footer class="section site-footer" style="background:#FAFAFA"><div class="container"><div class="copyright"><p style="color:#000000">&copy; 2022 &nbsp;</p></div></div></footer><script src="../..//highlighter.js"></script><link href="../../highlighter.css" rel="stylesheet"/></body></html>