CamSim  0.0.0
A rasterization-based simulator for various types of cameras
Public Member Functions | List of all members
CamSim::Pipeline Class Reference

Defines the rendering pipeline. More...

Public Member Functions

 Pipeline ()
 Constructor. More...
 

Public Attributes

Basic parameters
float nearClippingPlane
 Near clipping plane value. More...
 
float farClippingPlane
 Far clipping plane value. More...
 
Simple feature switches
bool mipmapping
 Flag: enable mipmapping? More...
 
bool anisotropicFiltering
 Flag: enable anisotropic filtering? More...
 
bool transparency
 Flag: enable transparency (discard fragments with opacity < 0.5)? More...
 
bool normalMapping
 Flag: enable normal mapping via bump map or normal map? More...
 
bool ambientLight
 Flag: use ambient light and colors? (should be off, but may be needed for imported scenes) More...
 
bool thinLensVignetting
 Flag: enable thin lens vignetting based on lens aperture diameter (see Projection)? More...
 
float thinLensApertureDiameter
 Thin lens aperture diameter in millimeter. Only used if thinLensVignetting is true. More...
 
float thinLensFocalLength
 Thin lens focal length in millimeter. Only used if thinLensVignetting is true. More...
 
bool shotNoise
 Flag: enable shot noise (also known as poisson noise) for PMD output? More...
 
bool gaussianWhiteNoise
 Flag: enable Gaussian white noise for RGB output? More...
 
float gaussianWhiteNoiseMean
 Gaussian noise mean; should be zero in almost all cases. Only used if gaussianWhiteNoise is true. More...
 
float gaussianWhiteNoiseStddev
 Gaussian noise standard deviation in (0,1]; typically in [0.01, 0.1]. For RGB simulation, this applies to the color values in [0,1]. For PMD simulation, this is first stretched to the maximum per-pixel energy estimated for the current simulation parameters, so that in effect you can assume the PMD energy values to also be in [0,1]. Only used if gaussianWhiteNoise is true. More...
 
Other features
bool preprocLensDistortion
 Lens distortion computation in the vertex shader. Please read the documentation! See also postprocLensDistortion. More...
 
float preprocLensDistortionMargin
 Extra margin for early clipping for preprocLensDistortion. Zero by default. A greater margin means that more triangles outside of the cube are rendered. This decreases the amount of discarded otherwise visible triangles but increases the chance of broken geometry from lens distortion. More...
 
bool postprocLensDistortion
 Lens distortion computation in the fragment shader. Please read the documentation! See also preprocLensDistortion. More...
 
Shadows and light maps
bool shadowMaps
 Flag: enable shadow maps? More...
 
bool shadowMapFiltering
 Flag: enable filtering of shadow maps? More...
 
bool reflectiveShadowMaps
 Flag: enable reflective shadow maps? More...
 
bool lightPowerFactorMaps
 Flag: enable light source power factor maps? More...
 
Oversampling
bool subFrameTemporalSampling
 Flag: should subframes be simulated at different points in time, according to ChipTiming? This should always be true; if it is disabled, all subframes are simulated for the timestamp of the first subframe. More...
 
QSize spatialSamples
 Samples per fragment for spatial oversampling (1x1 means no oversampling). The number of samples in both horizontal and vertical direction must be odd! More...
 
QVector< float > spatialSampleWeights
 Weights for spatial oversampling. If not given (vector is empty), then default weights will be used (1 / number_of_samples for each sample). Otherwise the vector size must match the number of samples. More...
 
int temporalSamples
 Number of temporal samples (1 means no oversampling) More...
 

Detailed Description

Defines the rendering pipeline.

Constructor & Destructor Documentation

◆ Pipeline()

CamSim::Pipeline::Pipeline ( )

Constructor.

Member Data Documentation

◆ ambientLight

bool CamSim::Pipeline::ambientLight

Flag: use ambient light and colors? (should be off, but may be needed for imported scenes)

◆ anisotropicFiltering

bool CamSim::Pipeline::anisotropicFiltering

Flag: enable anisotropic filtering?

◆ farClippingPlane

