浏览代码

Plug tangent surfaceData input

/scriptablerenderloop-materialgraph
Paul Demeulenaere 8 年前
当前提交
522def83
共有 1 个文件被更改,包括 6 次插入2 次删除
  1. 8
      Assets/ScriptableRenderLoop/HDRenderLoop/HDRenderLoop.cs

8
Assets/ScriptableRenderLoop/HDRenderLoop/HDRenderLoop.cs


{
AddSlot(new MaterialSlotDefaultInput(slot.index, slot.displayName, slot.shaderOutputName, Graphing.SlotType.Input, slot.valueType, new WorldSpaceNormalNode(), WorldSpaceNormalNode.kOutputSlotId));
}
else if (slot.displayName == "Tangent")
{
AddSlot(new MaterialSlotDefaultInput(slot.index, slot.displayName, slot.shaderOutputName, Graphing.SlotType.Input, slot.valueType, new WorldSpaceTangentNode(), WorldSpaceTangentNode.kOutputSlotId));
}
else if (slot.displayName == "Ambient Occlusion")
{
AddSlot(new MaterialSlotDefaultInput(slot.index, slot.displayName, slot.shaderOutputName, Graphing.SlotType.Input, slot.valueType, new DefaultAmbientOcclusion(), DefaultAmbientOcclusion.kOutputSlotId));

}
bool needBitangent = needFragInputRegex.IsMatch("bitangentWS");
if (needBitangent || needFragInputRegex.IsMatch("tangentWS"))
if (needBitangent || needFragInputRegex.IsMatch("tangentWS") || activeNodeList.OfType<IMayRequireTangent>().Any(x => x.RequiresTangent()))
{
vayrings.Add(new Vayring()
{

type = SlotValueType.Vector3,
vertexCode = "output.tangentWS = TransformObjectToWorldDir(input.tangentOS.xyz);",
fragInputTarget = "tangentToWorld[0]",
pixelCode = string.Format("float3 {0} = normalize(fragInput.tangentToWorld[0]);", "worldSpaceTangent")
pixelCode = string.Format("float3 {0} = normalize(fragInput.tangentToWorld[0]);", ShaderGeneratorNames.WorldSpaceTangent)
});
}

正在加载...
取消
保存