[][src]Struct pbrt::cameras::realistic::RealisticCamera

pub struct RealisticCamera {
    pub camera_to_world: AnimatedTransform,
    pub shutter_open: Float,
    pub shutter_close: Float,
    pub film: Arc<Film>,
    pub medium: Option<Arc<dyn Medium + Send + Sync>>,
    pub simple_weighting: bool,
    pub element_interfaces: Vec<LensElementInterface>,
    pub exit_pupil_bounds: Vec<Bounds2f>,
}

Fields

camera_to_world: AnimatedTransformshutter_open: Floatshutter_close: Floatfilm: Arc<Film>medium: Option<Arc<dyn Medium + Send + Sync>>simple_weighting: boolelement_interfaces: Vec<LensElementInterface>exit_pupil_bounds: Vec<Bounds2f>

Methods

impl RealisticCamera[src]

pub fn new(
    camera_to_world: AnimatedTransform,
    shutter_open: Float,
    shutter_close: Float,
    aperture_diameter: Float,
    focus_distance: Float,
    simple_weighting: bool,
    lens_data: &Vec<Float>,
    film: Arc<Film>,
    medium: Option<Arc<dyn Medium + Send + Sync>>
) -> Self
[src]

pub fn create(
    params: &ParamSet,
    cam2world: AnimatedTransform,
    film: Arc<Film>,
    medium: Option<Arc<dyn Medium + Send + Sync>>,
    search_directory: Option<&Box<PathBuf>>
) -> Arc<dyn Camera + Send + Sync>
[src]

pub fn generate_ray(&self, sample: &CameraSample, ray: &mut Ray) -> Float[src]

pub fn lens_rear_z(&self) -> Float[src]

pub fn lens_front_z(&self) -> Float[src]

pub fn rear_element_radius(&self) -> Float[src]

pub fn trace_lenses_from_film(
    &self,
    r_camera: &Ray,
    r_out: Option<&mut Ray>
) -> bool
[src]

pub fn intersect_spherical_element(
    &self,
    radius: Float,
    z_center: Float,
    ray: &Ray,
    t: &mut Float,
    n: &mut Normal3f
) -> bool
[src]

pub fn trace_lenses_from_scene(
    &self,
    r_camera: &Ray,
    r_out: Option<&mut Ray>
) -> bool
[src]

pub fn draw_lens_system(&self)[src]

pub fn draw_ray_path_from_film(
    &self,
    _r: &Ray,
    _arrow: bool,
    _to_optical_intercept: bool
)
[src]

pub fn draw_ray_path_from_scene(
    &self,
    _r: &Ray,
    _arrow: bool,
    _to_optical_intercept: bool
)
[src]

pub fn compute_cardinal_points(
    &self,
    r_in: &Ray,
    r_out: &Ray,
    idx: usize,
    pz: &mut [Float; 2],
    fz: &mut [Float; 2]
)
[src]

pub fn compute_thick_lens_approximation(
    &self,
    pz: &mut [Float; 2],
    fz: &mut [Float; 2]
)
[src]

pub fn focus_thick_lens(&self, focus_distance: Float) -> Float[src]

pub fn focus_distance(&self, film_distance: Float) -> Float[src]

pub fn bound_exit_pupil(&self, p_film_x0: Float, p_film_x1: Float) -> Bounds2f[src]

pub fn render_exit_pupil(&self, _sx: Float, _sy: Float, _filename: String)[src]

pub fn sample_exit_pupil(
    &self,
    p_film: &Point2f,
    lens_sample: &Point2f,
    sample_bounds_area: &mut Float
) -> Point3f
[src]

pub fn test_exit_pupil_bounds(&self)[src]

Trait Implementations

impl Camera for RealisticCamera[src]

impl Clone for RealisticCamera[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

Auto Trait Implementations

impl Send for RealisticCamera

impl Sync for RealisticCamera

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> SetParameter for T[src]

fn set<T>(&mut self, value: T) -> <T as Parameter<Self>>::Result where
    T: Parameter<Self>, 
[src]

Sets value as a parameter of self.