Exemplo n.º 1
0
        protected void SetVertexBuffer <V>(IVertexParser <V> vertexParser) where V : struct
        {
            numVertices  = vertexParser.VertexCount;
            vertexStride = Marshal.SizeOf(typeof(V));
            int SizeOfVertexBufferInBytes = numVertices * vertexStride;

            vertices = new DataStream(SizeOfVertexBufferInBytes, true, true);
            for (int i = 0; i < numVertices; i++)
            {
                vertexParser.FillVertex(i, out V vertex);
                vertices.Write(vertex);
            }

            vertices.Position = 0;

            boundingBox    = BoundingBox.FromPoints(vertices, numVertices, vertexStride);
            boundingSphere = BoundingSphere.FromBox(boundingBox);

            vertexBuffer = new Buffer(DeviceManager.Instance.device,
                                      vertices,
                                      SizeOfVertexBufferInBytes,
                                      ResourceUsage.Default,
                                      BindFlags.VertexBuffer,
                                      CpuAccessFlags.None,
                                      ResourceOptionFlags.None,
                                      0);
        }
Exemplo n.º 2
0
 public ObjLoader(IVertexParser vertexParser, INormalParser normalParser, IFaceParser faceParser, ITextureParser textureParser, ILogger logger)
 {
     _textureParser = textureParser;
     _logger        = logger;
     _faceParser    = faceParser;
     _normalParser  = normalParser;
     _vertexParser  = vertexParser;
 }
Exemplo n.º 3
0
        public OmeLoader(IDataStore dataStore, IOctreeParser octreeParser, ITriangleParser triangleParser,
                         IIndexParser indexParser, IVertexParser vertexParser)
        {
            _headerLineCount = 11;

            _dataStore      = dataStore;
            _octreeParser   = octreeParser;
            _triangleParser = triangleParser;
            _indexParser    = indexParser;
            _vertexParser   = vertexParser;
        }
Exemplo n.º 4
0
 public ObjLoader(
     IDataStore dataStore, 
     IFaceParser faceParser, 
     IGroupParser groupParser,
     INormalParser normalParser, 
     ITextureParser textureParser, 
     IVertexParser vertexParser,
     IMaterialLibraryParser materialLibraryParser, 
     IUseMaterialParser useMaterialParser)
 {
     _dataStore = dataStore;
     SetupTypeParsers(
         vertexParser,
         faceParser,
         normalParser,
         textureParser,
         groupParser,
         materialLibraryParser,
         useMaterialParser);
 }
Exemplo n.º 5
0
 public ObjLoader(
     IDataStore dataStore,
     IFaceParser faceParser,
     IGroupParser groupParser,
     INormalParser normalParser,
     ITextureParser textureParser,
     IVertexParser vertexParser,
     IMaterialLibraryParser materialLibraryParser,
     IUseMaterialParser useMaterialParser)
 {
     _dataStore = dataStore;
     SetupTypeParsers(
         vertexParser,
         faceParser,
         normalParser,
         textureParser,
         groupParser,
         materialLibraryParser,
         useMaterialParser);
 }