void generate(const Point2i &) { for (size_t i=0; i<m_maxDimension; ++i) { generate1D(m_samples1D[i], m_sampleCount); generate2D(m_samples2D[i], m_sampleCount); } for (size_t i=0; i<m_req1D.size(); i++) generate1D(m_sampleArrays1D[i], m_sampleCount * m_req1D[i]); for (size_t i=0; i<m_req2D.size(); i++) generate2D(m_sampleArrays2D[i], m_sampleCount * m_req2D[i]); m_sampleIndex = 0; m_dimension1D = m_dimension2D = 0; m_dimension1DArray = m_dimension2DArray = 0; }
/// Generate all samples void generate(const Point2i &) { Float radius1D = 1./(Float)m_sampleCount; Float radius2D = 1./sqrt((Float)m_sampleCount); for (size_t i = 0; i < m_maxDimension; i++) { generate1D(m_samples1D[i], m_sampleCount, radius1D); generate2D(m_samples2D[i], m_sampleCount, radius2D); } m_dimension1D = m_dimension2D = 0; for (size_t i = 0; i < m_req1D.size(); i++) generate1D(m_sampleArrays1D[i], m_sampleCount*m_req1D[i], 1./(Float)(m_sampleCount*m_req1D[i])); for (size_t i = 0; i < m_req2D.size(); i++) generate2D(m_sampleArrays2D[i], m_sampleCount*m_req2D[i], 1./sqrt((Float)m_sampleCount*m_req2D[i])); m_sampleIndex = 0; m_dimension1DArray = m_dimension2DArray = 0; }