예제 #1
0
 protected override void ComputeParameterHash(BinarySerializationWriter writer)
 {
     base.ComputeParameterHash(writer);
     uint effectbyteCodeMagicNumber = EffectBytecode.MagicHeader;
     writer.Serialize(ref effectbyteCodeMagicNumber, ArchiveMode.Serialize);
     writer.Serialize(ref effectName, ArchiveMode.Serialize);
     writer.Serialize(ref compilerParameters, ArchiveMode.Serialize);
 }
        protected override void ComputeParameterHash(BinarySerializationWriter writer)
        {
            base.ComputeParameterHash(writer);

            // Regenerate new shaders if magic header changed
            uint effectbyteCodeMagicNumber = EffectBytecode.MagicHeader;
            writer.Serialize(ref effectbyteCodeMagicNumber, ArchiveMode.Serialize);
        }
예제 #3
0
        public static void SaveFromMemory(PixelBuffer[] pixelBuffers, int count, ImageDescription description, System.IO.Stream imageStream)
        {
            var stream = new BinarySerializationWriter(imageStream);

            // Write magic code
            stream.Write(MagicCode);

            // Write image header
            imageDescriptionSerializer.Serialize(ref description, ArchiveMode.Serialize, stream);

            // Write total size
            int totalSize = 0;
            foreach (var pixelBuffer in pixelBuffers)
                totalSize += pixelBuffer.BufferStride;

            stream.Write(totalSize);

            // Write buffers contiguously
            foreach (var pixelBuffer in pixelBuffers)
            {
                stream.Serialize(pixelBuffer.DataPointer, pixelBuffer.BufferStride);
            }
        }
예제 #4
0
 protected override void ComputeParameterHash(BinarySerializationWriter writer)
 {
     // force execution of the command with a new GUID
     var newGuid = Guid.NewGuid();
     writer.Serialize(ref newGuid, ArchiveMode.Serialize);
 }