diff options
-rw-r--r-- | intern/cycles/kernel/sample/sample_lcg.h | 51 | ||||
-rw-r--r-- | intern/cycles/kernel/sample/sample_mis.h | 64 |
2 files changed, 0 insertions, 115 deletions
diff --git a/intern/cycles/kernel/sample/sample_lcg.h b/intern/cycles/kernel/sample/sample_lcg.h deleted file mode 100644 index 92cfff639b4..00000000000 --- a/intern/cycles/kernel/sample/sample_lcg.h +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Copyright 2011-2013 Blender Foundation - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#pragma once - -CCL_NAMESPACE_BEGIN - -/* Linear Congruential Generator */ - -ccl_device uint lcg_step_uint(uint *rng) -{ - /* implicit mod 2^32 */ - *rng = (1103515245 * (*rng) + 12345); - return *rng; -} - -ccl_device float lcg_step_float(uint *rng) -{ - /* implicit mod 2^32 */ - *rng = (1103515245 * (*rng) + 12345); - return (float)*rng * (1.0f / (float)0xFFFFFFFF); -} - -ccl_device uint lcg_init(uint seed) -{ - uint rng = seed; - lcg_step_uint(&rng); - return rng; -} - -ccl_device_inline uint lcg_state_init(const uint rng_hash, - const uint rng_offset, - const uint sample, - const uint scramble) -{ - return lcg_init(rng_hash + rng_offset + sample * scramble); -} - -CCL_NAMESPACE_END diff --git a/intern/cycles/kernel/sample/sample_mis.h b/intern/cycles/kernel/sample/sample_mis.h deleted file mode 100644 index 0878b3aac36..00000000000 --- a/intern/cycles/kernel/sample/sample_mis.h +++ /dev/null @@ -1,64 +0,0 @@ -/* - * Parts adapted from Open Shading Language with this license: - * - * Copyright (c) 2009-2010 Sony Pictures Imageworks Inc., et al. - * All Rights Reserved. - * - * Modifications Copyright 2011, Blender Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are - * met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of Sony Pictures Imageworks nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#pragma once - -CCL_NAMESPACE_BEGIN - -/* Multiple importance sampling utilities. */ - -ccl_device float balance_heuristic(float a, float b) -{ - return (a) / (a + b); -} - -ccl_device float balance_heuristic_3(float a, float b, float c) -{ - return (a) / (a + b + c); -} - -ccl_device float power_heuristic(float a, float b) -{ - return (a * a) / (a * a + b * b); -} - -ccl_device float power_heuristic_3(float a, float b, float c) -{ - return (a * a) / (a * a + b * b + c * c); -} - -ccl_device float max_heuristic(float a, float b) -{ - return (a > b) ? 1.0f : 0.0f; -} - -CCL_NAMESPACE_END |