use crate::Arena;
use crate::core::image::Image;
use crate::core::material::CreateMaterial;
use crate::utils::{FileLoc, TextureParameterDictionary};
use anyhow::Result;
use shared::core::material::Material;
use shared::materials::{DielectricMaterial, ThinDielectricMaterial};
use std::collections::HashMap;
use std::sync::Arc;

impl CreateMaterial for DielectricMaterial {
    fn create(
        _parameters: &TextureParameterDictionary,
        _normal_map: Option<Arc<Image>>,
        _named_materials: &HashMap<String, Material>,
        _loc: &FileLoc,
        _arena: &Arena,
    ) -> Result<Material> {
        todo!()
    }
}

impl CreateMaterial for ThinDielectricMaterial {
    fn create(
        _parameters: &TextureParameterDictionary,
        _normal_map: Option<Arc<Image>>,
        _named_materials: &HashMap<String, Material>,
        _loc: &FileLoc,
        _arena: &Arena,
    ) -> Result<Material> {
        todo!()
    }
}
