text almost works

This commit is contained in:
2021-08-15 23:29:25 +02:00
parent 40aa7f635e
commit fb045f210a
10 changed files with 30 additions and 25 deletions

View File

@@ -1,6 +1,6 @@
use std::{convert::TryInto, io::Read};
use vulkano::format::Format;
use vulkano::{format::Format, sampler::Filter};
use super::VulkanRenderer;
@@ -26,14 +26,14 @@ pub fn upload_texture_from_file(path: &str, renderer: &mut VulkanRenderer) -> Re
if is_dxt1
{
renderer.upload_texture(&tex_bytes[128..], tex_width, tex_height, Format::BC1_RGBUnormBlock, renderer.device.clone());
renderer.upload_texture(&tex_bytes[128..], tex_width, tex_height, Format::BC1_RGBUnormBlock, Filter::Linear, renderer.device.clone());
}
if is_dx10
{
let dxgi_type = u32::from_ne_bytes(tex_bytes[128..132].try_into()?);
assert!(dxgi_type == 83); // BC5 Unorm Typeless
renderer.upload_texture(&tex_bytes[128+20..], tex_width, tex_height, Format::BC5UnormBlock, renderer.device.clone());
renderer.upload_texture(&tex_bytes[128+20..], tex_width, tex_height, Format::BC5UnormBlock, Filter::Linear, renderer.device.clone());
}
Ok(())

View File

@@ -155,6 +155,7 @@ impl VulkanRenderer {
ext_debug_utils: true,
..vulkano_win::required_extensions()
};
println!("Using extensions: {:?}", extensions);
let app_info = ApplicationInfo {
application_name: Some("Asuro's Editor".into()),
@@ -454,7 +455,7 @@ impl VulkanRenderer {
}
}
pub fn upload_texture(self: &mut Self, bytes: &[u8], width: u32, height: u32, format: Format, device: Arc<Device>) {
pub fn upload_texture(self: &mut Self, bytes: &[u8], width: u32, height: u32, format: Format, filter: Filter, device: Arc<Device>) {
let dimensions = Dimensions::Dim2d { width, height };
let usage = ImageUsage {
@@ -538,7 +539,7 @@ impl VulkanRenderer {
future.flush().unwrap();
let sampler = Sampler::new(device.clone(), Filter::Linear, Filter::Linear,
let sampler = Sampler::new(device.clone(), filter, filter,
MipmapMode::Linear, SamplerAddressMode::Repeat, SamplerAddressMode::Repeat,
SamplerAddressMode::Repeat, 0.0, 1.0, 0.0, (image_view.mipmap_levels() - 1) as f32).unwrap();

View File

@@ -142,8 +142,6 @@ impl Drawcall for DefaultShader {
let mesh = &game_data.meshes[game_object.mesh_index];
let push_constants = game_object.get_push_constants();
println!("default: {:?}", game_object.mesh_index);
builder.draw_indexed(
self.pipeline.clone(),
dynamic_state,
@@ -328,11 +326,9 @@ impl Drawcall for TextShader {
fn draw(self: &Self, builder: &mut AutoCommandBufferBuilder, fb_index: usize, game_objects: Vec<&GameObject>, game_data: &GameData, dynamic_state: &DynamicState) {
for i in 0..game_objects.len() {
let game_object = &game_objects[i];
let mesh = &game_data.meshes[game_object.mesh_index];
let mesh = &game_data.meshes_text[game_object.mesh_index];
let push_constants = game_object.get_push_constants();
println!("text: {:?}", game_object.mesh_index);
builder.draw_indexed(
self.pipeline.clone(),
dynamic_state,