⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 accelerationstructurefactory.java

📁 Sunflow是一个照片级的渲染系统
💻 JAVA
字号:
package org.sunflow.core;

import org.sunflow.core.accel.BoundingIntervalHierarchy;
import org.sunflow.core.accel.KDTree;
import org.sunflow.core.accel.NullAccelerator;
import org.sunflow.core.accel.UniformGrid;
import org.sunflow.system.UI;
import org.sunflow.system.UI.Module;

class AccelerationStructureFactory {
    static final AccelerationStructure create(String name, int n, boolean primitives) {
        if (name == null || name.equals("auto")) {
            if (primitives) {
                if (n > 20000000)
                    return new UniformGrid();
                else if (n > 2000000)
                    return new BoundingIntervalHierarchy();
                else if (n > 2)
                    return new KDTree();
                else
                    return new NullAccelerator();
            } else {
                if (n > 2)
                    return new BoundingIntervalHierarchy();
                else
                    return new NullAccelerator();
            }
        } else if (name.equals("uniformgrid"))
            return new UniformGrid();
        else if (name.equals("null"))
            return new NullAccelerator();
        else if (name.equals("kdtree"))
            return new KDTree();
        else if (name.equals("bih"))
            return new BoundingIntervalHierarchy();
        else {
            UI.printWarning(Module.ACCEL, "Unrecognized intersection accelerator \"%s\" - using auto", name);
            return create(null, n, primitives);
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -