ubo working

This commit is contained in:
2019-08-18 23:28:17 +02:00
parent 1deb7c7e47
commit af7be04615
3 changed files with 9 additions and 8 deletions

View File

@@ -5,8 +5,8 @@ layout(location = 0) in vec2 tex_coords;
layout(location = 0) out vec4 out_color;
layout(binding = 1) uniform sampler2D tex;
//layout(binding = 1) uniform sampler2D tex;
void main() {
out_color = texture(tex, tex_coords);
out_color = vec4(1.0, 0.0, 0.0, 1.0);// texture(tex, tex_coords);
}

View File

@@ -44,9 +44,9 @@ impl TestGame {
fn update(self: &mut Self, renderer: &mut VulkanRenderer) {
self.input.frame_start();
// let new_time = (renderer.game_data.start_time.elapsed().unwrap().as_micros() as f64 / 1000000.0) as f32;
let new_time = (renderer.game_data.start_time.elapsed().unwrap().as_micros() as f64 / 1000000.0) as f32;
// let frame_time = new_time - renderer.game_data.uniform_buffers.iter().map(|ubo| ubo.time).max_by(|a,b| if a > b {Ordering::Greater} else {Ordering::Less} ).unwrap();
// renderer.game_data.uniform_buffers.iter_mut().for_each(|ubo| ubo.time = new_time);
// renderer.uniform_buffers.iter_mut().for_each(|ubo| ubo.time = new_time);
// User interaction
if self.input.button_just_released("quit") {
@@ -87,8 +87,8 @@ impl TestGame {
renderer.game_data.push_constants.view = view.into();
renderer.game_data.push_constants.projection = proj.into();
// renderer.game_data.uniform_buffers.iter_mut().for_each(|ubo| ubo.view = view.into());
// renderer.game_data.uniform_buffers.iter_mut().for_each(|ubo| ubo.projection = proj.into());
// renderer.uniform_buffers.iter_mut().for_each(|ubo| ubo.view = view.into());
// renderer.uniform_buffers.iter_mut().for_each(|ubo| ubo.projection = proj.into());
renderer.game_data.line_push_constants.view = view.into();
renderer.game_data.line_push_constants.projection = proj.into();

View File

@@ -76,7 +76,8 @@ pub struct GameObject {
pub(crate) type GameObjectHandle = usize;
pub(crate) type MeshHandle = usize;
type FixedGraphicsDescriptorSet = Arc<FixedSizeDescriptorSet<Arc<dyn GraphicsPipelineAbstract + Send + Sync>, ((((), PersistentDescriptorSetBuf<Arc<CpuAccessibleBuffer<vs::ty::UniformBufferObject>>>), PersistentDescriptorSetImg<Arc<ImmutableImage<Format>>>), PersistentDescriptorSetSampler)>>;
type FixedGraphicsDescriptorSet = Arc<FixedSizeDescriptorSet<Arc<dyn GraphicsPipelineAbstract + Send + Sync>, ((), PersistentDescriptorSetBuf<Arc<vulkano::buffer::cpu_access::CpuAccessibleBuffer<vs::ty::UniformBufferObject>>>)>>;
//type FixedGraphicsDescriptorSet = Arc<FixedSizeDescriptorSet<Arc<dyn GraphicsPipelineAbstract + Send + Sync>, ((((), PersistentDescriptorSetBuf<Arc<CpuAccessibleBuffer<vs::ty::UniformBufferObject>>>), PersistentDescriptorSetImg<Arc<ImmutableImage<Format>>>), PersistentDescriptorSetSampler)>>;
pub struct GameData {
pub start_time: SystemTime,
@@ -312,7 +313,7 @@ impl VulkanRenderer {
descriptor_set_pool
.lock().unwrap().next()
.add_buffer(uniform_buffer.clone()).unwrap()
.add_sampled_image(default_tex.clone(), sampler.clone()).unwrap()
// .add_sampled_image(default_tex.clone(), sampler.clone()).unwrap()
.build().unwrap())
})
.collect();