29 static constexpr uint64_t dof_web_density_ = 6;
31 static constexpr uint64_t infinite_sample_count_ = 0xFFFFFFu;
33 static constexpr uint64_t interactive_sample_aa_ = 8;
34 static constexpr uint64_t interactive_sample_raytrace_ = 32;
35 static constexpr uint64_t interactive_sample_volume_ = 32;
36 static constexpr uint64_t interactive_sample_max_ = interactive_sample_aa_ *
37 interactive_sample_raytrace_ *
38 interactive_sample_volume_;
58 bool interactive_mode_ =
false;
64 static constexpr int interactive_mode_threshold = 3;
110 return *
reinterpret_cast<const float2 *
>(&data_.
dimensions[starting_dimension]);
118 return *
reinterpret_cast<const float3 *
>(&data_.
dimensions[starting_dimension]);
124 return (sample_ >= sample_count_);
130 return (viewport_sample_ >= sample_count_) && !interactive_mode_;
136 return interactive_mode_;
142 return sample_count_;
155 return ((sample_ % (sample_count_ / motion_blur_steps_)) == 0);
207 return dof_ring_count_;
215 return dof_sample_count_;
A running instance of the engine.
uint64_t sample_index() const
float rng_get(eSamplingDimension dimension) const
void bind_resources(PassType &pass)
bool finished_viewport() const
static float3 sample_sphere(const float2 &rand)
float3 rng_3d_get(eSamplingDimension starting_dimension) const
static void cdf_invert(Vector< float > &cdf, Vector< float > &inverted_cdf)
bool interactive_mode() const
static float2 sample_disk(const float2 &rand)
float2 rng_2d_get(eSamplingDimension starting_dimension) const
uint64_t dof_ring_count_get() const
void dof_disk_sample_get(float *r_radius, float *r_theta) const
uint64_t sample_count() const
uint64_t dof_sample_count_get() const
Sampling(Instance &inst, ClampData &clamp_data)
static float2 sample_spiral(const float2 &rand)
static void cdf_from_curvemapping(const CurveMapping &curve, Vector< float > &cdf)
static float3 sample_hemisphere(const float2 &rand)
bool do_render_sync() const
static float3 sample_ball(const float3 &rand)
#define SAMPLING_BUF_SLOT
unsigned __int64 uint64_t
float dimensions[SAMPLING_DIMENSION_COUNT]