Skip to content

Conversation

@oscartbeaumont
Copy link
Contributor

@oscartbeaumont oscartbeaumont commented Mar 18, 2025

This PR implements the text rendering part of #361. Related to #364.

This PR allows rendering text onto the video element using glyphon. In the code ProjectUniforms::new takes an extra parameter that when set to a string causes it to render on top (it's off by default so you will need to update the code to see it).

This can be used for captioning in the future.

This PR also upgrades to the latest wgpu.

@oscartbeaumont oscartbeaumont marked this pull request as ready for review March 18, 2025 06:04
@oscartbeaumont
Copy link
Contributor Author

oscartbeaumont commented Mar 18, 2025

I've extended the supported options to:

#[derive(Debug, Clone, Serialize, Deserialize, Type)]
pub struct Text {
    pub x: f32,
    pub y: f32,
    pub text_color: Option<[u8; 3]>,
    pub background_color: Option<Color>,
    pub background_opacity: Option<f32>,
    pub padding: Option<f32>,
    pub font_size: Option<f32>,
    pub line_height: Option<f32>,
    pub content: String,
}

Known bugs:

  • The background has random extra padding above the text. I've got no idea whats causing this. This would just be the configured line height 🤦

I suspect this will need to be extended with rounded corners in the future but that can be a separate PR.

@richiemcilroy
Copy link
Member

🤯

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants