pbrt/src/textures/constant.rs

59 lines
1.5 KiB
Rust

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<FloatTexture>;
}
impl CreateFloatConstantTexture for FloatConstantTexture {
fn create(
_render_from_texture: Transform,
_parameters: TextureParameterDictionary,
_loc: FileLoc,
) -> Result<FloatTexture> {
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<SpectrumTexture> {
todo!()
}
}
impl SpectrumTextureTrait for SpectrumConstantTexture {
fn evaluate(
&self,
_ctx: &TextureEvalContext,
_lambda: &shared::spectra::SampledWavelengths,
) -> shared::spectra::SampledSpectrum {
todo!()
}
}