Custom opaque shader looks transparent
Hi,
I am experimenting with shaders. I followed some tutorials and have the below shader code.
I have set everywhere possible to make sure the material is opaque, but i still can see some portions under the texture.
Please share your inputs.
Settings changed: Texture, Alpha Source is set to 'None'
Material, Alpha in the color is set to '255'
But when i play it, as you can see, a part of the boat under the water is still visible.

I have the below code inside the shader:
 // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
 
 // Upgrade NOTE: replaced '_Object2World' with 'unity_ObjectToWorld'
 Shader "Custom/SineWaves"
 {
     Properties
     {
         _Color ("Color", Color) = (1,1,1,1)
         _MainTex ("Albedo (RGB)", 2D) = "white" {}
         _Glossiness ("Smoothness", Range(0,1)) = 0.5
         _Metallic ("Metallic", Range(0,1)) = 0.0
         //>>>Joshua
         _WaveHeight("WaveHeight", Float) = 1
         _WaveLength("WaveLength", Float) = 10
         _WaveSpeed("WaveSpeed", Float) = 10
         _WindDirection("WindDirection (2D)", Vector) = (1,0,0,0)
         //<<<Joshua
     }
     SubShader
     { 
         //>>>Joshua
         Tags { "RenderType"="Opaque" }
         //Tags { "RenderType" = "Transparent" "Queue" = "Transparent"} //Joshua
         //<<<Joshua
         LOD 200
 
         CGPROGRAM
         // Physically based Standard lighting model, and enable shadows on all light types
         //>>>Joshua
         //#pragma surface surf Standard fullforwardshadows
         #pragma surface surf Standard vertex:vert //alpha:fade//fullforwardshadows //addshadow   //Joshua
         //#include "LookingThroughWater.cginc" //Joshua
         //<<<Joshua
         // Use shader model 3.0 target, to get nicer looking lighting
         #pragma target 3.0
 
         sampler2D _MainTex;
 
         struct Input
         {
             float2 uv_MainTex;
             //>>>Joshua
             //float4 screenPos; //Joshua
             //<<<Joshua
         };
 
         half _Glossiness;
         half _Metallic;
         fixed4 _Color;
 
         // Add instancing support for this shader. You need to check 'Enable Instancing' on materials that use the shader.
         // See https://docs.unity3d.com/Manual/GPUInstancing.html for more information about instancing.
         // #pragma instancing_options assumeuniformscaling
         UNITY_INSTANCING_BUFFER_START(Props)
             // put more per-instance properties here
         UNITY_INSTANCING_BUFFER_END(Props)
 
         void surf (Input IN, inout SurfaceOutputStandard o)
         {
             // Albedo comes from a texture tinted by color
             fixed4 c = tex2D (_MainTex, IN.uv_MainTex) * _Color;
             o.Albedo = c.rgb;
             // Metallic and smoothness come from slider variables
             o.Metallic = _Metallic;
             o.Smoothness = _Glossiness;
             o.Alpha = c.a;
 
             //>>>Joshua
             //o.Albedo = ColorBelowWater(IN.screenPos); //Joshua
             //o.Alpha = 1;                              //Joshua
             //<<<Joshua
         }
         //https://catlikecoding.com/unity/tutorials/flow/waves/
         //>>>>Joshua
         float _WaveHeight, _WaveLength, _WaveSpeed;
         float2 _WindDirection;
 
         void vert(inout appdata_full vertexData) 
         {
             float3 p_local = vertexData.vertex.xyz;
             float3 p_global = mul(unity_ObjectToWorld, vertexData.vertex).xyz;
             float2 d = normalize(_WindDirection);
 
             float k = 2 * UNITY_PI / _WaveLength;
             //float f = (k * (p_global.x - _WaveSpeed * _Time.y));
             float f = (k * (dot(d, p_global.xz) - _WaveSpeed * _Time.y));
             p_local.y = _WaveHeight * sin(f);
 
             //float3 tangent = normalize(float3(1, k * _WaveHeight * cos(f), 0));
             //float3 normal = float3(-tangent.y, tangent.x, 0);
             vertexData.vertex.xyz = p_local;
             //vertexData.normal = normal;
         }
         //<<<Joshua
 
         ENDCG
     }
     //>>>Joshua
     //FallBack "Diffuse"
     //<<<Joshua
 }
Thanks, Joshua.
Your answer
 
 
             Follow this Question
Related Questions
Transparency of a specific area 0 Answers
Problem with Standard shader transparency 0 Answers
Writing a shader that allows both opaque and transparent blending 1 Answer
Switching shader back and forth fixes transparency issue? 0 Answers
Transperent Side of a Texture becomes black in Shader PBR Graph 1 Answer
 koobas.hobune.stream
koobas.hobune.stream 
                       
               
 
			 
                