use anyhow::Result; use shared::{ core::texture::{SpectrumType, TextureEvalContext}, textures::{FloatConstantTexture, SpectrumConstantTexture}, utils::Transform, }; use crate::{ core::texture::{ CreateSpectrumTexture, FloatTexture, FloatTextureTrait, SpectrumTextureTrait, SpectrumTextureTrait, }, utils::{FileLoc, TextureParameterDictionary}, }; pub trait CreateFloatConstantTexture { fn create( render_from_texture: Transform, parameters: TextureParameterDictionary, loc: FileLoc, ) -> Result; } impl CreateFloatConstantTexture for FloatConstantTexture { fn create( _render_from_texture: Transform, _parameters: TextureParameterDictionary, _loc: FileLoc, ) -> Result { todo!() } } impl FloatTextureTrait for FloatConstantTexture { fn evaluate(&self, _ctx: &TextureEvalContext) -> shared::Float { todo!() } } impl CreateSpectrumTexture for SpectrumConstantTexture { fn create( _render_from_texture: Transform, _parameters: TextureParameterDictionary, _spectrum_type: SpectrumType, _loc: FileLoc, ) -> Result { todo!() } } impl SpectrumTextureTrait for SpectrumConstantTexture { fn evaluate( &self, _ctx: &TextureEvalContext, _lambda: &shared::spectra::SampledWavelengths, ) -> shared::spectra::SampledSpectrum { todo!() } }