Compare commits
3 commits
0c2c73f5ec
...
d49fbd6f6e
Author | SHA1 | Date | |
---|---|---|---|
d49fbd6f6e | |||
54fed1633f | |||
63dc736ecf |
2 changed files with 18 additions and 4 deletions
|
@ -19,6 +19,8 @@ impl BackgroundGenerator {
|
||||||
color: [f32; 4],
|
color: [f32; 4],
|
||||||
image_infos: [(u32, u32); N],
|
image_infos: [(u32, u32); N],
|
||||||
) -> Result<[Arc<Image>; N]> {
|
) -> Result<[Arc<Image>; N]> {
|
||||||
|
let max_supported_sample_count = device.max_supported_sample_count(VK_SAMPLE_COUNT_16_BIT);
|
||||||
|
|
||||||
let vertex_shader = ShaderModule::from_slice(
|
let vertex_shader = ShaderModule::from_slice(
|
||||||
device.clone(),
|
device.clone(),
|
||||||
include_bytes!("generator.vert.spv"),
|
include_bytes!("generator.vert.spv"),
|
||||||
|
@ -48,7 +50,17 @@ impl BackgroundGenerator {
|
||||||
let render_target = RenderTarget::builder()
|
let render_target = RenderTarget::builder()
|
||||||
.add_sub_pass(
|
.add_sub_pass(
|
||||||
SubPass::builder(image.width(), image.height())
|
SubPass::builder(image.width(), image.height())
|
||||||
.set_prepared_targets(&[image.clone()], 0, [0.0, 0.0, 0.0, 0.0], true)
|
.add_target_info(CustomTarget {
|
||||||
|
usage: VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT.into(),
|
||||||
|
format: image.vk_format(),
|
||||||
|
clear_on_load: true,
|
||||||
|
store_on_save: true,
|
||||||
|
attach_sampler: false,
|
||||||
|
use_as_input: false,
|
||||||
|
clear_value: ClearValue::Color([0.0, 0.0, 0.0, 0.0]),
|
||||||
|
})
|
||||||
|
.set_sample_count(max_supported_sample_count)
|
||||||
|
.add_resolve_targets(vec![image.clone()])
|
||||||
.build(&device, &queue)?,
|
.build(&device, &queue)?,
|
||||||
)
|
)
|
||||||
.build(&device)?;
|
.build(&device)?;
|
||||||
|
@ -102,7 +114,7 @@ impl BackgroundGenerator {
|
||||||
.default_depth_stencil(false, false)
|
.default_depth_stencil(false, false)
|
||||||
.default_color_blend(vec![VkPipelineColorBlendAttachmentState::default()])
|
.default_color_blend(vec![VkPipelineColorBlendAttachmentState::default()])
|
||||||
.default_rasterization(VK_CULL_MODE_NONE, VK_FRONT_FACE_COUNTER_CLOCKWISE)
|
.default_rasterization(VK_CULL_MODE_NONE, VK_FRONT_FACE_COUNTER_CLOCKWISE)
|
||||||
.default_multisample(VK_SAMPLE_COUNT_1_BIT)
|
.default_multisample(max_supported_sample_count)
|
||||||
.add_viewport(viewport)
|
.add_viewport(viewport)
|
||||||
.add_scissor(scissor)
|
.add_scissor(scissor)
|
||||||
.build(
|
.build(
|
||||||
|
|
|
@ -149,7 +149,7 @@ impl LeaderBoardEntry {
|
||||||
match self.behind {
|
match self.behind {
|
||||||
BehindLeader::Time(time_behind) => {
|
BehindLeader::Time(time_behind) => {
|
||||||
// check if we are leader
|
// check if we are leader
|
||||||
if time_behind == 0.0 {
|
if time_behind <= 0.0 {
|
||||||
self.time_label.set_text("---")?;
|
self.time_label.set_text("---")?;
|
||||||
} else {
|
} else {
|
||||||
let text = if time_behind > 60.0 {
|
let text = if time_behind > 60.0 {
|
||||||
|
@ -221,7 +221,9 @@ impl LeaderBoardEntry {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn force_display_behind_next(&mut self) -> Result<()> {
|
pub fn force_display_behind_next(&mut self) -> Result<()> {
|
||||||
let text = if self.time_behind_next > 60.0 {
|
let text = if self.time_behind_next <= 0.0 {
|
||||||
|
"---".to_string()
|
||||||
|
} else if self.time_behind_next > 60.0 {
|
||||||
let full_minutes = (self.time_behind_next / 60.0).floor();
|
let full_minutes = (self.time_behind_next / 60.0).floor();
|
||||||
let remainder = self.time_behind_next - (full_minutes * 60.0);
|
let remainder = self.time_behind_next - (full_minutes * 60.0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue