本文整理汇总了C#中SiliconStudio.Xenko.Graphics.GraphicsDevice.GetOrCreateSharedData方法的典型用法代码示例。如果您正苦于以下问题:C# GraphicsDevice.GetOrCreateSharedData方法的具体用法?C# GraphicsDevice.GetOrCreateSharedData怎么用?C# GraphicsDevice.GetOrCreateSharedData使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SiliconStudio.Xenko.Graphics.GraphicsDevice
的用法示例。
在下文中一共展示了GraphicsDevice.GetOrCreateSharedData方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PrimitiveQuad
/// <summary>
/// Initializes a new instance of the <see cref="PrimitiveQuad" /> class with a particular effect.
/// </summary>
/// <param name="graphicsDevice">The graphics device.</param>
/// <param name="effect">The effect.</param>
public PrimitiveQuad(GraphicsDevice graphicsDevice, Effect effect)
{
GraphicsDevice = graphicsDevice;
simpleEffect = effect;
parameters = new ParameterCollection();
parameters.Set(SpriteBaseKeys.MatrixTransform, Matrix.Identity);
parameterCollectionGroup = new EffectParameterCollectionGroup(graphicsDevice, simpleEffect, new[] { parameters });
sharedData = GraphicsDevice.GetOrCreateSharedData(GraphicsDeviceSharedDataType.PerDevice, "PrimitiveQuad::VertexBuffer", d => new SharedData(GraphicsDevice, simpleEffect.InputSignature));
}
示例2: MutablePipelineState
public MutablePipelineState(GraphicsDevice graphicsDevice)
{
this.graphicsDevice = graphicsDevice;
cache = graphicsDevice.GetOrCreateSharedData(GraphicsDeviceSharedDataType.PerDevice, typeof(MutablePipelineStateCache), device => new MutablePipelineStateCache()).Cache;
State = new PipelineStateDescription();
State.SetDefaults();
}
示例3: PrimitiveQuad
/// <summary>
/// Initializes a new instance of the <see cref="PrimitiveQuad" /> class.
/// </summary>
/// <param name="graphicsDevice">The graphics device.</param>
/// <param name="effect">The effect.</param>
public PrimitiveQuad(GraphicsDevice graphicsDevice)
{
GraphicsDevice = graphicsDevice;
sharedData = GraphicsDevice.GetOrCreateSharedData(GraphicsDeviceSharedDataType.PerDevice, "PrimitiveQuad::VertexBuffer", d => new SharedData(GraphicsDevice));
simpleEffect = new EffectInstance(new Effect(GraphicsDevice, SpriteEffect.Bytecode));
simpleEffect.Parameters.Set(SpriteBaseKeys.MatrixTransform, Matrix.Identity);
simpleEffect.UpdateEffect(graphicsDevice);
pipelineState = new MutablePipelineState(GraphicsDevice);
pipelineState.State.SetDefaults();
pipelineState.State.InputElements = VertexDeclaration.CreateInputElements();
pipelineState.State.PrimitiveType = PrimitiveType;
}
示例4: New
public static EffectProgram New(GraphicsDevice graphicsDevice, EffectBytecode bytecode)
{
var effectProgramLibrary = graphicsDevice.GetOrCreateSharedData(GraphicsDeviceSharedDataType.PerDevice, typeof(EffectProgram), d => new EffectProgramLibrary());
return effectProgramLibrary.GetOrCreateShader(graphicsDevice, bytecode);
}