亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? realtimebenchmark.java

?? Sunflow是一個照片級的渲染系統(tǒng)
?? JAVA
字號:
package org.sunflow;

import org.sunflow.core.Display;
import org.sunflow.core.Tesselatable;
import org.sunflow.core.camera.PinholeLens;
import org.sunflow.core.display.FastDisplay;
import org.sunflow.core.display.FileDisplay;
import org.sunflow.core.light.DirectionalSpotlight;
import org.sunflow.core.primitive.Plane;
import org.sunflow.core.shader.DiffuseShader;
import org.sunflow.core.shader.ShinyDiffuseShader;
import org.sunflow.core.tesselatable.Gumbo;
import org.sunflow.core.tesselatable.Teapot;
import org.sunflow.image.Color;
import org.sunflow.math.Matrix4;
import org.sunflow.math.Point3;
import org.sunflow.math.Vector3;
import org.sunflow.system.Timer;
import org.sunflow.system.UI;
import org.sunflow.system.UI.Module;
import org.sunflow.system.ui.ConsoleInterface;

public class RealtimeBenchmark extends SunflowAPI {
    public RealtimeBenchmark(boolean showGUI, int threads) {
        Display display = showGUI ? new FastDisplay() : new FileDisplay(false);
        UI.printInfo(Module.BENCH, "Preparing benchmarking scene ...");
        // settings
        parameter("threads", threads);
        // spawn regular priority threads
        parameter("threads.lowPriority", false);
        parameter("resolutionX", 512);
        parameter("resolutionY", 512);
        parameter("aa.min", -3);
        parameter("aa.max", 0);
        parameter("depths.diffuse", 1);
        parameter("depths.reflection", 1);
        parameter("depths.refraction", 0);
        parameter("bucket.order", "hilbert");
        parameter("bucket.size", 32);
        options(SunflowAPI.DEFAULT_OPTIONS);
        // camera
        Point3 eye = new Point3(30, 0, 10.967f);
        Point3 target = new Point3(0, 0, 5.4f);
        Vector3 up = new Vector3(0, 0, 1);
        parameter("eye", eye);
        parameter("target", target);
        parameter("up", up);
        parameter("fov", 45.0f);
        String name = getUniqueName("camera");
        camera(name, new PinholeLens());
        parameter("camera", name);
        options(SunflowAPI.DEFAULT_OPTIONS);
        // geometry
        createGeometry();
        // this first render is not timed, it caches the acceleration data
        // structures and tesselations so they won't be
        // included in the main timing
        UI.printInfo(Module.BENCH, "Rendering warmup frame ...");
        render(SunflowAPI.DEFAULT_OPTIONS, display);
        // now disable all output - and run the benchmark
        UI.set(null);
        Timer t = new Timer();
        t.start();
        float phi = 0;
        int frames = 0;
        while (phi < 4 * Math.PI) {
            eye.x = 30 * (float) Math.cos(phi);
            eye.y = 30 * (float) Math.sin(phi);
            phi += Math.PI / 30;
            frames++;
            // update camera
            parameter("eye", eye);
            parameter("target", target);
            parameter("up", up);
            camera(name, null);
            render(SunflowAPI.DEFAULT_OPTIONS, display);
        }
        t.end();
        UI.set(new ConsoleInterface());
        UI.printInfo(Module.BENCH, "Benchmark results:");
        UI.printInfo(Module.BENCH, "  * Average FPS:         %.2f", frames / t.seconds());
        UI.printInfo(Module.BENCH, "  * Total time:          %s", t);
    }

