Crate oslquery_petite

Crate oslquery_petite 

Source
Expand description

Lightweight library for querying Open Shading Language (OSL) shader parameters.

This crate provides a pure Rust implementation for reading and querying OSL compiled shader files (.oso format).

§Example

use oslquery_petite::{OslQuery, TypedParameter};

let query = OslQuery::open("shader.oso")?;
println!("Shader: {} ({})", query.shader_name(), query.shader_type());

for param in query.params() {
    match param.typed_param() {
        TypedParameter::Float { default } => {
            println!("  float {} = {:?}", param.name, default);
        }
        TypedParameter::Color { default, .. } => {
            println!("  color {} = {:?}", param.name, default);
        }
        _ => {}
    }
}

Re-exports§

pub use query::OslQuery;
pub use types::Metadata;
pub use types::MetadataValue;
pub use types::Parameter;
pub use types::ParameterKind;
pub use types::TypedParameter;

Modules§

parser
OSO file parser module.
query
Query API using the fully type-safe parameter system.
types
Type-safe OSL parameter system where types and values are unified.