Problem Diffuse + Normal + Specular + Displacement + Occlusion

Hello everyone, i got a problem with my shader (sorry for my bad english ^^)

Shader "Parallax Specular Occlusion" {

Properties {

    _Color ("Main Color", Color) = (1,1,1,1)

    _SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 1)

    _Shininess ("Shininess", Range (0.01, 1)) = 0.078125

    _Parallax ("Height", Range (0.005, 0.08)) = 0.02

    _MainTex ("Base (RGB) Gloss (A)", 2D) = "white" {}

    _BumpMap ("Normalmap", 2D) = "bump" {}

    _ParallaxMap ("Heightmap (A)", 2D) = "black" {}
    
    _DispTex ("Disp Texture", 2D) = "gray" {}
    
    _Displacement ("Displacement", Range(0, 1.0)) = 0.3

    _Occlusion ("Occlusion Map", 2D) = "white" {}

}

SubShader { 

    Tags { "RenderType"="Opaque" }

    LOD 600

    

CGPROGRAM

#pragma surface surf BlinnPhong

#pragma target 3.0

 

sampler2D _MainTex;

sampler2D _BumpMap;

sampler2D _ParallaxMap;

sampler2D _DispTex;

float _Displacement;

sampler2D _Occlusion;

fixed4 _Color;

half _Shininess;

float _Parallax;



            void disp (inout appdata v)
            {
                float d = tex2Dlod(_DispTex, float4(v.texcoord.xy,0,0)).r * _Displacement;
                v.vertex.xyz += v.normal * d;
            }

 

struct Input {

    float2 uv_MainTex;

    float2 uv_BumpMap;

    float3 viewDir;

};

 
 
 

void surf (Input IN, inout SurfaceOutput o) {

    half h = tex2D (_ParallaxMap, IN.uv_BumpMap).w;

    float2 offset = ParallaxOffset (h, _Parallax, IN.viewDir);

    IN.uv_MainTex += offset;

    IN.uv_BumpMap += offset;

    

    fixed4 tex = tex2D(_MainTex, IN.uv_MainTex);

    fixed4 Occ = tex2D(_Occlusion, IN.uv_MainTex);

    o.Albedo = tex.rgb * _Color.rgb * Occ.rgb;

    o.Gloss = tex.a;

    o.Alpha = tex.a * _Color.a;

    o.Specular = _Shininess;

    o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));

}

ENDCG

}

 

FallBack "Bumped Specular"

}

Everything works fine except from the moment I added it in my script :

void disp (inout appdata v)
{
float d = tex2Dlod(_DispTex, float4(v.texcoord.xy,0,0)).r * _Displacement;
v.vertex.xyz += v.normal * d;
}

you can help me plz ^^

People are much more likely to help if you explain what the problem is. Source code can be useful, but I know that personally I’m not going to go and compile someone’s random scripts from the forum in order to find out what they want fixed.

i want fixe displacement texture on my shader, all works good except code displacement … :cry: