示例#1
0
    private void Working()
    {
        RTMath.ThreadInitRnd();

        for (int i = 0; i < pIndex; ++i)
        {
            if (IsDestroied)
            {
                return;
            }

            Item  item  = items[i];
            Color color = Color.black;
            for (int s = 0; s < numSamples; ++s)
            {
                float u   = (item.i + RTMath.Rnd01()) / canvasWidth;
                float v   = (item.j + RTMath.Rnd01()) / canvasHeight;
                RTRay ray = cam.GetRay(u, v);
                color += renderer.GetColor(ray, 0);
            }
            color          /= numSamples;
            item.finalColor = color;
            items[i]        = item;
        }

        status = STATUS_COMPLETE;
    }
示例#2
0
 protected virtual void Awake()
 {
     RTMath.ThreadInitRnd();
 }
示例#3
0
    protected virtual void Awake()
    {
        RTMath.ThreadInitRnd();

        ppmTexture = new PPMTexture();
    }