1
0

Merging r6468 through r6486 from trunk to ogl-es branch

Also updating ES&ES2 interface to work with removal of IMaterialRendererServices::setBasicRenderStates


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6487 dfc29bdd-3216-0410-991c-e03cc46cb475
This commit is contained in:
cutealien
2023-05-05 19:28:40 +00:00
parent e4bb544079
commit 1670db617b
34 changed files with 700 additions and 433 deletions

View File

@@ -79,7 +79,7 @@ namespace scene
//! This method is called just before the rendering process of the whole scene.
/** Nodes may register themselves in the render pipeline during this call,
precalculate the geometry which should be rendered, and prevent their
pre-calculate the geometry which should be rendered, and prevent their
children from being able to register themselves if they are clipped by simply
not calling their OnRegisterSceneNode method.
If you are implementing your own scene node, you should overwrite this method
@@ -95,7 +95,7 @@ namespace scene
{
if (IsVisible)
{
ISceneNodeList::Iterator it = Children.begin();
ISceneNodeList::ConstIterator it = Children.begin();
for (; it != Children.end(); ++it)
(*it)->OnRegisterSceneNode();
}
@@ -114,7 +114,7 @@ namespace scene
{
// animate this node with all animators
ISceneNodeAnimatorList::Iterator ait = Animators.begin();
ISceneNodeAnimatorList::ConstIterator ait = Animators.begin();
while (ait != Animators.end())
{
// continue to the next node before calling animateNode()
@@ -133,7 +133,7 @@ namespace scene
// perform the post render process on all children
ISceneNodeList::Iterator it = Children.begin();
ISceneNodeList::ConstIterator it = Children.begin();
for (; it != Children.end(); ++it)
(*it)->OnAnimate(timeMs);
}
@@ -543,7 +543,7 @@ namespace scene
//! Set a culling style or disable culling completely.
/** Box cullling (EAC_BOX) is set by default. Note that not
/** Box culling (EAC_BOX) is set by default. Note that not
all SceneNodes support culling and that some nodes always cull
their geometry because it is their only reason for existence,
for example the OctreeSceneNode.
@@ -682,16 +682,24 @@ namespace scene
{
if (Parent)
{
if ( AbsPosUpdateBehavior == ESNUA_TRANSFORM_MATRIX )
switch ( AbsPosUpdateBehavior )
{
case ESNUA_TRANSFORM_MATRIX:
{
AbsoluteTransformation =
Parent->getAbsoluteTransformation() * getRelativeTransformation();
}
else if ( AbsPosUpdateBehavior == ESNUA_TRANSFORM_POSITION )
break;
case ESNUA_TRANSFORM_POSITION:
{
AbsoluteTransformation = getRelativeTransformation();
Parent->getAbsoluteTransformation().transformVect(reinterpret_cast<irr::core::vector3df&>(AbsoluteTransformation[12]));
}
break;
case ESNUA_RELATIVE:
AbsoluteTransformation = getRelativeTransformation();
break;
}
}
else
AbsoluteTransformation = getRelativeTransformation();
@@ -821,7 +829,7 @@ namespace scene
// clone children
ISceneNodeList::Iterator it = toCopyFrom->Children.begin();
ISceneNodeList::ConstIterator it = toCopyFrom->Children.begin();
for (; it != toCopyFrom->Children.end(); ++it)
(*it)->clone(this, newManager);