Ошибка

Шейдеры и все-все-все.

Ошибка

Сообщение JUST_KoT 17 авг 2016, 15:00

Всем привет, как исправить ошибку, подскажите плз?

Скрытый текст:
Shader "Custom/777"
{
Properties
{
_MainTex ("Texture", 2D) = "white" {}
_BumpMap ("Normalmap", 2D) = "bump" {}
_TintColor("Tint(RGB), Intensity(A)(0-4)", Color) = (0.0, 0.0, 0.0, 0.0)
_thr("threshold", Float) = 0.2
_tweak("???", Float) = -40.0
}
SubShader
{
Tags { "RenderType" = "Opaque" }
CGPROGRAM
#include "UnityCG.cginc"
#pragma surface surf Lambert vertex:vert

#pragma target 3.0

sampler2D _MainTex;
sampler2D _BumpMap;
float4 _TintColor;
float2 _MainTex_TexelSize;
float _thr;
float _tweak;

struct Input
{
float2 uv_MainTex;
float2 uv_BumpMap;
float4 robert01;
float4 robert23;
float3 viewDir;
};


void vert (inout appdata_full v, out Input o)
{
float2 uv = mul(UNITY_MATRIX_TEXTURE0, v.texcoord);
o.robert01.xy = uv + float2(-_MainTex_TexelSize.x * 1.5, -_MainTex_TexelSize.y * 0.5);
o.robert01.zw = uv + float2(+_MainTex_TexelSize.x * 0.5, -_MainTex_TexelSize.y * 1.5);
o.robert23.xy = uv + float2(-_MainTex_TexelSize.x * 0.5, +_MainTex_TexelSize.y * 1.5);
o.robert23.zw = uv + float2(+_MainTex_TexelSize.x * 1.5, +_MainTex_TexelSize.y * 0.5);
}


void surf (Input IN, inout SurfaceOutput o)
{
// Rotated Grid Roberts Cross
float s_ul = Luminance(tex2D(_MainTex, IN.robert01.xy).rgb);
float s_ur = Luminance(tex2D(_MainTex, IN.robert01.zw).rgb);
float s_dl = Luminance(tex2D(_MainTex, IN.robert23.xy).rgb);
float s_dr = Luminance(tex2D(_MainTex, IN.robert23.zw).rgb);

float robertX = abs(s_ul - s_dr);
float robertY = abs(s_ur - s_dl);
float edge = robertX + robertY;

o.Normal = float3(0.0, 0.0, 1.0);
float NdotV = dot(o.Normal, normalize(IN.viewDir));

edge = (edge - _thr * NdotV) * _tweak;
edge = saturate(edge);

o.Albedo = tex2D(_MainTex, IN.uv_MainTex);
o.Albedo = lerp(o.Albedo * _TintColor.rgb * _TintColor.a * 4.0, o.Albedo, edge);
//o.Emission = tex2D(_MainTex, IN.uv_MainTex);
//o.Emission = lerp(o.Emission * _TintColor.rgb * _TintColor.a * 4.0, o.Emission, edge);

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

}
Fallback "Bumped Diffuse"
}


Сама ошибка

http://s012.radikal.ru/i320/1608/20/a6c97e2f96a5.png
JUST_KoT
UNец
 
Сообщения: 23
Зарегистрирован: 20 авг 2015, 02:54

Re: Ошибка

Сообщение bojlahg 17 авг 2016, 15:59

Надо заполнить все поля переменной "o" перед выходом из функции. Например просто скопировать их из входных данных.
Мои проекты: MahJah Star Factory Cop Car Swash! Spline Editor
Аватара пользователя
bojlahg
UNIверсал
 
Сообщения: 392
Зарегистрирован: 13 авг 2011, 10:57
Откуда: Сатка
Skype: bojlahg
  • Сайт

Re: Ошибка

Сообщение JUST_KoT 17 авг 2016, 16:16

bojlahg писал(а):Надо заполнить все поля переменной "o" перед выходом из функции. Например просто скопировать их из входных данных.


Можно, пожалуйста, кодом) Я 0 в шейдерах.
JUST_KoT
UNец
 
Сообщения: 23
Зарегистрирован: 20 авг 2015, 02:54


Вернуться в Shader Lab

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4