summaryrefslogtreecommitdiffstats
path: root/examples/integration/src/scene.rs
diff options
context:
space:
mode:
authorLibravatar Héctor Ramón <hector0193@gmail.com>2021-08-14 21:31:51 +0700
committerLibravatar GitHub <noreply@github.com>2021-08-14 21:31:51 +0700
commit1b2e66ec4f856e95d2655d2d41b840deee01080e (patch)
tree6e537984031d4142de06a4c0f37957d5880ebe60 /examples/integration/src/scene.rs
parent187413b4521bc13e270919b2bc101b83d8397956 (diff)
parent6da71f90077f1a1261aa522ff38133011dc5ddb5 (diff)
downloadiced-1b2e66ec4f856e95d2655d2d41b840deee01080e.tar.gz
iced-1b2e66ec4f856e95d2655d2d41b840deee01080e.tar.bz2
iced-1b2e66ec4f856e95d2655d2d41b840deee01080e.zip
Merge pull request #617 from sztomi/integration_gl
Add integration_gl example
Diffstat (limited to 'examples/integration/src/scene.rs')
-rw-r--r--examples/integration/src/scene.rs99
1 files changed, 0 insertions, 99 deletions
diff --git a/examples/integration/src/scene.rs b/examples/integration/src/scene.rs
deleted file mode 100644
index 3e8277c8..00000000
--- a/examples/integration/src/scene.rs
+++ /dev/null
@@ -1,99 +0,0 @@
-use iced_wgpu::wgpu;
-use iced_winit::Color;
-
-pub struct Scene {
- pipeline: wgpu::RenderPipeline,
-}
-
-impl Scene {
- pub fn new(device: &wgpu::Device) -> Scene {
- let pipeline = build_pipeline(device);
-
- Scene { pipeline }
- }
-
- pub fn clear<'a>(
- &self,
- target: &'a wgpu::TextureView,
- encoder: &'a mut wgpu::CommandEncoder,
- background_color: Color,
- ) -> wgpu::RenderPass<'a> {
- encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
- label: None,
- color_attachments: &[wgpu::RenderPassColorAttachment {
- view: target,
- resolve_target: None,
- ops: wgpu::Operations {
- load: wgpu::LoadOp::Clear({
- let [r, g, b, a] = background_color.into_linear();
-
- wgpu::Color {
- r: r as f64,
- g: g as f64,
- b: b as f64,
- a: a as f64,
- }
- }),
- store: true,
- },
- }],
- depth_stencil_attachment: None,
- })
- }
-
- pub fn draw<'a>(&'a self, render_pass: &mut wgpu::RenderPass<'a>) {
- render_pass.set_pipeline(&self.pipeline);
- render_pass.draw(0..3, 0..1);
- }
-}
-
-fn build_pipeline(device: &wgpu::Device) -> wgpu::RenderPipeline {
- let vs_module =
- device.create_shader_module(&wgpu::include_spirv!("shader/vert.spv"));
-
- let fs_module =
- device.create_shader_module(&wgpu::include_spirv!("shader/frag.spv"));
-
- let pipeline_layout =
- device.create_pipeline_layout(&wgpu::PipelineLayoutDescriptor {
- label: None,
- push_constant_ranges: &[],
- bind_group_layouts: &[],
- });
-
- let pipeline =
- device.create_render_pipeline(&wgpu::RenderPipelineDescriptor {
- label: None,
- layout: Some(&pipeline_layout),
- vertex: wgpu::VertexState {
- module: &vs_module,
- entry_point: "main",
- buffers: &[],
- },
- fragment: Some(wgpu::FragmentState {
- module: &fs_module,
- entry_point: "main",
- targets: &[wgpu::ColorTargetState {
- format: wgpu::TextureFormat::Bgra8UnormSrgb,
- blend: Some(wgpu::BlendState {
- color: wgpu::BlendComponent::REPLACE,
- alpha: wgpu::BlendComponent::REPLACE,
- }),
- write_mask: wgpu::ColorWrite::ALL,
- }],
- }),
- primitive: wgpu::PrimitiveState {
- topology: wgpu::PrimitiveTopology::TriangleList,
- front_face: wgpu::FrontFace::Ccw,
- ..Default::default()
- },
- depth_stencil: None,
- multisample: wgpu::MultisampleState {
- count: 1,
- mask: !0,
- alpha_to_coverage_enabled: false,
- },
- });
-
- pipeline
-}