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); } } } }
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); }
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; }