예제 #1
0
 public DecoratorCacheBlockBlock(BinaryReader binaryReader)
 {
     this.geometryBlockInfo = new GlobalGeometryBlockInfoStruct(binaryReader);
     {
         var count = binaryReader.ReadInt32();
         var address = binaryReader.ReadInt32();
         var elementSize = Marshal.SizeOf(typeof(DecoratorCacheBlockDataBlock));
         this.cacheBlockData = new DecoratorCacheBlockDataBlock[count];
         using (binaryReader.BaseStream.Pin())
         {
             for (int i = 0; i < count; ++i)
             {
                 binaryReader.BaseStream.Position = address + i * elementSize;
                 this.cacheBlockData[i] = new DecoratorCacheBlockDataBlock(binaryReader);
             }
         }
     }
 }
예제 #2
0
 public RenderModelSectionBlock(BinaryReader binaryReader)
 {
     this.globalGeometryClassificationEnumDefinition = (GlobalGeometryClassificationEnumDefinition)binaryReader.ReadInt16();
     this.padding = binaryReader.ReadBytes(2);
     this.sectionInfo = new GlobalGeometrySectionInfoStruct(binaryReader);
     this.rigidNode = binaryReader.ReadShortBlockIndex1();
     this.flags = (Flags)binaryReader.ReadInt16();
     this.sectionData = ReadSectiondata(binaryReader);
     this.geometryBlockInfo = new GlobalGeometryBlockInfoStruct(binaryReader);
 }
예제 #3
0
 public PrtInfoBlock(BinaryReader binaryReader)
 {
     this.sHOrder = binaryReader.ReadInt16();
     this.numOfClusters = binaryReader.ReadInt16();
     this.pcaVectorsPerCluster = binaryReader.ReadInt16();
     this.numberOfRays = binaryReader.ReadInt16();
     this.numberOfBounces = binaryReader.ReadInt16();
     this.matIndexForSbsfcScattering = binaryReader.ReadInt16();
     this.lengthScale = binaryReader.ReadSingle();
     this.numberOfLodsInModel = binaryReader.ReadInt16();
     this.padding = binaryReader.ReadBytes(2);
     this.lodInfo = ReadLodinfo(binaryReader);
     this.clusterBasis = ReadClusterbasis(binaryReader);
     this.rawPcaData = ReadRawpcadata(binaryReader);
     this.vertexBuffers = ReadVertexbuffers(binaryReader);
     this.geometryBlockInfo = new GlobalGeometryBlockInfoStruct(binaryReader);
 }
 public ResourceStream(byte[] buffer, GlobalGeometryBlockInfoStruct blockInfo)
     : base(buffer)
 {
     HeaderSize = blockInfo.sectionDataSize;
     Resources = blockInfo.resources;
 }