Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Glyphon text rendering #369

Open
wants to merge 11 commits into
base: main
Choose a base branch
from

Conversation

oscartbeaumont
Copy link
Collaborator

@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
Collaborator 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
Collaborator

🤯

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.

2 participants