Ejemplo n.º 1
0
        private static void  read_vertex_shader   (VertexShader        vertexShader,   XElement element)
        {
            foreach (XElement e in element.Elements())
            {
                if (e.Name == "include")
                {
                    Include include = new Include();

                    read_include(include, e);

                    vertexShader.Includes.Add(include);
                }
            }
        }
Ejemplo n.º 2
0
        private static void  read_geometry_shader (GeometryShader      geometryShader, XElement element)
        {
            foreach (XAttribute a in element.Attributes())
            {
                if (a.Name == "inputTopology")
                {
                    switch (a.Value)
                    {
                        case "points":   geometryShader.InputTopology = Topology.Points;    break;
                        case "lines":    geometryShader.InputTopology = Topology.Lines;     break;
                        case "triangle": geometryShader.InputTopology = Topology.Triangles; break;
                        default: geometryShader.InputTopology = Topology.Triangles; break;
                    }
                }

                if (a.Name == "outputTopology")
                {
                    switch (a.Value)
                    {
                        case "points":   geometryShader.OutputTopology = Topology.Points; break;
                        case "lines":    geometryShader.OutputTopology = Topology.Lines; break;
                        case "triangle": geometryShader.OutputTopology = Topology.Triangles; break;
                        default: geometryShader.OutputTopology = Topology.Triangles; break;
                    }
                }

                if (a.Name == "outputVertexCount")
                {
                    int result = 0;

                    int.TryParse(a.Value, out result);

                    geometryShader.OutputVertexCount = result;
                }
            }

            foreach (XElement e in element.Elements())
            {
                if (e.Name == "include")
                {
                    Include include = new Include();

                    read_include(include, e);

                    geometryShader.Includes.Add(include);
                }
            }
        }
Ejemplo n.º 3
0
        private static void  read_fragment_shader (FragmentShader      fragmentShader, XElement element)
        {
            foreach (XElement e in element.Elements())
            {
                if (e.Name == "include")
                {
                    Include include = new Include();

                    read_include(include, e);

                    fragmentShader.Includes.Add(include);
                }
            }
        }
Ejemplo n.º 4
0
 private static void  read_include         (Include             include,        XElement element)
 {
     foreach (XAttribute a in element.Attributes())
     {
         if (a.Name == "source") include.Source = a.Value;
     }
 }