| 230 | } |
| 231 | |
| 232 | void GridBase::afterDraw(ax::Node* /*target*/) |
| 233 | { |
| 234 | // restore projection |
| 235 | Director* director = Director::getInstance(); |
| 236 | auto renderer = director->getRenderer(); |
| 237 | |
| 238 | //_afterDrawCommand.func = [=]() -> void { |
| 239 | // director->setProjection(_directorProjection); |
| 240 | // const auto& vp = Camera::getDefaultViewport(); |
| 241 | // renderer->setViewPort(vp.x, vp.y, vp.w, vp.h); |
| 242 | // renderer->setRenderTarget(_oldRenderTarget); |
| 243 | //}; |
| 244 | renderer->addCallbackCommand([director, renderer, this]() -> void { |
| 245 | director->setProjection(_directorProjection); |
| 246 | const auto& vp = Camera::getDefaultViewport(); |
| 247 | renderer->setViewPort(vp.x, vp.y, vp.width, vp.height); |
| 248 | renderer->setRenderTarget(_oldRenderTarget); |
| 249 | }); |
| 250 | |
| 251 | renderer->popGroup(); |
| 252 | |
| 253 | // if (target->getCamera()->isDirty()) |
| 254 | // { |
| 255 | // Vec2 offset = target->getAnchorPointInPoints(); |
| 256 | // |
| 257 | // // |
| 258 | // // FIXME: Camera should be applied in the AnchorPoint |
| 259 | // // |
| 260 | // kmGLTranslatef(offset.x, offset.y, 0); |
| 261 | // target->getCamera()->locate(); |
| 262 | // kmGLTranslatef(-offset.x, -offset.y, 0); |
| 263 | // } |
| 264 | |
| 265 | // restore projection for default FBO .fixed bug #543 #544 |
| 266 | // TODO: Director::getInstance()->setProjection(Director::getInstance()->getProjection()); |
| 267 | // TODO: Director::getInstance()->applyOrientation(); |
| 268 | //_beforeBlitCommand.func = [=]() -> void { beforeBlit(); }; |
| 269 | renderer->addCallbackCommand([this]() -> void { beforeBlit(); }); |
| 270 | |
| 271 | blit(); |
| 272 | |
| 273 | //_afterBlitCommand.func = [=]() -> void { afterBlit(); }; |
| 274 | renderer->addCallbackCommand([this]() -> void { afterBlit(); }); |
| 275 | } |
| 276 | |
| 277 | // implementation of Grid3D |
| 278 |
no test coverage detected