Esempio n. 1
0
 public void _CacheWorldBounds()
 {
     if (!_t)
     {
         _t = this.transform;
     }
     _worldBounds = SFRenderer._TransformRect(_t.localToWorldMatrix, _bounds);
 }
Esempio n. 2
0
    public Rect _CalcCullBounds(Matrix4x4 vpMatrix)
    {
        var lightMatrix = _ModelMatrix(true);
        var mvp = vpMatrix*lightMatrix;
        var area = new Rect(-_radius, -_radius, 2.0f*_radius, 2.0f*_radius);
        var bounds = _rt.rect;

        var cull = area;
        cull = QuadrantCull(cull, mvp, Rect.MinMaxRect(bounds.xMin, bounds.yMin, area.xMax, area.yMax));
        cull = QuadrantCull(cull, mvp, Rect.MinMaxRect(area.xMin, bounds.yMin, bounds.xMax, area.yMax));
        cull = QuadrantCull(cull, mvp, Rect.MinMaxRect(bounds.xMin, area.yMin, area.xMax, bounds.yMax));
        cull = QuadrantCull(cull, mvp, Rect.MinMaxRect(area.xMin, area.yMin, bounds.xMax, bounds.yMax));
        return (_cullBounds = SFRenderer._TransformRect(lightMatrix, cull));
    }
Esempio n. 3
0
    public void _CacheWorldBounds()
    {
        var matrix = this._lightMatrix;

        _worldBounds = SFRenderer._TransformRect(_rt.localToWorldMatrix * matrix, new Rect(-1, -1, 2, 2));
    }