123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- /************************************************************************************
- Copyright : Copyright (c) Facebook Technologies, LLC and its affiliates. All rights reserved.
- Your use of this SDK or tool is subject to the Oculus SDK License Agreement, available at
- https://developer.oculus.com/licenses/oculussdk/
- Unless required by applicable law or agreed to in writing, the Utilities SDK distributed
- under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
- ANY KIND, either express or implied. See the License for the specific language governing
- permissions and limitations under the License.
- ************************************************************************************/
- Shader "Hidden/Imposter_Underlay_AA" {
- Properties {
- _MainTex ("Texture", 2D) = "white" {}
- }
- SubShader {
- Tags {"Queue"="Geometry" "IgnoreProjector"="True" "RenderType"="Opaque"}
- LOD 100
- Blend Zero SrcAlpha, One Zero
- Pass {
- CGPROGRAM
- #pragma vertex vert
- #pragma fragment frag
- #include "UnityCG.cginc"
- struct appdata {
- float4 vertex : POSITION;
- float2 uv : TEXCOORD0;
- UNITY_VERTEX_INPUT_INSTANCE_ID
- };
- struct v2f {
- float2 uv : TEXCOORD0;
- float4 vertex : SV_POSITION;
- UNITY_VERTEX_OUTPUT_STEREO
- };
- sampler2D _MainTex;
- float4 _MainTex_ST;
- v2f vert (appdata v) {
- v2f o;
- UNITY_SETUP_INSTANCE_ID(v);
- UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(o);
- o.vertex = UnityObjectToClipPos(v.vertex);
- o.uv = TRANSFORM_TEX(v.uv, _MainTex);
- return o;
- }
- fixed4 frag(v2f i) : SV_Target{
- float alpha = tex2D(_MainTex, i.uv).a;
- //Reject pixels that are almost completely transparent
- if (alpha < 0.001) {
- discard;
- }
- return float4(0, 0, 0, 1 - alpha);
- }
- ENDCG
- }
- }
- }
|