public void _CacheWorldBounds() { if (!_t) { _t = this.transform; } _worldBounds = SFRenderer._TransformRect(_t.localToWorldMatrix, _bounds); }
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)); }
public void _CacheWorldBounds() { var matrix = this._lightMatrix; _worldBounds = SFRenderer._TransformRect(_rt.localToWorldMatrix * matrix, new Rect(-1, -1, 2, 2)); }