예제 #1
0
파일: Vec.cs 프로젝트: jorik041/rt
 public Vec Cross(Vec b)
 {
     return new Vec (
         Y*b.Z - Z*b.Y,
         Z*b.X - X*b.Z,
         X*b.Y - Y*b.X
     );
 }
예제 #2
0
파일: Vec.cs 프로젝트: jorik041/rt
 public Vec NormalTo(Vec dest)
 {
     var v = dest - this;
     v.Normalize ();
     return v;
 }
예제 #3
0
파일: Vec.cs 프로젝트: jorik041/rt
 public Ray(Vec orig, Vec dir)
 {
     Origin = orig;
     Direction = dir;
 }
예제 #4
0
파일: Vec.cs 프로젝트: jorik041/rt
 public Prec Dot(Vec b)
 {
     return X * b.X + Y * b.Y + Z * b.Z;
 }
예제 #5
0
파일: Vec.cs 프로젝트: jorik041/rt
 public Vec Mult(Vec b)
 {
     return new Vec (
         X * b.X,
         Y * b.Y,
         Z * b.Z
     );
 }
예제 #6
0
 public override Vec GetNormal(Vec p)
 {
     return((p - Position).Norm);
 }
예제 #7
0
파일: PixelBuffer.cs 프로젝트: jorik041/rt
 public void PutPixel(int x, int y, Vec color)
 {
     Buffer [(Height - 1 - y)*Width + x] = color;
 }
예제 #8
0
 public abstract Vec GetNormal(Vec p);
예제 #9
0
 public Sphere(Prec radius, Vec position, Vec emission, Vec color, MaterialType mt)
     : base(emission, color, mt)
 {
     Radius   = radius;
     Position = position;
 }
예제 #10
0
 public SceneObject(Vec emission, Vec color, MaterialType mat)
 {
     Emission = emission;
     Color    = color;
     Material = mat;
 }
예제 #11
0
파일: Scene.cs 프로젝트: jorik041/rt
 public override Vec GetNormal(Vec p)
 {
     return (p - Position).Norm;
 }
예제 #12
0
파일: Scene.cs 프로젝트: jorik041/rt
 public Sphere(Prec radius, Vec position, Vec emission, Vec color, MaterialType mt)
     : base(emission, color, mt)
 {
     Radius = radius;
     Position = position;
 }
예제 #13
0
파일: Scene.cs 프로젝트: jorik041/rt
 public abstract Vec GetNormal(Vec p);
예제 #14
0
파일: Scene.cs 프로젝트: jorik041/rt
 public SceneObject(Vec emission, Vec color, MaterialType mat)
 {
     Emission = emission;
     Color = color;
     Material = mat;
 }