Skip to content
/ usch Public

A πŸ¦€ demoscene framework

License

Notifications You must be signed in to change notification settings

Kwarf/usch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

usch - A πŸ¦€ Demoscene framework

Use at your own risk.

cargo run --example 01-raymarch

It won't be on cargo.io for a long long time, so if you want to play around:

[dependencies]
usch = { git = "https://github.com/kwarf/usch.git" }

Hopes and dreams

Stage one

  • βœ… Support single-scene fragment shader demos (see Kwarf/nothing as an example)
  • βœ… Live shader reloading
  • βœ… Reasonably deterministic audio playback
  • βœ… Time-scrubbing

Stage two

  • ❌ Real-time editable sync-tracker
  • ❌ Built-in frame capture/pre-render export
  • ❌ Multiple scenes
  • ❌ OGG streaming (currently entirely decoded as a pre-calc stage)
  • ❌ Suspend rendering while state is unchanged (πŸ”‹πŸ‘)

FAQ

I'm getting "cannot find native shaderc library on system; falling back to build from source". What do?

I'm using the shaderc crate to compile GLSL shaders into SPIR-V. This requires the C++ shaderc library, which ships with the Vulkan SDK.

If you don't want to, or can't build this automatically from source you can install the SDK, then point to its location in a config.toml file in a location you find appropriate, ex. %USERPROFILE%\.cargo\config.toml.

[env]
VULKAN_SDK = "C:\\VulkanSDK\\1.3.211.0"

About

A πŸ¦€ demoscene framework

Resources

License

Stars

Watchers

Forks

Languages