Hello everyone
I was trying to compile and modify Car Paint shader for android (probably want to run it on PC too)
But I’m facing a strange problem - It just won’t work
When I tried it in Unity 4.5 It all went purple and said that shader has errors or is not supported by my graphics card. it also said that no subshaders can run on this videocard. (seriously? I never had any problems like that and I have a powerful enough PC that’s for sure)
Then I tested inin Unity 5 and…It’s just not working. It does not tells me if there are any errors and doesn’t seem to compile it. I get black material and none of the changes are giving any effect to it.
there’s the shader
Shader "TEST/Car_Paint" {
Properties {
_kMetallicCoverage ("Metallic Coverage", Range(0,0)) = 0
_kMetallicShininess ("Metallic Shininess", Range(0,0)) = 0
_kClearCoatF0 ("Clear Coat Specular Intensity (f0)", Range(0,0)) = 0
_kClearCoatShininess ("Clear Coat Shininess", Range(0,0)) = 0
_kFresnelPower ("Fresnel Power", Range(1,1)) = 0
_kMetallicBoost ("Metallic Colour Boost", Range(1,1)) = 0
_kDiffuseTint ("Diffuse Tint (RGB)", Color) = (0,0,0,0)
_kMetallicTint ("Metallic Tint (RGB)", Color) = (0,0,0,0)
_kLiveryUVScale ("Livery UV Scale", Range(0.5,0.5)) = 0
_MainTex ("UV0 Livery Albedo_RGB", 2D) = "defaulttexture" {}
_AuxTex1 ("UV0 Livery F0_R Shiny_G Opacity_B", 2D) = "defaulttexture" {}
_DiffAmbientMap ("Diff Ambient Map", CUBE) = "defaulttexture" {}
_SpecAmbientMap ("Spec Ambient Map", CUBE) = "defaulttexture" {}
_SpecLoopAmbientMap ("Spec Loop Ambient Map", CUBE) = "defaulttexture" {}
}
SubShader {
Pass {
Tags { "RenderType"="Opaque" }
Program "vp" {
SubProgram "gles " {
"!!GLES
#ifdef VERTEX
attribute vec4 _glesVertex;
attribute vec4 _glesColor;
attribute vec3 _glesNormal;
attribute vec4 _glesMultiTexCoord0;
void main ()
{
highp vec4 tmpvar_1;
tmpvar_1.w = 0.0;
tmpvar_1.xyz = normalize(_glesNormal);
gl_Position = (((_glesVertex + tmpvar_1) + _glesColor) + _glesMultiTexCoord0);
}
#endif
#ifdef FRAGMENT
void main ()
{
gl_FragData[0] = vec4(1.0, 1.0, 1.0, 1.0);
}
#endif"
}
SubProgram "gles3 " {
"!!GLES3#version 300 es
#ifdef VERTEX
in vec4 _glesVertex;
in vec4 _glesColor;
in vec3 _glesNormal;
in vec4 _glesMultiTexCoord0;
void main ()
{
highp vec4 tmpvar_1;
tmpvar_1.w = 0.0;
tmpvar_1.xyz = normalize(_glesNormal);
gl_Position = (((_glesVertex + tmpvar_1) + _glesColor) + _glesMultiTexCoord0);
}
#endif
#ifdef FRAGMENT
layout(location=0) out mediump vec4 _glesFragData[4];
void main ()
{
_glesFragData[0] = vec4(1.0, 1.0, 1.0, 1.0);
}
#endif"
}
}
Program "fp" {
SubProgram "gles " {
"!!GLES"
}
SubProgram "gles3 " {
"!!GLES3"
}
}
}
}
Fallback "Diffuse"
}
I hope someone could help me with this problem,I searched a lot but didn’t found any working way to fix it…
I am currently using monodevelop 4.0.1 and Free copy of Unity 5