private ShaderMixinObjectId() { objectIdBuilder = new ObjectIdBuilder(); buffer = Marshal.AllocHGlobal(65536); memStream = new NativeMemoryStream(buffer, 65536); writer = new HashSerializationWriter(memStream); writer.Context.SerializerSelector = new SerializerSelector("Default", "Hash"); }
/// <summary> /// Generates a Guid unique to this name /// </summary> /// <param name="name">the name to turn into a Guid</param> /// <returns>A unique Guid for the given name</returns> public static Guid DeviceNameToGuid(string name) { MemoryStream stream = new MemoryStream(); DigestStream writer = new DigestStream(stream); { BinarySerializationWriter serializer = new HashSerializationWriter(writer); serializer.Write(typeof(IInputDevice).GetHashCode()); serializer.Write(name); } return(writer.CurrentHash.ToGuid()); }
private ShaderMixinObjectId() { objectIdBuilder = new ObjectIdBuilder(); buffer = Marshal.AllocHGlobal(65536); memStream = new NativeMemoryStream(buffer, 65536); writer = new HashSerializationWriter(memStream); writer.Context.SerializerSelector = new SerializerSelector(); writer.Context.SerializerSelector.RegisterProfile("Default"); writer.Context.SerializerSelector.RegisterSerializer(new ParameterKeyHashSerializer()); writer.Context.SerializerSelector.RegisterSerializer(new ParameterCollectionHashSerializer()); if (parameters == null) { parameters = new ParameterCollection(); } }