float CamSim::Pipeline::farClippingPlane

Far clipping plane value.

◆ gaussianWhiteNoise

bool CamSim::Pipeline::gaussianWhiteNoise

Flag: enable Gaussian white noise for RGB output?

◆ gaussianWhiteNoiseMean

float CamSim::Pipeline::gaussianWhiteNoiseMean

Gaussian noise mean; should be zero in almost all cases. Only used if gaussianWhiteNoise is true.

◆ gaussianWhiteNoiseStddev

float CamSim::Pipeline::gaussianWhiteNoiseStddev

Gaussian noise standard deviation in (0,1]; typically in [0.01, 0.1]. For RGB simulation, this applies to the color values in [0,1]. For PMD simulation, this is first stretched to the maximum per-pixel energy estimated for the current simulation parameters, so that in effect you can assume the PMD energy values to also be in [0,1]. Only used if gaussianWhiteNoise is true.

◆ lightPowerFactorMaps

bool CamSim::Pipeline::lightPowerFactorMaps

Flag: enable light source power factor maps?

◆ mipmapping

bool CamSim::Pipeline::mipmapping

Flag: enable mipmapping?

◆ nearClippingPlane

float CamSim::Pipeline::nearClippingPlane

Near clipping plane value.

◆ normalMapping

bool CamSim::Pipeline::normalMapping

Flag: enable normal mapping via bump map or normal map?

◆ postprocLensDistortion

bool CamSim::Pipeline::postprocLensDistortion

Lens distortion computation in the fragment shader. Please read the documentation! See also preprocLensDistortion.

◆ preprocLensDistortion

bool CamSim::Pipeline::preprocLensDistortion

Lens distortion computation in the vertex shader. Please read the documentation! See also postprocLensDistortion.

◆ preprocLensDistortionMargin

float CamSim::Pipeline::preprocLensDistortionMargin

Extra margin for early clipping for preprocLensDistortion. Zero by default. A greater margin means that more triangles outside of the cube are rendered. This decreases the amount of discarded otherwise visible triangles but increases the chance of broken geometry from lens distortion.

◆ reflectiveShadowMaps

bool CamSim::Pipeline::reflectiveShadowMaps

Flag: enable reflective shadow maps?

◆ shadowMapFiltering

bool CamSim::Pipeline::shadowMapFiltering

Flag: enable filtering of shadow maps?

◆ shadowMaps

bool CamSim::Pipeline::shadowMaps

Flag: enable shadow maps?

◆ shotNoise

bool CamSim::Pipeline::shotNoise

Flag: enable shot noise (also known as poisson noise) for PMD output?

◆ spatialSamples

QSize CamSim::Pipeline::spatialSamples

Samples per fragment for spatial oversampling (1x1 means no oversampling). The number of samples in both horizontal and vertical direction must be odd!

◆ spatialSampleWeights

QVector<float> CamSim::Pipeline::spatialSampleWeights

Weights for spatial oversampling. If not given (vector is empty), then default weights will be used (1 / number_of_samples for each sample). Otherwise the vector size must match the number of samples.

◆ subFrameTemporalSampling

bool CamSim::Pipeline::subFrameTemporalSampling

Flag: should subframes be simulated at different points in time, according to ChipTiming? This should always be true; if it is disabled, all subframes are simulated for the timestamp of the first subframe.

◆ temporalSamples

int CamSim::Pipeline::temporalSamples

Number of temporal samples (1 means no oversampling)

◆ thinLensApertureDiameter

float CamSim::Pipeline::thinLensApertureDiameter

Thin lens aperture diameter in millimeter. Only used if thinLensVignetting is true.

◆ thinLensFocalLength

float CamSim::Pipeline::thinLensFocalLength

Thin lens focal length in millimeter. Only used if thinLensVignetting is true.

◆ thinLensVignetting

bool CamSim::Pipeline::thinLensVignetting

Flag: enable thin lens vignetting based on lens aperture diameter (see Projection)?

◆ transparency

bool CamSim::Pipeline::transparency

Flag: enable transparency (discard fragments with opacity < 0.5)?


The documentation for this class was generated from the following file: