Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package trab2cg;
- import java.awt.FlowLayout;
- import javax.swing.JFrame;
- import javax.swing.JPanel;
- import org.jtrace.Material;
- import org.jtrace.Scene;
- import org.jtrace.Tracer;
- import org.jtrace.ViewPlane;
- import org.jtrace.cameras.Camera;
- import org.jtrace.cameras.PinHoleCamera;
- import org.jtrace.geometry.Plane;
- import org.jtrace.geometry.Sphere;
- import org.jtrace.lights.Light;
- import org.jtrace.lights.PointLight;
- import org.jtrace.primitives.ColorRGB;
- import org.jtrace.primitives.Point3D;
- import org.jtrace.primitives.ReflectanceCoefficient;
- import org.jtrace.primitives.Vector3D;
- import org.jtrace.shader.Shaders;
- import org.jtrace.swing.TracerPanel;
- public class Main {
- public static void main(String[] args) {
- Scene cena = new Scene();
- Camera camera = new PinHoleCamera(new Point3D(0, 0, -20), Point3D.ORIGIN, Vector3D.UNIT_Y);
- ReflectanceCoefficient kAmbient = new ReflectanceCoefficient(0.5, 0.5, 0.5);
- ReflectanceCoefficient kDiffuse = new ReflectanceCoefficient(1, 1, 1);
- Light light = new PointLight(-20, 20, -20);
- Material materialPlane = new Material(ColorRGB.YELLOW, kAmbient, kDiffuse);
- Material materialBall = new Material(ColorRGB.GREEN, kAmbient, kDiffuse);
- Plane plane = new Plane(new Point3D(0, -20, 0),Vector3D.UNIT_Y.multiply(-1), materialPlane);
- Sphere ball = new Sphere(new Point3D(0, 10, 0), 5, materialBall);
- camera.setZoomFactor(5);
- cena.add(ball, plane);
- cena.add(light);
- cena.setCamera(camera);
- JFrame frame = new JFrame();
- frame.setSize(700, 650);
- frame.setName("Trab2 CG");
- frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- JPanel mainPanel = new JPanel(new FlowLayout(FlowLayout.CENTER,10,10));
- Tracer tracer = new Tracer();
- tracer.addShaders(Shaders.ambientShader(),Shaders.diffuseShader());
- TracerPanel tracerPanel = new TracerPanel(tracer, cena, new ViewPlane(500,500),500,500);
- mainPanel.add(tracerPanel);
- frame.add(mainPanel);
- frame.setVisible(true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement