Example #1
0
 public void init(string name, SunflowAPI api)
 {
     api.geometry(name, this);
     api.shader(name + ".shader", this);
     api.parameter("shaders", name + ".shader");
     api.instance(name + ".instance", name);
     for (int i = 0, j = 0; i < triangles.Length; i += 3, j++)
     {
         TriangleLight t     = new TriangleLight(j, this);
         string        lname = string.Format("%s.light[%d]", name, j);
         api.light(lname, t);
     }
 }
Example #2
0
 public void init(string name, SunflowAPI api)
 {
     api.geometry(name, this);
     api.shader(name + ".shader", this);
     api.parameter("shaders", name + ".shader");
     api.instance(name + ".instance", name);
     for (int i = 0, j = 0; i < triangles.Length; i += 3, j++)
     {
         TriangleLight t = new TriangleLight(j, this);
         string lname = string.Format("%s.light[%d]", name, j);
         api.light(lname, t);
     }
 }
Example #3
0
        private float CalcTriangleArea(TriangleLight lt)
        {
            Vector3 e0 = lt.v2 - lt.v1;
            Vector3 e1 = lt.v3 - lt.v1;

            return 0.5f * Vector3.Cross(ref e0, ref e1).Length();
        }