{"id":4076,"date":"2015-11-25T01:12:31","date_gmt":"2015-11-24T22:12:31","guid":{"rendered":"http:\/\/unitycoder.com\/blog\/?p=4076"},"modified":"2015-11-25T01:12:31","modified_gmt":"2015-11-24T22:12:31","slug":"opaque-sprite-shader","status":"publish","type":"post","link":"https:\/\/unitycoder.com\/blog\/2015\/11\/25\/opaque-sprite-shader\/","title":{"rendered":"Opaque Sprite Shader"},"content":{"rendered":"<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"4077\" data-permalink=\"https:\/\/unitycoder.com\/blog\/2015\/11\/25\/opaque-sprite-shader\/sprite_opaque_no_tint_shader_unity\/\" data-orig-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/11\/sprite_opaque_no_tint_shader_unity.jpg?fit=491%2C388&amp;ssl=1\" data-orig-size=\"491,388\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"sprite_opaque_no_tint_shader_unity\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/11\/sprite_opaque_no_tint_shader_unity.jpg?fit=300%2C237&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/11\/sprite_opaque_no_tint_shader_unity.jpg?fit=491%2C388&amp;ssl=1\" class=\"alignnone size-full wp-image-4077\" src=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/11\/sprite_opaque_no_tint_shader_unity.jpg?resize=491%2C388\" alt=\"sprite_opaque_no_tint_shader_unity\" width=\"491\" height=\"388\" srcset=\"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/11\/sprite_opaque_no_tint_shader_unity.jpg?w=491&amp;ssl=1 491w, https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/11\/sprite_opaque_no_tint_shader_unity.jpg?resize=300%2C237&amp;ssl=1 300w\" sizes=\"auto, (max-width: 491px) 100vw, 491px\" \/> (screenshot of modified shader properties in debug view mode)<\/p>\n<p>Modified built-in sprite shader so that its opaque, no color tint, and pixel snap is always on.<br \/>\nJust to test if there are any performance benefits to use them for opaque sprite tiles, at least the compiled shader stats seems to be lighter.<\/p>\n<p>You can download built-in shader sources at: <a href=\"https:\/\/unity3d.com\/get-unity\/download\/archive\" target=\"_blank\">https:\/\/unity3d.com\/get-unity\/download\/archive<\/a><\/p>\n<p><strong>Default Sprite shader compiled stats:<\/strong><\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\/\/ Stats for Vertex shader:\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d11 : 8 avg math (5..11)\r\n\/\/\u00a0\u00a0\u00a0 d3d11_9x : 8 avg math (5..11)\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d9 : 13 avg math (6..21)\r\n\/\/ Stats for Fragment shader:\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d11 : 2 math, 2 texture, 1 branch\r\n\/\/\u00a0\u00a0\u00a0 d3d11_9x : 2 math, 2 texture, 1 branch\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d9 : 5 math, 2 texture\r\n<\/pre>\n<p><strong>Opaque Sprite shader compiled stats:<\/strong><\/p>\n<pre class=\"brush: csharp; title: ; notranslate\" title=\"\">\r\n\/\/ Stats for Vertex shader:\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d11 : 10 math\r\n\/\/\u00a0\u00a0\u00a0 d3d11_9x : 10 math\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d9 : 20 math\r\n\/\/ Stats for Fragment shader:\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d11 : 0 math, 1 texture\r\n\/\/\u00a0\u00a0\u00a0 d3d11_9x : 0 math, 1 texture\r\n\/\/\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 d3d9 : 2 math, 1 texture\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Modified Sprite shader source:<\/p>\n<style>.gist table { margin-bottom: 0; }<\/style>\n<div style=\"tab-size: 8\" id=\"gist28329193\" class=\"gist\">\n<div class=\"gist-file\" translate=\"no\" data-color-mode=\"light\" data-light-theme=\"light\">\n<div class=\"gist-data\">\n<div class=\"js-gist-file-update-container js-task-list-container\">\n<div id=\"file-spriteopaquenotint-shader\" class=\"file my-2\">\n<div itemprop=\"text\"\n      class=\"Box-body p-0 blob-wrapper data type-shaderlab  \"\n      style=\"overflow: auto\" tabindex=\"0\" role=\"region\"\n      aria-label=\"SpriteOpaqueNoTint.shader content, created by unitycoder on 09:55PM on November 24, 2015.\"\n    ><\/p>\n<div class=\"js-check-hidden-unicode js-blob-code-container blob-code-content\">\n<p>  <template class=\"js-file-alert-template\"><\/p>\n<div data-view-component=\"true\" class=\"flash flash-warn flash-full d-flex flex-items-center\">\n  <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n    <span><br \/>\n      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.<br \/>\n      <a class=\"Link--inTextBlock\" href=\"https:\/\/github.co\/hiddenchars\" target=\"_blank\">Learn more about bidirectional Unicode characters<\/a><br \/>\n    <\/span><\/p>\n<div data-view-component=\"true\" class=\"flash-action\">        <a href=\"{{ revealButtonHref }}\" data-view-component=\"true\" class=\"btn-sm btn\">    Show hidden characters<br \/>\n<\/a>\n<\/div>\n<\/div>\n<p><\/template><br \/>\n<template class=\"js-line-alert-template\"><br \/>\n  <span aria-label=\"This line has hidden Unicode characters\" data-view-component=\"true\" class=\"line-alert tooltipped tooltipped-e\"><br \/>\n    <svg aria-hidden=\"true\" height=\"16\" viewBox=\"0 0 16 16\" version=\"1.1\" width=\"16\" data-view-component=\"true\" class=\"octicon octicon-alert\">\n    <path d=\"M6.457 1.047c.659-1.234 2.427-1.234 3.086 0l6.082 11.378A1.75 1.75 0 0 1 14.082 15H1.918a1.75 1.75 0 0 1-1.543-2.575Zm1.763.707a.25.25 0 0 0-.44 0L1.698 13.132a.25.25 0 0 0 .22.368h12.164a.25.25 0 0 0 .22-.368Zm.53 3.996v2.5a.75.75 0 0 1-1.5 0v-2.5a.75.75 0 0 1 1.5 0ZM9 11a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"><\/path>\n<\/svg><br \/>\n<\/span><\/template><\/p>\n<table data-hpc class=\"highlight tab-size js-file-line-container\" data-tab-size=\"4\" data-paste-markdown-skip data-tagsearch-path=\"SpriteOpaqueNoTint.shader\">\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L1\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"1\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC1\" class=\"blob-code blob-code-inner js-file-line\">Shader &quot;Sprites\/OpaqueSnapNoTint&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L2\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"2\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC2\" class=\"blob-code blob-code-inner js-file-line\">{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L3\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"3\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC3\" class=\"blob-code blob-code-inner js-file-line\">\tProperties<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L4\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"4\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC4\" class=\"blob-code blob-code-inner js-file-line\">\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L5\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"5\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC5\" class=\"blob-code blob-code-inner js-file-line\">\t\t[PerRendererData] _MainTex (&quot;Sprite Texture&quot;, 2D) = &quot;white&quot; {}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L6\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"6\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC6\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L7\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"7\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC7\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L8\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"8\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC8\" class=\"blob-code blob-code-inner js-file-line\">\tSubShader<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L9\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"9\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC9\" class=\"blob-code blob-code-inner js-file-line\">\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L10\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"10\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC10\" class=\"blob-code blob-code-inner js-file-line\">\t\tTags<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L11\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"11\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC11\" class=\"blob-code blob-code-inner js-file-line\">\t\t{ <\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L12\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"12\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC12\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t&quot;Queue&quot;=&quot;Geometry&quot; <\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L13\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"13\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC13\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t&quot;IgnoreProjector&quot;=&quot;True&quot; <\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L14\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"14\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC14\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t&quot;RenderType&quot;=&quot;Opaque&quot; <\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L15\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"15\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC15\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t&quot;PreviewType&quot;=&quot;Plane&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L16\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"16\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC16\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t&quot;CanUseSpriteAtlas&quot;=&quot;True&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L17\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"17\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC17\" class=\"blob-code blob-code-inner js-file-line\">\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L18\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"18\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC18\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L19\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"19\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC19\" class=\"blob-code blob-code-inner js-file-line\">\t\tCull Off<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L20\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"20\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC20\" class=\"blob-code blob-code-inner js-file-line\">\t\tLighting Off<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L21\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"21\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC21\" class=\"blob-code blob-code-inner js-file-line\">\t\tZWrite Off<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L22\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"22\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC22\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L23\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"23\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC23\" class=\"blob-code blob-code-inner js-file-line\">\t\tPass<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L24\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"24\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC24\" class=\"blob-code blob-code-inner js-file-line\">\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L25\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"25\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC25\" class=\"blob-code blob-code-inner js-file-line\">\t\tCGPROGRAM<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L26\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"26\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC26\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t#pragma vertex vert<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L27\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"27\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC27\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t#pragma fragment frag<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L28\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"28\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC28\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t#pragma multi_compile _ PIXELSNAP_ON<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L29\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"29\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC29\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t#include &quot;UnityCG.cginc&quot;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L30\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"30\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC30\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L31\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"31\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC31\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tstruct appdata_t<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L32\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"32\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC32\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L33\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"33\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC33\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tfloat4 vertex   : POSITION;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L34\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"34\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC34\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tfloat2 texcoord : TEXCOORD0;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L35\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"35\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC35\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t};<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L36\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"36\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC36\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L37\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"37\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC37\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tstruct v2f<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L38\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"38\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC38\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L39\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"39\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC39\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tfloat4 vertex   : SV_POSITION;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L40\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"40\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC40\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\thalf2 texcoord  : TEXCOORD0;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L41\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"41\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC41\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t};<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L42\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"42\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC42\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L43\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"43\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC43\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tv2f vert(appdata_t IN)<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L44\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"44\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC44\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L45\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"45\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC45\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tv2f OUT;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L46\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"46\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC46\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tOUT.vertex = UnityPixelSnap(mul(UNITY_MATRIX_MVP, IN.vertex));<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L47\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"47\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC47\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tOUT.texcoord = IN.texcoord;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L48\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"48\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC48\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\treturn OUT;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L49\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"49\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC49\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L50\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"50\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC50\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L51\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"51\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC51\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tsampler2D _MainTex;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L52\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"52\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC52\" class=\"blob-code blob-code-inner js-file-line\">\n<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L53\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"53\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC53\" class=\"blob-code blob-code-inner js-file-line\">\t\t\tfixed4 frag(v2f IN) : SV_Target<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L54\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"54\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC54\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t{<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L55\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"55\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC55\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\tfixed4 c = tex2D(_MainTex, IN.texcoord);<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L56\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"56\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC56\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t\treturn c;<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L57\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"57\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC57\" class=\"blob-code blob-code-inner js-file-line\">\t\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L58\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"58\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC58\" class=\"blob-code blob-code-inner js-file-line\">\t\tENDCG<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L59\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"59\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC59\" class=\"blob-code blob-code-inner js-file-line\">\t\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L60\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"60\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC60\" class=\"blob-code blob-code-inner js-file-line\">\t}<\/td>\n<\/tr>\n<tr>\n<td id=\"file-spriteopaquenotint-shader-L61\" class=\"blob-num js-line-number js-blob-rnum\" data-line-number=\"61\"><\/td>\n<td id=\"file-spriteopaquenotint-shader-LC61\" class=\"blob-code blob-code-inner js-file-line\">}<\/td>\n<\/tr>\n<\/table>\n<\/div><\/div>\n<\/p><\/div>\n<\/div><\/div>\n<div class=\"gist-meta\">\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/a5b6f8da27dc3619ba44\/raw\/19841a389df493a7f0df0b67b20f9ea6c37b9d88\/SpriteOpaqueNoTint.shader\" style=\"float:right\" class=\"Link--inTextBlock\">view raw<\/a><br \/>\n        <a href=\"https:\/\/gist.github.com\/unitycoder\/a5b6f8da27dc3619ba44#file-spriteopaquenotint-shader\" class=\"Link--inTextBlock\"><br \/>\n          SpriteOpaqueNoTint.shader<br \/>\n        <\/a><br \/>\n        hosted with &#10084; by <a class=\"Link--inTextBlock\" href=\"https:\/\/github.com\">GitHub<\/a>\n      <\/div>\n<\/p><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>(screenshot of modified shader properties in debug view mode) Modified built-in sprite shader so that its opaque, no color tint, and pixel snap is always on. Just to test if there are any performance benefits to use them for opaque sprite tiles, at least the [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":4077,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13,3],"tags":[801,700,14,357,409],"class_list":["post-4076","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-shaders","category-unity3d","tag-opaque","tag-optimized","tag-shader","tag-sprite","tag-test"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/unitycoder.com\/blog\/wp-content\/uploads\/2015\/11\/sprite_opaque_no_tint_shader_unity.jpg?fit=491%2C388&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/p1KTaT-13K","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/4076","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/comments?post=4076"}],"version-history":[{"count":1,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/4076\/revisions"}],"predecessor-version":[{"id":4078,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/posts\/4076\/revisions\/4078"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media\/4077"}],"wp:attachment":[{"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/media?parent=4076"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/categories?post=4076"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unitycoder.com\/blog\/wp-json\/wp\/v2\/tags?post=4076"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}