    private void createGeometry() {
        // light source
        parameter("source", new Point3(-15.5945f, -30.0581f, 45.967f));
        parameter("dir", new Vector3(15.5945f, 30.0581f, -45.967f));
        parameter("radius", 60.0f);
        parameter("radiance", Color.white().mul(3));
        light("light", new DirectionalSpotlight());

        // gi-engine
        parameter("gi.engine", "fake");
        parameter("gi.fake.sky", new Color(0.25f, 0.25f, 0.25f));
        parameter("gi.fake.ground", new Color(0.01f, 0.01f, 0.5f));
        parameter("gi.fake.up", new Vector3(0, 0, 1));
        options(DEFAULT_OPTIONS);

        // shaders
        parameter("diffuse", Color.white().mul(0.5f));
        shader("default", new DiffuseShader());
        parameter("diffuse", Color.white().mul(0.5f));
        parameter("shiny", 0.2f);
        shader("refl", new ShinyDiffuseShader());
        // objects

        // teapot
        parameter("subdivs", 10);
        geometry("teapot", (Tesselatable) new Teapot());
        parameter("shaders", "default");
        Matrix4 m = Matrix4.IDENTITY;
        m = Matrix4.scale(0.075f).multiply(m);
        m = Matrix4.rotateZ((float) Math.toRadians(-45f)).multiply(m);
        m = Matrix4.translation(-7, 0, 0).multiply(m);
        parameter("transform", m);
        instance("teapot.instance", "teapot");

        // gumbo
        parameter("subdivs", 10);
        geometry("gumbo", (Tesselatable) new Gumbo());
        m = Matrix4.IDENTITY;
        m = Matrix4.scale(0.5f).multiply(m);
        m = Matrix4.rotateZ((float) Math.toRadians(25f)).multiply(m);
        m = Matrix4.translation(3, -7, 0).multiply(m);
        parameter("shaders", "default");
        parameter("transform", m);
        instance("gumbo.instance", "gumbo");

        // ground plane
        parameter("center", new Point3(0, 0, 0));
        parameter("normal", new Vector3(0, 0, 1));
        geometry("ground", new Plane());
        parameter("shaders", "refl");
        instance("ground.instance", "ground");
    }
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本欧美一区二区三区乱码| 99久久国产综合精品色伊| 激情深爱一区二区| 99re热这里只有精品视频| 欧美麻豆精品久久久久久| 中文字幕国产精品一区二区| 午夜精品成人在线视频| 成人亚洲精品久久久久软件| 4438亚洲最大| 亚洲一区二区视频| www.日韩av| 国产日韩欧美一区二区三区综合| 午夜精品福利一区二区三区蜜桃| 波多野结衣在线aⅴ中文字幕不卡| 中文字幕乱码一区二区免费| 免费三级欧美电影| 精品视频999| 一区二区三区在线观看网站| 国产69精品久久99不卡| 欧美电影免费观看高清完整版在 | 欧美久久久久久久久中文字幕| 国产精品色哟哟网站| 久草这里只有精品视频| 91精品中文字幕一区二区三区| 亚洲精品国产a| 色婷婷国产精品| 最新中文字幕一区二区三区| 国产精品亚洲专一区二区三区| 日韩欧美的一区| 蜜臀久久99精品久久久画质超高清| 欧美图片一区二区三区| 亚洲精品乱码久久久久| 91蜜桃传媒精品久久久一区二区| 中文字幕av一区二区三区免费看| 国产91高潮流白浆在线麻豆| 久久久蜜桃精品| 成人中文字幕在线| 中文字幕亚洲精品在线观看| 成人国产精品免费观看| 亚洲天堂成人网| 在线观看一区不卡| 五月婷婷激情综合| 日韩一区二区免费在线电影| 久久综合综合久久综合| 久久亚洲综合色| av亚洲精华国产精华| 亚洲免费电影在线| 欧美日韩综合色| 麻豆91在线观看| 日本一区二区成人在线| 一本色道久久综合精品竹菊| 一区二区三区日韩精品| 欧美性色欧美a在线播放| 亚洲成人动漫精品| 久久影音资源网| 91美女片黄在线| 日本午夜一区二区| 欧美国产精品v| 欧美日韩一区中文字幕| 久久精品噜噜噜成人av农村| 国产欧美日韩综合| 欧美色倩网站大全免费| 久久国产精品露脸对白| 国产精品久久久久婷婷| 欧美午夜影院一区| 国产精品一二二区| 亚洲一区二区三区视频在线播放 | 欧美精品一级二级| 国精品**一区二区三区在线蜜桃| 欧美韩国日本一区| 欧美日韩国产综合一区二区| 久久电影网站中文字幕| 国产精品动漫网站| 亚洲同性同志一二三专区| 欧美人动与zoxxxx乱| 国产真实乱偷精品视频免| 亚洲欧美国产毛片在线| 日韩欧美卡一卡二| 日本二三区不卡| 国产一区二区在线影院| 亚洲小说春色综合另类电影| 欧美精品一区二区三区视频| 色94色欧美sute亚洲线路一久| 麻豆精品一区二区三区| 一区二区三区中文字幕电影| 亚洲精品在线三区| 欧美婷婷六月丁香综合色| 成人综合婷婷国产精品久久 | 国产成人一级电影| 亚洲va国产天堂va久久en| 中文字幕不卡一区| 久久综合狠狠综合久久综合88| 在线中文字幕一区二区| 国产精品一二三| 捆绑调教一区二区三区| 午夜成人免费视频| 一区二区三区波多野结衣在线观看| 久久婷婷久久一区二区三区| 欧美日韩国产精选| 欧美在线免费观看视频| 99久久99久久精品免费观看 | 水蜜桃久久夜色精品一区的特点| 国产精品久久久久久亚洲毛片| 日韩美女主播在线视频一区二区三区| 欧美在线观看视频一区二区| av中文字幕亚洲| 国产不卡一区视频| 国产一区二区在线免费观看| 青椒成人免费视频| 奇米影视在线99精品| 丝瓜av网站精品一区二区| 亚洲国产人成综合网站| 一区二区激情小说| 亚洲一区二区3| 亚洲自拍偷拍网站| 亚洲一区二区精品久久av| 亚洲色图在线播放| 一区二区三区四区在线播放 | 国产亚洲一本大道中文在线| 欧美一区二区三区在线电影| 欧美亚洲国产一区在线观看网站| 4438成人网| 欧美精品视频www在线观看| 极品少妇xxxx精品少妇偷拍| 日日夜夜精品视频天天综合网| 五月婷婷久久丁香| 麻豆国产欧美一区二区三区| 蜜桃精品在线观看| 国产麻豆精品在线观看| 国产曰批免费观看久久久| 国产精品白丝jk白祙喷水网站| 成人三级伦理片| 91一区二区三区在线观看| 日本电影欧美片| 91麻豆精品91久久久久久清纯| 精品美女在线播放| 中文字幕的久久| 国产一区999| 99天天综合性| 欧美亚洲日本国产| 精品日韩欧美在线| 中文字幕第一区| 亚洲自拍偷拍网站| 狠狠狠色丁香婷婷综合激情| 国产91在线|亚洲| 欧美三级视频在线观看| 精品精品欲导航| 国产精品国产精品国产专区不片 | 蜜桃传媒麻豆第一区在线观看| 国产乱子伦视频一区二区三区| av资源站一区| 日韩一级欧美一级| 亚洲色图在线播放| 久久国产精品免费| 色一情一乱一乱一91av| 日韩免费高清视频| 亚洲免费资源在线播放| 美女mm1313爽爽久久久蜜臀| 波多野结衣在线一区| 欧美二区三区91| 国产精品久久久久影院色老大| 亚洲mv在线观看| www.亚洲精品| 2020国产精品| 偷窥少妇高潮呻吟av久久免费| 国产suv精品一区二区883| 欧美日韩电影在线播放| 国产精品视频观看| 精品一区二区三区久久| 91传媒视频在线播放| 日本一区二区三区久久久久久久久不 | 麻豆视频一区二区| 色婷婷亚洲一区二区三区| 精品捆绑美女sm三区| 亚洲在线一区二区三区| 成人性视频网站| 日韩欧美专区在线| 性欧美疯狂xxxxbbbb| 91欧美激情一区二区三区成人| 欧美一级xxx| 亚洲第一激情av| 91亚洲国产成人精品一区二三| 久久久久久久久久美女| 日韩精品三区四区| 欧美私模裸体表演在线观看| 欧美高清一级片在线观看| 国产在线精品免费| 日韩欧美国产精品一区| 亚洲123区在线观看| 欧美精品一区二区三区蜜桃| 午夜av一区二区| 欧美日韩一级视频| 亚洲国产视频一区| 欧美影片第一页| 亚洲福利视频一区二区| 欧美综合欧美视频| 一区二区在线观看免费视频播放| www.欧美色图| 亚洲视频在线观看一区| 91丨porny丨户外露出|