view doesn't own scene
This commit is contained in:
@@ -40,7 +40,6 @@ fn get_model(/*x: u16, y: u16,*/ tile: &tile::Tile) -> ([Vertex; 4], [u16; 6]) {
|
||||
pub struct WorldScene<D: gfx::Device,
|
||||
F: gfx::Factory<D::Resources>> {
|
||||
pso: gfx::PipelineState<D::Resources, pipe::Meta>,
|
||||
trans: gfx::handle::Buffer<D::Resources, view::Trans>,
|
||||
atlas: gfx::handle::ShaderResourceView<D::Resources,
|
||||
<view::ColorFormat as gfx::format::Formatted>::View>,
|
||||
sampler: gfx::handle::Sampler<D::Resources>,
|
||||
@@ -48,13 +47,12 @@ pub struct WorldScene<D: gfx::Device,
|
||||
}
|
||||
|
||||
impl<D: gfx::Device, F: gfx::Factory<D::Resources>> WorldScene<D, F> {
|
||||
pub fn new(factory: &mut F, trans: &gfx::handle::Buffer<D::Resources, view::Trans>) -> WorldScene<D, F> {
|
||||
pub fn new(factory: &mut F) -> WorldScene<D, F> {
|
||||
WorldScene {
|
||||
pso: factory.create_pipeline_simple(VERTEX_SHADER_SRC,
|
||||
FRAGMENT_SHADER_SRC,
|
||||
pipe::new())
|
||||
.expect("create pipeline"),
|
||||
trans: trans.clone(),
|
||||
atlas: tile::get_tiles::<_, _, view::ColorFormat>(factory),
|
||||
sampler: factory.create_sampler(tex::SamplerInfo::new(tex::FilterMethod::Scale,
|
||||
tex::WrapMode::Clamp)),
|
||||
@@ -72,6 +70,7 @@ impl<D: gfx::Device,
|
||||
fn render(&self,
|
||||
factory: &mut F,
|
||||
encoder: &mut gfx::Encoder<D::Resources, D::CommandBuffer>,
|
||||
trans: &gfx::handle::Buffer<D::Resources, view::Trans>,
|
||||
target: &gfx::handle::RenderTargetView<D::Resources, view::ColorFormat>,
|
||||
depth: &gfx::handle::DepthStencilView<D::Resources, view::DepthFormat>) {
|
||||
let (model, model_idx) = get_model(&tile::Tile { val: 31 });
|
||||
@@ -80,7 +79,7 @@ impl<D: gfx::Device,
|
||||
|
||||
let pipe = pipe::Data {
|
||||
vbuf: vertex_buffer.clone(),
|
||||
trans: self.trans.clone(),
|
||||
trans: trans.clone(),
|
||||
atlas: (self.atlas.clone(), self.sampler.clone()),
|
||||
pixcolor: target.clone(),
|
||||
depth: depth.clone(),
|
||||
|
||||
Reference in New Issue
Block a user