子节点的位置与父节点位置的关系
来源:互联网 发布:淘宝平台费用是多少 编辑:程序博客网 时间:2024/06/05 01:14
子节点的位置与父节点位置的关系
当父节点旋转时,子节点旋转,父节点缩放时,子节点缩放。其实里面的计算原理很简单,就是父节点矩阵乘以子节点矩阵得到最终矩阵。
相关代码如下:
Mat4 Node::getNodeToParentTransform(){updateMatrix();return _model;}Mat4 Node::transform(const Mat4& parentTransform){Mat4 ret = this->getNodeToParentTransform();ret = parentTransform * ret;return ret;}
void Engine::drawScene(){glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);//生成渲染指令if(_SceneManager.size() > 0){Scene * scene = _SceneManager.back();scene->visit(Mat4(1.f));}//优化渲染队列Renderer::getInstance()->visit();//渲染到屏幕Renderer::getInstance()->renderBatch();if(_glView)_glView->swapBuffers();}
void Node::visit(const Mat4& parentMat4){int i = 0;if(!_children.empty()){sortAllChildren();// draw children zOrder < 0for(i = 0 ; i < _children.size(); i++ ){auto node = _children.at(i);if ( node && node->getZOrder() < 0 )node->visit(this->transform(parentMat4));elsebreak;}// self drawthis->render(parentMat4);for(auto it=_children.cbegin()+i; it != _children.cend(); ++it)(*it)->visit(this->transform(parentMat4));}else{this->render(parentMat4);}}
void Sprite::render(const Mat4& parentMat4){//updateMatrix();updateColor();_quadCommand.init(&_quad,_textureID,1,_blendFunc,this->transform(parentMat4));Renderer::getInstance()->addQuadCommand(&_quadCommand);}
0 0
- 子节点的位置与父节点位置的关系
- cocostudio子节点位置偏差的问题
- ztree 的 父节点与子节点的关系
- d-heap的子节点与父节点关系
- 子节点相对于父节点位置(Amrature和Sprite的不同)
- 通过节点的层次关系获取节点对象(父节点,子节点,兄弟节点)
- 获取当前节点位于父节点的位置
- 2D游戏获得子节点的最小最大位置
- visjs关系图-双击折叠展开子节点(隐藏显示子节点)以及位置自定义
- c# winform中treeview判断父节点与子节点的关系
- 返回节点位置的二分查找算法
- SpriteBuilder中节点的%位置移动
- 交换链表中相邻节点的位置
- 一些告诉我们节点在节点树上位置的属性
- mx:Tree改变父节点与子节点的样式
- [XSL技巧]获得上一层节点(父节点)的位置
- 父节点获取子节点的字符串
- DOM获取节点的兄弟,父节点,子节点
- GlusterFS数据恢复机制AFR
- 贝叶斯网络
- 哈夫曼树,及哈夫曼编码的构造
- hdu3401_分析降维_队列优化
- Indicator for Network Status
- 子节点的位置与父节点位置的关系
- JQuery处理json 与 ajax返回JSON实例
- CoAP协议及开源实现
- JBOSS安装配置详细教程
- memcache学习笔记
- php使用socket获取远程图片
- Java Socket编程
- ActionBar和DrawerLayout纯原生控件,实现侧滑栏和滑动Tab界面
- 工作一年辞职了,开启创业之路