Beispiel #1
0
            public IVertex AddVertex(IPosition position)
            {
                var vertex = new VertexImpl(this.vertices_.Count, position);

                this.vertices_.Add(vertex);
                return(vertex);
            }
Beispiel #2
0
            public IVertex AddVertex(float x, float y, float z)
            {
                var vertex = new VertexImpl(this.vertices_.Count, x, y, z);

                this.vertices_.Add(vertex);
                return(vertex);
            }
Beispiel #3
0
        public static ExecutionModel Parse(WordReader reader, uint wordCount)
        {
            var id = (Enumerant)reader.ReadWord();

            switch (id)
            {
            case Enumerant.Vertex:
                return(VertexImpl.Parse(reader, wordCount - 1));

            case Enumerant.TessellationControl:
                return(TessellationControlImpl.Parse(reader, wordCount - 1));

            case Enumerant.TessellationEvaluation:
                return(TessellationEvaluationImpl.Parse(reader, wordCount - 1));

            case Enumerant.Geometry:
                return(GeometryImpl.Parse(reader, wordCount - 1));

            case Enumerant.Fragment:
                return(FragmentImpl.Parse(reader, wordCount - 1));

            case Enumerant.GLCompute:
                return(GLComputeImpl.Parse(reader, wordCount - 1));

            case Enumerant.Kernel:
                return(KernelImpl.Parse(reader, wordCount - 1));

            case Enumerant.TaskNV:
                return(TaskNVImpl.Parse(reader, wordCount - 1));

            case Enumerant.MeshNV:
                return(MeshNVImpl.Parse(reader, wordCount - 1));

            case Enumerant.RayGenerationNV:
                return(RayGenerationNVImpl.Parse(reader, wordCount - 1));

            //RayGenerationKHR has the same id as another value in enum.
            //case Enumerant.RayGenerationKHR :
            //    return RayGenerationKHR.Parse(reader, wordCount - 1);
            case Enumerant.IntersectionNV:
                return(IntersectionNVImpl.Parse(reader, wordCount - 1));

            //IntersectionKHR has the same id as another value in enum.
            //case Enumerant.IntersectionKHR :
            //    return IntersectionKHR.Parse(reader, wordCount - 1);
            case Enumerant.AnyHitNV:
                return(AnyHitNVImpl.Parse(reader, wordCount - 1));

            //AnyHitKHR has the same id as another value in enum.
            //case Enumerant.AnyHitKHR :
            //    return AnyHitKHR.Parse(reader, wordCount - 1);
            case Enumerant.ClosestHitNV:
                return(ClosestHitNVImpl.Parse(reader, wordCount - 1));

            //ClosestHitKHR has the same id as another value in enum.
            //case Enumerant.ClosestHitKHR :
            //    return ClosestHitKHR.Parse(reader, wordCount - 1);
            case Enumerant.MissNV:
                return(MissNVImpl.Parse(reader, wordCount - 1));

            //MissKHR has the same id as another value in enum.
            //case Enumerant.MissKHR :
            //    return MissKHR.Parse(reader, wordCount - 1);
            case Enumerant.CallableNV:
                return(CallableNVImpl.Parse(reader, wordCount - 1));

            //CallableKHR has the same id as another value in enum.
            //case Enumerant.CallableKHR :
            //    return CallableKHR.Parse(reader, wordCount - 1);
            default:
                throw new IndexOutOfRangeException("Unknown ExecutionModel " + id);
            }
        }