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;
	}
Beispiel #2
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;
    }