Advertisement
Guest User

Untitled

a guest
May 24th, 2015
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.00 KB | None | 0 0
  1. package trab2cg;
  2.  
  3. import java.awt.FlowLayout;
  4.  
  5. import javax.swing.JFrame;
  6. import javax.swing.JPanel;
  7.  
  8. import org.jtrace.Material;
  9. import org.jtrace.Scene;
  10. import org.jtrace.Tracer;
  11. import org.jtrace.ViewPlane;
  12. import org.jtrace.cameras.Camera;
  13. import org.jtrace.cameras.PinHoleCamera;
  14. import org.jtrace.geometry.Plane;
  15. import org.jtrace.geometry.Sphere;
  16. import org.jtrace.lights.Light;
  17. import org.jtrace.lights.PointLight;
  18. import org.jtrace.primitives.ColorRGB;
  19. import org.jtrace.primitives.Point3D;
  20. import org.jtrace.primitives.ReflectanceCoefficient;
  21. import org.jtrace.primitives.Vector3D;
  22. import org.jtrace.shader.Shaders;
  23. import org.jtrace.swing.TracerPanel;
  24.  
  25. public class Main {
  26.  
  27.     public static void main(String[] args) {
  28.             Scene cena = new Scene();
  29.             Camera camera = new PinHoleCamera(new Point3D(0, 0, -20), Point3D.ORIGIN, Vector3D.UNIT_Y);
  30.             ReflectanceCoefficient kAmbient = new ReflectanceCoefficient(0.5, 0.5, 0.5);
  31.             ReflectanceCoefficient kDiffuse = new ReflectanceCoefficient(1, 1, 1);
  32.             Light light = new PointLight(-20, 20, -20);
  33.             Material materialPlane = new Material(ColorRGB.YELLOW, kAmbient, kDiffuse);
  34.             Material materialBall = new Material(ColorRGB.GREEN, kAmbient, kDiffuse);
  35.             Plane plane = new Plane(new Point3D(0, -20, 0),Vector3D.UNIT_Y.multiply(-1), materialPlane);
  36.             Sphere ball = new Sphere(new Point3D(0, 10, 0), 5, materialBall);
  37.             camera.setZoomFactor(5);
  38.             cena.add(ball, plane);
  39.             cena.add(light);
  40.             cena.setCamera(camera);
  41.            
  42.             JFrame frame = new JFrame();
  43.             frame.setSize(700, 650);
  44.             frame.setName("Trab2 CG");
  45.             frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  46.            
  47.             JPanel mainPanel = new JPanel(new FlowLayout(FlowLayout.CENTER,10,10));
  48.             Tracer tracer = new Tracer();
  49.             tracer.addShaders(Shaders.ambientShader(),Shaders.diffuseShader());
  50.             TracerPanel tracerPanel = new TracerPanel(tracer, cena, new ViewPlane(500,500),500,500);
  51.             mainPanel.add(tracerPanel);
  52.             frame.add(mainPanel);
  53.             frame.setVisible(true);
  54.    
  55.     }
  56.  
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement