Example #1
0
        public override string GenerateShaderForOutput(int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar)
        {
            dataCollector.AddToIncludes(UniqueId, Constants.UnityCgLibFuncs);
            dataCollector.AddToInput(UniqueId, UIUtils.GetInputDeclarationFromType(m_currentPrecisionType, AvailableSurfaceInputs.WORLD_POS), true);

            string vertexPos = GeneratorUtils.GenerateVertexPosition(ref dataCollector, UniqueId, m_currentPrecisionType, WirePortDataType.FLOAT4);

            return(GeneratorUtils.GenerateObjectLightDirection(ref dataCollector, UniqueId, m_currentPrecisionType, vertexPos));
        }
Example #2
0
        public override string GenerateShaderForOutput(int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar)
        {
            if (dataCollector.IsTemplate)
            {
                //Template must have its Light Mode correctly configured on tags to work as intended
                return(dataCollector.TemplateDataCollectorInstance.GetObjectSpaceLightDir());
            }

            dataCollector.AddToIncludes(UniqueId, Constants.UnityCgLibFuncs);
            dataCollector.AddToInput(UniqueId, UIUtils.GetInputDeclarationFromType(PrecisionType.Float, AvailableSurfaceInputs.WORLD_POS), true);

            string vertexPos = GeneratorUtils.GenerateVertexPosition(ref dataCollector, UniqueId, WirePortDataType.FLOAT4);

            return(GeneratorUtils.GenerateObjectLightDirection(ref dataCollector, UniqueId, m_currentPrecisionType, vertexPos));
        }