void Stage::render(const Color* clearColor, const Rect& viewport, const Matrix& view, const Matrix& proj) { Material::setCurrent(0); IVideoDriver* driver = IVideoDriver::instance; driver->setViewport(viewport); if (clearColor) driver->clear(*clearColor); STDMaterial& mat = *STDMaterial::instance; mat.apply(0); Matrix vp = view * proj; mat.setViewProj(vp); timeMS t = getTimeMS(); RenderState rs; rs.material = _material; Point ds = core::getDisplaySize(); RectF clip(0.0f, 0.0f, (float)ds.x, (float)ds.y); rs.clip = &clip; if (_clipOuter) { driver->setScissorRect(&_viewport); clip = _viewport.cast<RectF>(); } Actor::render(rs); mat.finish(); }