Add option to allow nodes to ignore the scale/rotation parts of their parents transformation.

ISceneNode::setUpdateAbsolutePosBehavior can now control what ISceneNode::updateAbsolutePosition really does.
Having only the position and not the rotation/scale of a child node affected by the parent transformation was previously impossible inside the scene-graph. So people always had to break the scene-graph and code it themselves.
Old behaviour is default. 
Extra check for new variable has a small cost, thought new behaviour can actually be faster when it's used.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6432 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
cutealien
2022-09-29 16:34:37 +00:00
parent 91f281229b
commit b627ce805d
8 changed files with 82 additions and 10 deletions

View File

@ -846,6 +846,7 @@
<ClInclude Include="..\..\include\EMaterialTypes.h" />
<ClInclude Include="..\..\include\EMeshBufferTypes.h" />
<ClInclude Include="..\..\include\EReadFileType.h" />
<ClInclude Include="..\..\include\ESceneNodeUpdateAbs.h" />
<ClInclude Include="..\..\include\EShaderTypes.h" />
<ClInclude Include="..\..\include\fast_atof.h" />
<ClInclude Include="..\..\include\IAnimatedMeshMD3.h" />

View File

@ -1441,6 +1441,9 @@
<ClInclude Include="..\..\include\EMeshBufferTypes.h">
<Filter>include\scene</Filter>
</ClInclude>
<ClInclude Include="..\..\include\ESceneNodeUpdateAbs.h">
<Filter>include\scene</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\changes.txt">