summaryrefslogtreecommitdiffstats
path: root/engine/render/vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'engine/render/vulkan')
-rw-r--r--engine/render/vulkan/data.rs35
-rw-r--r--engine/render/vulkan/pipeline_forward.rs3
2 files changed, 10 insertions, 28 deletions
diff --git a/engine/render/vulkan/data.rs b/engine/render/vulkan/data.rs
index ae33116e..d1a9d287 100644
--- a/engine/render/vulkan/data.rs
+++ b/engine/render/vulkan/data.rs
@@ -16,26 +16,7 @@
use std::sync::Arc;
-use vulkano::buffer as vb;
-use vulkano::image as vm;
-use vulkano::format::Format;
-
-use cgmath as cgm;
-
-#[derive(Default, Copy, Clone, Debug)]
-pub struct Vertex {
- pos: [f32; 3],
- normal: [f32; 3],
- tex: [f32; 2],
-}
-
-impl Vertex {
- pub fn new(pos: [f32; 3], normal: [f32; 3], tex: [f32; 2]) -> Self {
- Self {
- pos, normal, tex,
- }
- }
-}
+use crate::mesh::Vertex;
vulkano::impl_vertex!(Vertex, pos, normal, tex);
#[derive(Default, Copy, Clone)]
@@ -44,7 +25,7 @@ pub struct Instance {
}
impl Instance {
- pub fn new(model: &cgm::Matrix4<f32>) -> Self {
+ pub fn new(model: &cgmath::Matrix4<f32>) -> Self {
let slice: &[f32; 16] = model.as_ref();
Self {
model: slice.clone(),
@@ -61,26 +42,26 @@ pub struct OmniLight {
#[derive(Copy, Clone, Debug)]
pub struct PushConstantObject {
- pub view: cgm::Matrix4<f32>,
+ pub view: cgmath::Matrix4<f32>,
}
#[derive(Copy, Clone, Debug)]
pub struct FragmentUniformBufferObject {
- pub camera_pos: cgm::Vector4<f32>,
+ pub camera_pos: cgmath::Vector4<f32>,
pub omni_lights: [OmniLight; 4],
}
#[derive(Clone, Debug)]
pub struct Textures {
// diffuse: RGB
- pub diffuse: Arc<vm::ImmutableImage<Format>>,
+ pub diffuse: Arc<vulkano::image::ImmutableImage<vulkano::format::Format>>,
// roughness: R
- pub roughness: Arc<vm::ImmutableImage<Format>>,
+ pub roughness: Arc<vulkano::image::ImmutableImage<vulkano::format::Format>>,
}
pub struct VertexData {
- pub vbuffer: Arc<vb::ImmutableBuffer<[Vertex]>>,
- pub ibuffer: Arc<vb::ImmutableBuffer<[u16]>>,
+ pub vbuffer: Arc<vulkano::buffer::ImmutableBuffer<[Vertex]>>,
+ pub ibuffer: Arc<vulkano::buffer::ImmutableBuffer<[u16]>>,
}
impl std::fmt::Debug for VertexData {
diff --git a/engine/render/vulkan/pipeline_forward.rs b/engine/render/vulkan/pipeline_forward.rs
index 4c98abb7..0781d634 100644
--- a/engine/render/vulkan/pipeline_forward.rs
+++ b/engine/render/vulkan/pipeline_forward.rs
@@ -30,6 +30,7 @@ use vulkano::pipeline::shader as vps;
use vulkano::pipeline::vertex as vpv;
use vulkano::sampler as vs;
+use crate::mesh::Vertex;
use crate::vulkan::data;
use crate::vulkan::shaders;
use crate::vulkan::pipeline;
@@ -180,7 +181,7 @@ impl Forward {
// against most existing software and practices. This might bite us in the ass at some
// point in the future.
let pipeline = Arc::new(vp::GraphicsPipeline::start()
- .vertex_input(vpv::OneVertexOneInstanceDefinition::<data::Vertex, data::Instance>::new())
+ .vertex_input(vpv::OneVertexOneInstanceDefinition::<Vertex, data::Instance>::new())
.vertex_shader(vertex_shader.entry_point(), ())
.triangle_list()
.primitive_restart(false)