Beispiel #1
0
        private static IBuiltPipeline GetPipeline(ITagContainer diContainer, bool isFont)
        {
            System.Func <IPipelineBuilder, IBuiltPipeline> bla = builder => builder
                                                                 .WithDepthTarget(PixelFormat.D24_UNorm_S8_UInt)
                                                                 .WithColorTarget(PixelFormat.R8_G8_B8_A8_UNorm)
                                                                 .WithShaderSet(isFont ? "UIFont" : "UI")
                                                                 .WithInstanceStepRate(1)
                                                                 .With("Pos", VertexElementFormat.Float2, VertexElementSemantic.Position)
                                                                 .With("Size", VertexElementFormat.Float2, VertexElementSemantic.TextureCoordinate)
                                                                 .With("UVPos", VertexElementFormat.Float2, VertexElementSemantic.TextureCoordinate)
                                                                 .With("UVSize", VertexElementFormat.Float2, VertexElementSemantic.TextureCoordinate)
                                                                 .With("TextureWeight", VertexElementFormat.Float1, VertexElementSemantic.TextureCoordinate)
                                                                 .With("Color", VertexElementFormat.Byte4_Norm, VertexElementSemantic.Color)
                                                                 .With("Texture", ResourceKind.TextureReadOnly, ShaderStages.Fragment)
                                                                 .With("Sampler", ResourceKind.Sampler, ShaderStages.Fragment)
                                                                 .With("Projection", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                 .With(BlendStateDescription.SingleAlphaBlend)
                                                                 .With(PrimitiveTopology.TriangleStrip)
                                                                 .WithDepthWrite(false)
                                                                 .WithDepthTest(false)
                                                                 .With(FaceCullMode.None)
                                                                 .Build();

            return(isFont
                ? PipelineFor <int> .Get(diContainer, bla)
                : PipelineFor <UIMaterial> .Get(diContainer, bla));
        }
Beispiel #2
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <EffectAdditiveAlphaMaterial> .Get(diContainer, builder =>
                                                                                                                        BuildBasePipeline(builder)
                                                                                                                        .With(new BlendStateDescription(RgbaFloat.White,
                                                                                                                                                        new BlendAttachmentDescription(true,
                                                                                                                                                                                       sourceColorFactor: BlendFactor.SourceAlpha,
                                                                                                                                                                                       sourceAlphaFactor: BlendFactor.SourceAlpha,
                                                                                                                                                                                       destinationColorFactor: BlendFactor.One,
                                                                                                                                                                                       destinationAlphaFactor: BlendFactor.One,
                                                                                                                                                                                       colorFunction: BlendFunction.Add,
                                                                                                                                                                                       alphaFunction: BlendFunction.Add)))
                                                                                                                        .Build());
Beispiel #3
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <DebugLinesMaterial> .Get(diContainer, builder => builder
                                                                                                               .WithDepthTarget(PixelFormat.D24_UNorm_S8_UInt)
                                                                                                               .WithColorTarget(PixelFormat.R8_G8_B8_A8_UNorm)
                                                                                                               .WithShaderSet("VertexColor")
                                                                                                               .With("Position", VertexElementFormat.Float3, VertexElementSemantic.Position)
                                                                                                               .With("Color", VertexElementFormat.Byte4_Norm, VertexElementSemantic.Color)
                                                                                                               .With("Projection", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                               .With("View", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                               .With("World", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                               .With(PrimitiveTopology.LineList)
                                                                                                               .With(FaceCullMode.None)
                                                                                                               .WithDepthWrite(false)
                                                                                                               .WithDepthTest(false)
                                                                                                               .Build());
Beispiel #4
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <MapUntexturedMaterial> .Get(diContainer, builder => builder
                                                                                                                  .WithDepthTarget(PixelFormat.D24_UNorm_S8_UInt)
                                                                                                                  .WithColorTarget(PixelFormat.R8_G8_B8_A8_UNorm)
                                                                                                                  .WithShaderSet("MapUntextured")
                                                                                                                  .With("Position", VertexElementFormat.Float3, VertexElementSemantic.Position)
                                                                                                                  .With("TexCoords", VertexElementFormat.Float2, VertexElementSemantic.TextureCoordinate)
                                                                                                                  .With("Color", VertexElementFormat.Byte4_Norm, VertexElementSemantic.Color)
                                                                                                                  .With("Projection", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                  .With("View", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                  .With("World", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                  .With("MaterialBuffer", ResourceKind.UniformBuffer, ShaderStages.Fragment)
                                                                                                                  .With("PixelCounter", ResourceKind.StructuredBufferReadWrite, ShaderStages.Fragment)
                                                                                                                  .With(FrontFace.CounterClockwise)
                                                                                                                  .Build());
Beispiel #5
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <DebugMaterial> .Get(diContainer, builder => builder
                                                                                                          .WithDepthTarget(PixelFormat.D24_UNorm_S8_UInt)
                                                                                                          .WithColorTarget(PixelFormat.R8_G8_B8_A8_UNorm)
                                                                                                          .WithShaderSet("Wireframe")
                                                                                                          .With("Position", VertexElementFormat.Float3, VertexElementSemantic.Position)
                                                                                                          .With("UV", VertexElementFormat.Float4, VertexElementSemantic.Color)
                                                                                                          .With("Projection", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                          .With("View", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                          .With("World", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                          .With("Params", ResourceKind.UniformBuffer, ShaderStages.Fragment)
                                                                                                          .With(BlendStateDescription.SingleOverrideBlend)
                                                                                                          .WithDepthWrite(true)
                                                                                                          .WithDepthTest(true)
                                                                                                          .With(FaceCullMode.None)
                                                                                                          .Build());
Beispiel #6
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <DebugSkinnedMaterial> .Get(diContainer, builder => builder
                                                                                                                 .WithDepthTarget(PixelFormat.D24_UNorm_S8_UInt)
                                                                                                                 .WithColorTarget(PixelFormat.R8_G8_B8_A8_UNorm)
                                                                                                                 .WithShaderSet("VertexColorSkinned")
                                                                                                                 .With("Position", VertexElementFormat.Float3, VertexElementSemantic.Position)
                                                                                                                 .With("Color", VertexElementFormat.Byte4_Norm, VertexElementSemantic.Color)
                                                                                                                 .NextVertexLayout()
                                                                                                                 .With("Weights", VertexElementFormat.Float4, VertexElementSemantic.TextureCoordinate)
                                                                                                                 .With("Indices", VertexElementFormat.Byte4, VertexElementSemantic.TextureCoordinate)
                                                                                                                 .With("Projection", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With("View", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With("World", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With("PoseBuffer", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With(FrontFace.CounterClockwise)
                                                                                                                 .With(BlendStateDescription.SingleAlphaBlend)
                                                                                                                 .WithDepthWrite(false)
                                                                                                                 .WithDepthTest(false)
                                                                                                                 .Build());
Beispiel #7
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <ModelSkinnedMaterial> .Get(diContainer, builder => builder
                                                                                                                 .WithDepthTarget(PixelFormat.D24_UNorm_S8_UInt)
                                                                                                                 .WithColorTarget(PixelFormat.R8_G8_B8_A8_UNorm)
                                                                                                                 .WithShaderSet("ModelSkinned")
                                                                                                                 .With("Position", VertexElementFormat.Float3, VertexElementSemantic.Position)
                                                                                                                 .With("TexCoords", VertexElementFormat.Float2, VertexElementSemantic.TextureCoordinate)
                                                                                                                 .With("Color", VertexElementFormat.Byte4_Norm, VertexElementSemantic.Color)
                                                                                                                 .NextVertexLayout()
                                                                                                                 .With("Weights", VertexElementFormat.Float4, VertexElementSemantic.TextureCoordinate)
                                                                                                                 .With("Indices", VertexElementFormat.Byte4, VertexElementSemantic.TextureCoordinate)
                                                                                                                 .With("Texture", ResourceKind.TextureReadOnly, ShaderStages.Fragment)
                                                                                                                 .With("Sampler", ResourceKind.Sampler, ShaderStages.Fragment)
                                                                                                                 .With("Projection", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With("View", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With("World", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With("MaterialBuffer", ResourceKind.UniformBuffer, ShaderStages.Fragment)
                                                                                                                 .With("PoseBuffer", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                                 .With(FrontFace.CounterClockwise)
                                                                                                                 .Build());
Beispiel #8
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <DebugIconMaterial> .Get(diContainer, builder => builder
                                                                                                              .WithDepthTarget(PixelFormat.D24_UNorm_S8_UInt)
                                                                                                              .WithColorTarget(PixelFormat.R8_G8_B8_A8_UNorm)
                                                                                                              .WithShaderSet("DebugIcon")
                                                                                                              .WithInstanceStepRate(1)
                                                                                                              .With("Position", VertexElementFormat.Float3, VertexElementSemantic.Position)
                                                                                                              .With("UVCenter", VertexElementFormat.Float2, VertexElementSemantic.TextureCoordinate)
                                                                                                              .With("UVSize", VertexElementFormat.Float2, VertexElementSemantic.TextureCoordinate)
                                                                                                              .With("Size", VertexElementFormat.Float1, VertexElementSemantic.TextureCoordinate)
                                                                                                              .With("Color", VertexElementFormat.Byte4_Norm, VertexElementSemantic.Color)
                                                                                                              .With("Texture", ResourceKind.TextureReadOnly, ShaderStages.Fragment)
                                                                                                              .With("Sampler", ResourceKind.Sampler, ShaderStages.Fragment)
                                                                                                              .With("Projection", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                              .With("View", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                              .With("World", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                              .With("Uniforms", ResourceKind.UniformBuffer, ShaderStages.Vertex)
                                                                                                              .With(BlendStateDescription.SingleAlphaBlend)
                                                                                                              .With(PrimitiveTopology.TriangleStrip)
                                                                                                              .WithDepthWrite(false)
                                                                                                              .WithDepthTest(true)
                                                                                                              .With(FaceCullMode.None)
                                                                                                              .Build());
Beispiel #9
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <EffectAdditiveMaterial> .Get(diContainer, builder =>
                                                                                                                   BuildBasePipeline(builder)
                                                                                                                   .With(BlendStateDescription.SingleAdditiveBlend)
                                                                                                                   .Build());
Beispiel #10
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer, bool isTwoSided) => PipelineFor <SparkAdditiveMaterial> .Get(diContainer, builder =>
                                                                                                                                   BuildBasePipeline(builder, isTwoSided)
                                                                                                                                   .With(BlendStateDescription.SingleAdditiveBlend)
                                                                                                                                   .Build());
Beispiel #11
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer, bool depthWrite) => PipelineFor <ModelInstancedAdditiveMaterial> .Get(diContainer, builder =>
                                                                                                                                            BuildBasePipeline(builder)
                                                                                                                                            .WithDepthWrite(depthWrite)
                                                                                                                                            .With(BlendStateDescription.SingleAdditiveBlend)
                                                                                                                                            .Build());
Beispiel #12
0
 private static IBuiltPipeline GetPipeline(ITagContainer diContainer) => PipelineFor <ModelInstancedMaterial> .Get(diContainer, builder =>
                                                                                                                   BuildBasePipeline(builder)
                                                                                                                   .Build());