Package jray.ray.tracer

Examples of jray.ray.tracer.BackwardRayTracer


     * Gets the RayTraceLogic for the current thread.
     * @return the RayTraceLogic for the current thread.
     */
    private BackwardRayTracer getLogic() {
        Thread me = Thread.currentThread();
        BackwardRayTracer ret = logics.get(me);

        if (ret == null) {//create one if it does not already exist
            ret = new BackwardRayTracerHQ(scene);
            logics.put(me, ret);
        }
View Full Code Here


        int to = slotHeight * (id + 1);
        if (id == splitCount - 1) {
            to = heightPx;
        }

        BackwardRayTracer logic = getLogic();
        Vect3 rayDirection = new Vect3();
        Camera camera = scene.getCamera();

        Ray ray = new Ray(new Vect3(camera.getPosition()), rayDirection);

        Vect3 vertAdd = new Vect3(camera.getViewPaneHeightVector());
        Vect.scale(vertAdd, 1.0 / (heightPx - 1), vertAdd);
        Vect3 horzAdd = new Vect3(camera.getViewPaneWidthVector());
        Vect.scale(horzAdd, 1.0 / (widthPx - 1), horzAdd);

        for (int i = from; i < to; i++) {
            for (int j = 0; j < widthPx; j++) {
             
              Vect.subtract(camera.getViewPaneEdge(), ray.getOrigin(), rayDirection);
              Vect.addMultiple(rayDirection, vertAdd, i, rayDirection);
              Vect.addMultiple(rayDirection, horzAdd, j, rayDirection);
               
                rayDirection.normalize();

                long color = logic.shoot(ray);

                lbuf[i * widthPx + j] = color;
            }
        }
    }
View Full Code Here

TOP

Related Classes of jray.ray.tracer.BackwardRayTracer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.