kvark: > <
@theoraclebot:
matrix.org> <code>mvlabat</code><br>Инициализация пайплайна (amethyst, rendy) у меня выглядит следующим образом:
> let pipes = PipelinesBuilder::new()
> .with_pipeline(
> PipelineDescBuilder::new()
> .with_vertex_desc(&[(
> SpellParticleVertexData::vertex(),
> pso::VertexInputRate::Instance(1),
> )])
> .with_input_assembler(pso::InputAssemblerDesc::new(hal::Primitive::TriangleStrip))
> .with_shaders(util::simple_shader_set(
> &shader_vertex,
> Some(&shader_fragment),
> ))
> .with_layout(&pipeline_layout)
> .with_subpass(subpass)
> .with_framebuffer_size(framebuffer_width, framebuffer_height)
> .with_blend_targets(vec![pso::ColorBlendDesc {
> mask: pso::ColorMask::ALL,
> blend: Some(pso::BlendState::PREMULTIPLIED_ALPHA),
> }])
> .with_depth_test(pso::DepthTest {
> fun: pso::Comparison::Less,
> write: false,
> }),
> )
> .build(factory, None);
Premultiplied ожидает, что ты уже умножил цвет на альфу. Если альфа 0, оно не ожидает цвета ненулевого, соответственно