您的位置:首页 > 移动开发 > Unity3D

Cg shader for RGB cube

2015-10-13 13:43 441 查看
Shader "Custom/Cg shader for RGB cube"
{
SubShader
{
Pass
{
CGPROGRAM
#pragma vertex vert
#pragma fragment frag

struct vertexOutput
{
float4 pos:SV_POSITION;
float4 col:TEXCOORD0;
};

vertexOutput vert(float4 vertexPos:POSITION)
{
vertexOutput output;
output.pos = mul(UNITY_MATRIX_MVP,vertexPos);
float4 color = vertexPos + float4(0.5,0.5,0.5,0);
float x = color.x - 0.5;
float y = color.y * 2.0 - 1.0 ;
float z = color.z - 0.5;
float H = 180.0 + degrees(atan2(z,x));
float S = 2.0 * sqrt(x*x + z*z);
float V = (y + 1.0)/2.0;

float brightness = 0.21*color.r+0.72*color.g+0.07*color.b;
output.col = color * brightness;
return output;
}

float4 frag(vertexOutput input):COLOR
{
return input.col;
}

ENDCG
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息