- Merged revision 5195-5197 from trunk.

Following features are still unavailable in ogl-es branch since rev 5181:
* OpenGL ES1
* Support for iOS
* Support for OSX
(If you need one of those features please use rev 5180)

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@5198 dfc29bdd-3216-0410-991c-e03cc46cb475
master
nadro 2015-11-28 23:18:00 +00:00
parent 4d03349573
commit 58cba0b3c6
35 changed files with 191 additions and 125 deletions

View File

@ -8,6 +8,7 @@ Changes in ogl-es (not yet released - will be merged with trunk at some point)
--------------------------
Changes in 1.9 (not yet released)
- Fix: Add missing serialization to CSceneNodeAnimatorCameraFPS and CSceneNodeAnimatorCameraMaya
- Fix: File-open dialog now restores the original locale after modifying it internally
- Fix first calculation of the camerascenenode boundingsphere.
- Fix bug with ignored opening brace in .X files with DeclData section. Thx @Alin for bugreport and patch.
@ -130,6 +131,7 @@ Changes in 1.9 (not yet released)
--------------------------
Changes in 1.8.4
- Fix serialization of the InputReceiverEnabled flag in CCameraSceneNode
- Fix pasting text from X11 applications to Irrlicht. Thanks @est31 for the patch.
- Tests give now a warning when stabilizing screenshots failed. Aslo trying more often now (a hack as taking screenshots otherwise fails often in windowed mode on some systems).

View File

