Rust 如何在纹理中绘制基本体?

Rust 如何在纹理中绘制基本体?,rust,rust-piston,Rust,Rust Piston,当我想在活塞中绘制一些基本体时,我会这样做: let gl = &mut GlGraphics::new(OpenGL::V3_2); gl.draw(viewport, |context, gl| { Rectangle::new([1., 1., 1., 1.]) .draw([0., 0., 10., 20.], &context.draw_state, context.view, gl); }); 此代码在缓冲区中绘制一个矩形,并将其显示在屏幕

当我想在活塞中绘制一些基本体时,我会这样做:

let gl = &mut GlGraphics::new(OpenGL::V3_2);

gl.draw(viewport, |context, gl| {
    Rectangle::new([1., 1., 1., 1.])
        .draw([0., 0., 10., 20.], &context.draw_state, context.view, gl);
});

此代码在缓冲区中绘制一个矩形,并将其显示在屏幕上。但是,如果我想在纹理中绘制一些基本体(即保留缓冲区以便重用),该怎么办?我不确定库的优化,如果我能做到这一点,我将少画几百个三角形。

您想将项目绘制到纹理并继续重绘该纹理而不是直接绘制三角形,还是想要某种“持久”缓冲区?如果您这样做纯粹是为了性能考虑,那么在完全确定它是瓶颈之前,您不应该太担心它。另外,这样的绘制调用非常便宜,即使是成百上千的调用。@EvilTak问题是关于重新绘制单个纹理而不是三角形。也许我也应该考虑将数据保存在图形内存中,尽管我需要一个比活塞更低的库。。。我认为你是对的,我将对我的代码进行基准测试。