@ -337,7 +337,7 @@ void CCameraSceneNode::deserializeAttributes(io::IAttributes* in, io::SAttribute
ZFar = in->getAttributeAsFloat("ZFar");
TargetAndRotationAreBound = in->getAttributeAsBool("Binding");
if ( in->findAttribute("ReceiveInput") )
InputReceiverEnabled = in->getAttributeAsBool("InputReceiverEnabled");
InputReceiverEnabled = in->getAttributeAsBool("ReceiveInput");
recalculateProjectionMatrix();
recalculateViewArea();

View File

@ -1660,7 +1660,7 @@ IImage* CNullDriver::createImage(ITexture* texture, const core::position2d<s32>&
if (!src)
return 0;
IImage* image = new CImage(texture->getColorFormat(), clamped.getSize());
u8* dst = static_cast<u8*>(image->lock());
u8* dst = static_cast<u8*>(image->getData());
src += clamped.UpperLeftCorner.Y * texture->getPitch() + image->getBytesPerPixel() * clamped.UpperLeftCorner.X;
for (u32 i=0; i<clamped.getHeight(); ++i)
{
@ -1668,7 +1668,6 @@ IImage* CNullDriver::createImage(ITexture* texture, const core::position2d<s32>&
src += texture->getPitch();
dst += image->getPitch();
}
image->unlock();
texture->unlock();
return image;
}

View File

@ -15,8 +15,10 @@
#elif defined(_IRR_COMPILE_WITH_ANDROID_DEVICE_)
#include <GLES2/gl2.h>
#include <GLES2/gl2ext.h>
#include <EGL/eglplatform.h>
#else
#include <GLES2/gl2.h>
#include <EGL/eglplatform.h>
typedef char GLchar;
#if defined(_IRR_OGLES2_USE_EXTPOINTER_)
#include "gles2-ext.h"

View File

@ -18,6 +18,8 @@
#include "COGLES2NormalMapRenderer.h"
#include "COGLES2ParallaxMapRenderer.h"
#include "COGLES2Renderer2D.h"
#include "EVertexAttributes.h"
#include "CImage.h"
#include "os.h"
#include "EProfileIDs.h"
@ -2580,10 +2582,9 @@ COGLES2Driver::~COGLES2Driver()
if (!newImage)
return 0;
u8* pixels = static_cast<u8*>(newImage->lock());
u8* pixels = static_cast<u8*>(newImage->getData());
if (!pixels)
{
newImage->unlock();
newImage->drop();
return 0;
}
@ -2605,8 +2606,6 @@ COGLES2Driver::~COGLES2Driver()
}
delete [] tmpBuffer;
newImage->unlock();
if (testGLError())
{
newImage->drop();

View File

@ -3,14 +3,13 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in Irrlicht.h
#include "IrrCompileConfig.h"
#include "COGLES2ExtensionHandler.h"
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "COGLES2ExtensionHandler.h"
#include "COGLES2Driver.h"
#include "fast_atof.h"
#include "irrString.h"
#include "SMaterial.h"
#include "fast_atof.h"
namespace irr
{

View File

@ -13,7 +13,9 @@
#include "EDriverFeatures.h"
#include "irrTypes.h"
#include "os.h"
#include "COGLES2Common.h"
#include "COGLCoreFeature.h"
namespace irr

View File

@ -2,11 +2,10 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in Irrlicht.h
#include "IrrCompileConfig.h"
#include "COGLES2FixedPipelineRenderer.h"
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "COGLES2FixedPipelineRenderer.h"
#include "IVideoDriver.h"
#include "SLight.h"

View File

@ -2,24 +2,21 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "IrrCompileConfig.h"
#include "COGLES2MaterialRenderer.h"
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "COGLES2Common.h"
#include "EVertexAttributes.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IVideoDriver.h"
#include "os.h"
#include "COGLES2Driver.h"
#include "COGLCoreTexture.h"
#include "COGLCoreCacheHandler.h"
#include "COGLES2MaterialRenderer.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IMaterialRendererServices.h"
#include "IVideoDriver.h"
#include "os.h"
#include "COGLES2Driver.h"
#include "COGLES2MaterialRenderer.h"
namespace irr
{
namespace video

View File

@ -9,23 +9,15 @@
#ifdef _IRR_COMPILE_WITH_OGLES2_
#if defined(_IRR_COMPILE_WITH_IPHONE_DEVICE_)
#include <OpenGLES/ES2/gl.h>
#include <OpenGLES/ES2/glext.h>
#else
#include <GLES2/gl2.h>
#include <EGL/eglplatform.h>
#endif
#include "EMaterialTypes.h"
#include "EVertexAttributes.h"
#include "IMaterialRenderer.h"
#include "IMaterialRendererServices.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "irrArray.h"
#include "irrString.h"
#include "COGLES2Common.h"
namespace irr
{
namespace video

View File

@ -2,13 +2,16 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "IrrCompileConfig.h"
#include "COGLES2NormalMapRenderer.h"
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "COGLES2NormalMapRenderer.h"
#include "IMaterialRendererServices.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IVideoDriver.h"
#include "SLight.h"
#include "os.h"
namespace irr
{

View File

@ -9,10 +9,10 @@
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "vector3d.h"
#include "SColor.h"
#include "IMaterialRenderer.h"
#include "IShaderConstantSetCallBack.h"
#include "IMaterialRendererServices.h"
#include "COGLES2Common.h"
namespace irr
{

View File

@ -2,14 +2,16 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "IrrCompileConfig.h"
#include "COGLES2ParallaxMapRenderer.h"
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "COGLES2ParallaxMapRenderer.h"
#include "IMaterialRendererServices.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IVideoDriver.h"
#include "SLight.h"
#include "irrMath.h"
#include "os.h"
namespace irr
{

View File

@ -9,10 +9,10 @@
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "vector3d.h"
#include "SColor.h"
#include "IMaterialRenderer.h"
#include "IShaderConstantSetCallBack.h"
#include "IMaterialRendererServices.h"
#include "COGLES2Common.h"
namespace irr
{

View File

@ -2,20 +2,19 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in Irrlicht.h
#include "IrrCompileConfig.h"
#include "COGLES2Renderer2D.h"
#ifdef _IRR_COMPILE_WITH_OGLES2_
#include "COGLES2Common.h"
#include "COGLCoreTexture.h"
#include "COGLCoreCacheHandler.h"
#include "COGLES2Renderer2D.h"
#include "IGPUProgrammingServices.h"
#include "os.h"
#include "COGLES2Driver.h"
#include "COGLCoreFeature.h"
#include "COGLCoreTexture.h"
#include "COGLCoreCacheHandler.h"
namespace irr
{
namespace video

View File

@ -10,6 +10,7 @@
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLCommon.h"
#include "COGLCoreFeature.h"
#include "COGLCoreTexture.h"
#include "COGLCoreCacheHandler.h"

View File

@ -169,8 +169,6 @@ typedef char GLchar;
#endif
#endif
// Irrlicht's OpenGL version.
#define IRR_OPENGL_VERSION 14

View File

@ -3,14 +3,12 @@
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "COpenGLDriver.h"
// needed here also because of the create methods' parameters
#include "CNullDriver.h"
#include "IContextManager.h"
#include "CNullDriver.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COGLCoreTexture.h"
#include "COGLCoreRenderTarget.h"
#include "os.h"
#include "COpenGLCacheHandler.h"
#include "COpenGLMaterialRenderer.h"
@ -18,13 +16,26 @@
#include "COpenGLSLMaterialRenderer.h"
#include "COpenGLNormalMapRenderer.h"
#include "COpenGLParallaxMapRenderer.h"
#include "os.h"
#include "IrrlichtDevice.h"
#include "COGLCoreTexture.h"
#include "COGLCoreRenderTarget.h"
#ifdef _IRR_COMPILE_WITH_OSX_DEVICE_
#include "MacOSX/CIrrDeviceMacOSX.h"
#endif
#ifdef _IRR_COMPILE_WITH_SDL_DEVICE_
#include <SDL/SDL.h>
#endif
#ifdef _IRR_COMPILE_WITH_OSX_DEVICE_
// If You use MacOSX SDK which support MacOSX 10.6 "__MAC_10_6" and
// custom XCode project for build Irrlicht make sure that
// COpenGLDriver.cpp is signed as "Objective-C++ Source"
// in "Identity and Type" section in XCode.
#include "MacOSX/CIrrDeviceMacOSX.h"
#endif
namespace irr
{
namespace video
@ -3942,7 +3953,7 @@ IImage* COpenGLDriver::createScreenShot(video::ECOLOR_FORMAT format, video::E_RE
u8* pixels = 0;
if (newImage)
pixels = static_cast<u8*>(newImage->lock());
pixels = static_cast<u8*>(newImage->getData());
if (pixels)
{
GLenum tgt=GL_FRONT;
@ -4001,7 +4012,6 @@ IImage* COpenGLDriver::createScreenShot(video::ECOLOR_FORMAT format, video::E_RE
if (newImage)
{
newImage->unlock();
if (testGLError() || !pixels)
{
os::Printer::log("createScreenShot failed", ELL_ERROR);

View File

@ -19,9 +19,9 @@ namespace irr
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "CNullDriver.h"
#include "IMaterialRendererServices.h"
#include "COpenGLCommon.h"
#include "CNullDriver.h"
#include "COpenGLExtensionHandler.h"
#include "IContextManager.h"

View File

@ -2,13 +2,12 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "IrrCompileConfig.h"
#include "COpenGLExtensionHandler.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLExtensionHandler.h"
#include "irrString.h"
#include "SMaterial.h" // for MATERIAL_MAX_TEXTURES
#include "SMaterial.h"
#include "fast_atof.h"
namespace irr

View File

@ -12,7 +12,9 @@
#include "EDriverFeatures.h"
#include "irrTypes.h"
#include "os.h"
#include "COpenGLCommon.h"
#include "COGLCoreFeature.h"
namespace irr

View File

@ -8,9 +8,10 @@
#include "IrrCompileConfig.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "IMaterialRenderer.h"
#include "COpenGLDriver.h"
#include "COpenGLCacheHandler.h"
#include "IMaterialRenderer.h"
namespace irr
{

View File

@ -2,14 +2,15 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "IrrCompileConfig.h"
#include "COpenGLNormalMapRenderer.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLNormalMapRenderer.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IVideoDriver.h"
#include "os.h"
#include "COpenGLDriver.h"
namespace irr

View File

@ -6,11 +6,13 @@
#define __C_OPENGL_NORMAL_MAP_RENDERER_H_INCLUDED__
#include "IrrCompileConfig.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLShaderMaterialRenderer.h"
#include "IShaderConstantSetCallBack.h"
#include "COpenGLShaderMaterialRenderer.h"
namespace irr
{
namespace video

View File

@ -2,16 +2,17 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "IrrCompileConfig.h"
#include "COpenGLParallaxMapRenderer.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLParallaxMapRenderer.h"
#include "COpenGLDriver.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IVideoDriver.h"
#include "os.h"
#include "COpenGLDriver.h"
namespace irr
{
namespace video

View File

@ -6,11 +6,13 @@
#define __C_OPENGL_PARALLAX_MAP_RENDERER_H_INCLUDED__
#include "IrrCompileConfig.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLShaderMaterialRenderer.h"
#include "IShaderConstantSetCallBack.h"
#include "COpenGLShaderMaterialRenderer.h"
namespace irr
{
namespace video

View File

@ -10,19 +10,22 @@
// After Irrlicht 0.12, Michael Zoech did some improvements to this renderer, I
// merged this into Irrlicht 0.14, thanks to him for his work.
#include "IrrCompileConfig.h"
#include "COpenGLSLMaterialRenderer.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLSLMaterialRenderer.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IMaterialRendererServices.h"
#include "IVideoDriver.h"
#include "os.h"
#include "COpenGLDriver.h"
#include "COpenGLCacheHandler.h"
#include "COpenGLMaterialRenderer.h"
#include "COGLCoreFeature.h"
namespace irr
{
namespace video

View File

@ -6,30 +6,9 @@
#define __C_OPENGL_SHADER_LANGUAGE_MATERIAL_RENDERER_H_INCLUDED__
#include "IrrCompileConfig.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#ifdef _IRR_WINDOWS_API_
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <GL/gl.h>
#include "glext.h"
#else
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
#define GL_GLEXT_LEGACY 1
#else
#define GL_GLEXT_PROTOTYPES 1
#endif
#if defined(_IRR_OSX_PLATFORM_)
#include <OpenGL/gl.h>
#else
#include <GL/gl.h>
#endif
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
#include "glext.h"
#endif
#endif
#include "EMaterialTypes.h"
#include "IMaterialRenderer.h"
#include "IMaterialRendererServices.h"
@ -37,6 +16,8 @@
#include "irrArray.h"
#include "irrString.h"
#include "COpenGLCommon.h"
namespace irr
{
namespace video

View File

@ -2,14 +2,15 @@
// This file is part of the "Irrlicht Engine".
// For conditions of distribution and use, see copyright notice in irrlicht.h
#include "IrrCompileConfig.h"
#include "COpenGLShaderMaterialRenderer.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#include "COpenGLShaderMaterialRenderer.h"
#include "IGPUProgrammingServices.h"
#include "IShaderConstantSetCallBack.h"
#include "IVideoDriver.h"
#include "os.h"
#include "COpenGLDriver.h"
#include "COpenGLCacheHandler.h"
#include "COpenGLMaterialRenderer.h"

View File

@ -6,29 +6,13 @@
#define __C_OPENGL_SHADER_MATERIAL_RENDERER_H_INCLUDED__
#include "IrrCompileConfig.h"
#ifdef _IRR_COMPILE_WITH_OPENGL_
#if defined(_IRR_OPENGL_USE_EXTPOINTER_)
#define GL_GLEXT_LEGACY 1
#else
#define GL_GLEXT_PROTOTYPES 1
#endif
#ifdef _IRR_WINDOWS_API_
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#include <GL/gl.h>
#elif defined(_IRR_OSX_PLATFORM_)
#include <OpenGL/gl.h>
#elif defined(_IRR_COMPILE_WITH_SDL_DEVICE_)
#define NO_SDL_GLEXT
#include <SDL/SDL_video.h>
#include <SDL/SDL_opengl.h>
#else
#include <GL/gl.h>
#endif
#include "IMaterialRenderer.h"
#include "COpenGLCommon.h"
namespace irr
{
namespace video

View File

@ -19,10 +19,10 @@ namespace scene
CSceneNodeAnimatorCameraFPS::CSceneNodeAnimatorCameraFPS(gui::ICursorControl* cursorControl,
f32 rotateSpeed, f32 moveSpeed, f32 jumpSpeed,
SKeyMap* keyMapArray, u32 keyMapSize, bool noVerticalMovement, bool invertY)
: CursorControl(cursorControl), MaxVerticalAngle(88.0f),
: CursorControl(cursorControl), MaxVerticalAngle(88.0f), NoVerticalMovement(noVerticalMovement),
MoveSpeed(moveSpeed), RotateSpeed(rotateSpeed), JumpSpeed(jumpSpeed),
MouseYDirection(invertY ? -1.0f : 1.0f),
LastAnimationTime(0), firstUpdate(true), firstInput(true), NoVerticalMovement(noVerticalMovement)
LastAnimationTime(0), firstUpdate(true), firstInput(true)
{
#ifdef _DEBUG
setDebugName("CCameraSceneNodeAnimatorFPS");
@ -350,6 +350,56 @@ ISceneNodeAnimator* CSceneNodeAnimatorCameraFPS::createClone(ISceneNode* node, I
return newAnimator;
}
void CSceneNodeAnimatorCameraFPS::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const
{
ISceneNodeAnimator::serializeAttributes(out, options);
out->addFloat("MaxVerticalAngle", MaxVerticalAngle);
out->addBool("NoVerticalMovement", NoVerticalMovement);
out->addFloat("MoveSpeed", MoveSpeed);
out->addFloat("RotateSpeed", RotateSpeed);
out->addFloat("JumpSpeed", JumpSpeed);
out->addFloat("MouseYDirection", MouseYDirection);
out->addInt("KeyMapSize", (s32)KeyMap.size());
for ( u32 i=0; i < KeyMap.size(); ++i )
{
core::stringc name("Action");
name += core::stringc(i);
out->addInt(name.c_str(), (int)KeyMap[i].Action);
name = core::stringc("KeyCode") + core::stringc(i);
out->addInt(name.c_str(), (int)KeyMap[i].KeyCode);
}
}
void CSceneNodeAnimatorCameraFPS::deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options)
{
ISceneNodeAnimator::deserializeAttributes(in, options);
MaxVerticalAngle = in->getAttributeAsFloat("MaxVerticalAngle", MaxVerticalAngle);
NoVerticalMovement = in->getAttributeAsBool("NoVerticalMovement", NoVerticalMovement);
MoveSpeed = in->getAttributeAsFloat("MoveSpeed", MoveSpeed);
RotateSpeed = in->getAttributeAsFloat("RotateSpeed", RotateSpeed);
JumpSpeed = in->getAttributeAsFloat("JumpSpeed", JumpSpeed);
MouseYDirection = in->getAttributeAsFloat("MouseYDirection", MouseYDirection);
if ( in->findAttribute("KeyMapSize") )
{
KeyMap.clear();
s32 keyMapSize = in->getAttributeAsInt("KeyMapSize");
for ( u32 i=0; i < (u32)keyMapSize; ++i )
{
SKeyMap keyMapEntry;
core::stringc name("Action");
name += core::stringc(i);
keyMapEntry.Action = static_cast<EKEY_ACTION>(in->getAttributeAsInt(name.c_str()));
name = core::stringc("KeyCode") + core::stringc(i);
keyMapEntry.KeyCode = static_cast<EKEY_CODE>(in->getAttributeAsInt(name.c_str()));
KeyMap.push_back(keyMapEntry);
}
}
}
} // namespace scene
} // namespace irr

View File

@ -91,12 +91,20 @@ namespace scene
done with it. */
virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0) _IRR_OVERRIDE_;
//! Writes attributes of the scene node animator.
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const _IRR_OVERRIDE_;
//! Reads attributes of the scene node animator.
virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) _IRR_OVERRIDE_;
private:
void allKeysUp();
gui::ICursorControl *CursorControl;
f32 MaxVerticalAngle;
bool NoVerticalMovement;
f32 MoveSpeed;
f32 RotateSpeed;
@ -113,7 +121,6 @@ namespace scene
bool firstUpdate;
bool firstInput;
bool NoVerticalMovement;
};
} // end namespace scene

View File

@ -330,6 +330,28 @@ ISceneNodeAnimator* CSceneNodeAnimatorCameraMaya::createClone(ISceneNode* node,
return newAnimator;
}
void CSceneNodeAnimatorCameraMaya::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const
{
ISceneNodeAnimator::serializeAttributes(out, options);
out->addFloat("TargetMinDistance", TargetMinDistance);
out->addFloat("ZoomSpeed", ZoomSpeed);
out->addFloat("RotateSpeed", RotateSpeed);
out->addFloat("TranslateSpeed", TranslateSpeed);
out->addFloat("CurrentZoom", CurrentZoom);
}
void CSceneNodeAnimatorCameraMaya::deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options)
{
ISceneNodeAnimator::deserializeAttributes(in, options);
TargetMinDistance = in->getAttributeAsFloat("TargetMinDistance", TargetMinDistance);
ZoomSpeed = in->getAttributeAsFloat("ZoomSpeed", ZoomSpeed);
RotateSpeed = in->getAttributeAsFloat("RotateSpeed", RotateSpeed);
TranslateSpeed = in->getAttributeAsFloat("TranslateSpeed", TranslateSpeed);
CurrentZoom = in->getAttributeAsFloat("CurrentZoom", CurrentZoom);
}
} // end namespace
} // end namespace

View File

@ -22,7 +22,7 @@ namespace scene
//! Special scene node animator for FPS cameras
/** This scene node animator can be attached to a camera to make it act
like a 3d modelling tool camera
like a 3d modeling tool camera
*/
class CSceneNodeAnimatorCameraMaya : public ISceneNodeAnimatorCameraMaya
{
@ -88,6 +88,12 @@ namespace scene
this. */
virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0) _IRR_OVERRIDE_;
//! Writes attributes of the scene node animator.
virtual void serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options=0) const _IRR_OVERRIDE_;
//! Reads attributes of the scene node animator.
virtual void deserializeAttributes(io::IAttributes* in, io::SAttributeReadWriteOptions* options=0) _IRR_OVERRIDE_;
private:
void allKeysUp();

View File

@ -38,7 +38,7 @@ IRRMESHOBJ = $(IRRMESHLOADER) $(IRRMESHWRITER) \
IRROBJ = CBillboardSceneNode.o CCameraSceneNode.o CDummyTransformationSceneNode.o CEmptySceneNode.o CGeometryCreator.o CLightSceneNode.o CMeshManipulator.o CMetaTriangleSelector.o COctreeSceneNode.o COctreeTriangleSelector.o CSceneCollisionManager.o CSceneManager.o CShadowVolumeSceneNode.o CSkyBoxSceneNode.o CSkyDomeSceneNode.o CTerrainSceneNode.o CTerrainTriangleSelector.o CVolumeLightSceneNode.o CCubeSceneNode.o CSphereSceneNode.o CTextSceneNode.o CTriangleBBSelector.o CTriangleSelector.o CWaterSurfaceSceneNode.o CMeshCache.o CDefaultSceneNodeAnimatorFactory.o CDefaultSceneNodeFactory.o CSceneLoaderIrr.o
IRRPARTICLEOBJ = CParticleAnimatedMeshSceneNodeEmitter.o CParticleBoxEmitter.o CParticleCylinderEmitter.o CParticleMeshEmitter.o CParticlePointEmitter.o CParticleRingEmitter.o CParticleSphereEmitter.o CParticleAttractionAffector.o CParticleFadeOutAffector.o CParticleGravityAffector.o CParticleRotationAffector.o CParticleSystemSceneNode.o CParticleScaleAffector.o
IRRANIMOBJ = CSceneNodeAnimatorCameraFPS.o CSceneNodeAnimatorCameraMaya.o CSceneNodeAnimatorCollisionResponse.o CSceneNodeAnimatorDelete.o CSceneNodeAnimatorFlyCircle.o CSceneNodeAnimatorFlyStraight.o CSceneNodeAnimatorFollowSpline.o CSceneNodeAnimatorRotation.o CSceneNodeAnimatorTexture.o
IRRDRVROBJ = CNullDriver.o COpenGLCacheHandler.o COpenGLDriver.o COpenGLNormalMapRenderer.o COpenGLParallaxMapRenderer.o COpenGLShaderMaterialRenderer.o COpenGLSLMaterialRenderer.o COpenGLExtensionHandler.o CD3D9Driver.o CD3D9HLSLMaterialRenderer.o CD3D9NormalMapRenderer.o CD3D9ParallaxMapRenderer.o CD3D9ShaderMaterialRenderer.o CD3D9Texture.o COGLESDriver.o COGLESTexture.o COGLESExtensionHandler.o COGLES2Driver.o COGLES2ExtensionHandler.o COGLES2FixedPipelineRenderer.o COGLES2MaterialRenderer.o COGLES2NormalMapRenderer.o COGLES2ParallaxMapRenderer.o COGLES2Renderer2D.o COGLES2Texture.o CEGLManager.o CEGLManager.o CWGLManager.o CGLXManager.o
IRRDRVROBJ = CNullDriver.o COpenGLCacheHandler.o COpenGLDriver.o COpenGLNormalMapRenderer.o COpenGLParallaxMapRenderer.o COpenGLShaderMaterialRenderer.o COpenGLSLMaterialRenderer.o COpenGLExtensionHandler.o CD3D9Driver.o CD3D9HLSLMaterialRenderer.o CD3D9NormalMapRenderer.o CD3D9ParallaxMapRenderer.o CD3D9ShaderMaterialRenderer.o CD3D9Texture.o COGLESDriver.o COGLESExtensionHandler.o COGLES2Driver.o COGLES2ExtensionHandler.o COGLES2FixedPipelineRenderer.o COGLES2MaterialRenderer.o COGLES2NormalMapRenderer.o COGLES2ParallaxMapRenderer.o COGLES2Renderer2D.o CEGLManager.o CEGLManager.o CWGLManager.o CGLXManager.o
IRRIMAGEOBJ = CColorConverter.o CImage.o CImageLoaderBMP.o CImageLoaderDDS.o CImageLoaderJPG.o CImageLoaderPCX.o CImageLoaderPNG.o CImageLoaderPSD.o CImageLoaderPVR.o CImageLoaderTGA.o CImageLoaderPPM.o CImageLoaderWAL.o CImageLoaderRGB.o \
CImageWriterBMP.o CImageWriterJPG.o CImageWriterPCX.o CImageWriterPNG.o CImageWriterPPM.o CImageWriterPSD.o CImageWriterTGA.o
IRRVIDEOOBJ = CVideoModeList.o CFPSCounter.o $(IRRDRVROBJ) $(IRRIMAGEOBJ)