Merged all revisions up to 1976 from trunk into ogl-es branch.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@1977 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2008-12-19 09:56:25 +00:00
parent 62d85c8758
commit 30100db0a5
229 changed files with 5903 additions and 4780 deletions

View File

@ -1,4 +1,17 @@
Changes in version 1.5 (...12.2008)
Changes in version 1.6
- ISceneNodeAnimatorCollisionResponse exposes the target node. Setting the node again resets the last position, allowing the node to be teleported.
- Add a hitPosition out parameter to ISceneCollisionManager::getCollisionResultPosition() - this is a (small) API breaking change.
-----------------------------------
Changes in version 1.5 (15.12.2008)
- Construction calls for FPS camera changed to take speed in units/milliseconds, just as the setSpeed method does.
- Code::Blocks workspaces added. C::B projects (using gcc) now output to /lib/gcc and /bin/gcc, when built on either Windows or Linux.
- Added a test suite in the /tests directory. This can be used to perform regression tests, and should be updated with new tests to verify fixes or validate new features.
- Changed the preferred way of altering light node's radius: Use the new member methods of ILightSceneNode instead of directly modifying the SLight structure.

View File

@ -2,7 +2,7 @@ This file contains API changes between consecutive versions. You can get the
relevant information about all changes to the public Irrlicht API needed for
upgrading your code (esp. custom scene nodes and GUI elements) to a new Irrlicht
version. Since all changes are incremental you should skip forward to the
version you use right now and check all each note until you reach the desired
version you use right now and check each note until you reach the desired
version.
Please note that the changes described here do not contain functional changes,
but only syntactical ones. Also, new methods are not documented here and
@ -1314,3 +1314,273 @@ IrrlichtDevice.h
Changed signature (Return value bool instead of void). Returns whether the event has been handled somewhere.
virtual bool postEventFromUser(const SEvent& event) = 0;
Changes for Version 1.5
-----------------------
Another major release, so expect API breaks at several places. The changes
herein are described as a difference to Irrlicht 1.4.2.
The most noticeable changes are the speed factor of the FPS camera (now units/ms
instead of units/s, so divide the parameter by 1000.f) and the new interfaces
of the camera nodes, based on scene node animators. Custom camera nodes should
be adpated to this new scheme, although they might still work. Also, particle
sizes are now set and handled by the emitters, which requires a change of the
particle system constructor call or adaption of the setParticleSize method to
work on the emitters. A deprecation method is issued if the old scheme is used.
Light setting has also changed, the SLight struct is used in even less
situations than before, instead use methods in ILightSceneNode.
Other changes did change major parts of the underlying structures, but might go
unnoticed on the user level. This includes 32bit indices and Vertex Buffer
Objects. However, VBOs require the user to call setDirty on Meshes or
MeshBuffers after changes to the vertex or index data. The all need only to be
done once before the next render call, but again after subsequent changes later
on.
All Mesh types and MeshBuffers:
New methods for VBO support. Once VBOs are enabled for a meshbuffer, changes
will only be effective after a call to setDirty(). VBOs are enabled by default
for some scene nodes.
virtual void setDirty(E_BUFFER_TYPE buffer=EBT_VERTEX_AND_INDEX);
All MeshBuffers:
Due to the 32bit support, it might happen that indices are stored as 32bit integers. The actual index type can be queried from a mesh buffer.
virtual video::E_INDEX_TYPE getIndexType() const
IrrCompileConfig.h
Some new defines for configuring Irrlicht
_IRR_USE_WINDOWS_CE_DEVICE_ for Windows CE API based device
_IRR_COMPILE_WITH_JOYSTICK_EVENTS_ to enable joystick support (enabled by default)
_IRR_COMPILE_WITH_LWO_LOADER_ to enable the LWO mesh loader (enabled by default)
_IRR_COMPILE_WITH_OBJ_WRITER_ to enable the OBJ mesh writer (enabled by default)
_IRR_COMPILE_WITH_WAL_LOADER_ to enable the WAL image loader (enabled by default)
_IRR_USE_NVIDIA_PERFHUD_ for support of the PerfHUD tool (disabled by default)
SceneParameters.h
New parameter scene::OBJ_LOADER_IGNORE_GROUPS, which allows to ignore the group structure of obj files. It's disabled by default, meaning obj groups will be represented by separate meshbuffers.
SColor.h
Renamed method names of the SColorHSL class
void fromRGB(const SColor &color);
void toRGB(SColor &color) const;
ITexture.h
Added new parameter
virtual void* lock(bool readOnly = false) = 0;
IMeshManipulator.h
Renamed methods (the old ones still exist, but are deprecated). The new methods also work on meshbuffers, not just meshes.
(renamed from scaleMesh)
virtual void scale(IMesh* mesh, const core::vector3df& factor) const = 0;
(renamed from transformMesh)
virtual void transform(IMesh* mesh, const core::matrix4& m) const = 0;
Changed signature (Added new parameters to adjust the algorithm)
virtual IMesh* createMeshWithTangents(IMesh* mesh, bool recalculateNormals=false, bool smooth=false, bool angleWeighted=false) const = 0;
IBillboardTextSceneNode.h
New interface replacing the multiple inheritance from bliiboard and text scene node previously used by the billboard text scene node.
IParticleSystemSceneNode.h
All emitters have minStartSize and maxStartSize parameters now, since partice size is handled by the emitters now.
Default value added
virtual void setParticlesAreGlobal(bool global=true) = 0;
fast_atof.h
Signature change (return value changed from u32)
inline s32 strtol10(const char* in, const char** out=0)
Signature change (parameter changed from float)
inline const char* fast_atof_move( const char * in, f32 & out)
IAnimatedMeshSceneNode.h
Added new parameter (dummy node used for simplifying shadow calculation)
virtual IShadowVolumeSceneNode* addShadowVolumeSceneNode(const IMesh* shadowMesh=0,
s32 id=-1, bool zfailmethod=true, f32 infinity=10000.0f) = 0;
ISceneManager.h
Removed extra render passes for quake shaders
Changed scene node from ISceneNode to IMeshSceneNode
virtual IMeshSceneNode* addCubeSceneNode(f32 size=10.0f, ISceneNode* parent=0, s32 id=-1, ...)
virtual IMeshSceneNode* addSphereSceneNode(f32 radius=5.0f, s32 polyCount=16, ...)
Changed default value (from 256 to 512, for efficiency on common gfx hardware)
virtual ISceneNode* addOctTreeSceneNode(IAnimatedMesh* mesh, ISceneNode* parent=0,
s32 id=-1, s32 minimalPolysPerNode=512, bool alsoAddIfMeshPointerZero=false) = 0;
Changed default value (from 500.f, to adapt the changed speed scale)
virtual ICameraSceneNode* addCameraSceneNodeFPS(ISceneNode* parent = 0,
f32 rotateSpeed = 100.0f, f32 moveSpeed = .5f, s32 id=-1, ...)
Added default values
virtual ISceneNode* addSkyDomeSceneNode(video::ITexture* texture,
u32 horiRes=16, u32 vertRes=8,
f64 texturePercentage=0.9, f64 spherePercentage=2.0,
ISceneNode* parent=0, s32 id=-1) = 0;
Changed return value (from ITextSceneNode, due to changed inheritance)
virtual IBillboardTextSceneNode* addBillboardTextSceneNode( gui::IGUIFont* font, const wchar_t* text, ...)
Changed default value (gravity, from -100.f)
virtual ISceneNodeAnimatorCollisionResponse* createCollisionResponseAnimator(
ITriangleSelector* world, ISceneNode* sceneNode,
const core::vector3df& ellipsoidRadius = core::vector3df(30,60,30),
const core::vector3df& gravityPerSecond = core::vector3df(0,-10.0f,0),
const core::vector3df& ellipsoidTranslation = core::vector3df(0,0,0),
f32 slidingValue = 0.0005f) = 0;
ISceneNodeAnimator.h
Changed inheritance (for interactive animators)
class ISceneNodeAnimator : public io::IAttributeExchangingObject, public IEventReceiver
Changed to pure virtual (bug fix)
virtual ISceneNodeAnimator* createClone(ISceneNode* node, ISceneManager* newManager=0) = 0;
IVideoModeList.h
Changed return value (constification)
virtual const core::dimension2d<s32>& getDesktopResolution() const = 0;
IBoneSceneNode.h
Deprecation: Use getName instead.
virtual const c8* getBoneName() const;
vector3d.h
Changed return value (return *this)
vector3d<T>& set(const T nx, const T ny, const T nz) {X=nx; Y=ny; Z=nz; return *this;}
vector3d<T>& set(const vector3d<T>& p) {X=p.X; Y=p.Y; Z=p.Z;return *this;}
vector3d<T>& setLength(T newlength)
vector3d<T>& invert()
Added default value
void rotateXZBy(f64 degrees, const vector3d<T>& center=vector3d<T>())
void rotateXYBy(f64 degrees, const vector3d<T>& center=vector3d<T>())
void rotateYZBy(f64 degrees, const vector3d<T>& center=vector3d<T>())
Changed parameter type (interpolation factor must not be integral)
vector3d<T> getInterpolated(const vector3d<T>& other, f64 d) const
vector3d<T> getInterpolated_quadratic(const vector3d<T>& v2, const vector3d<T>& v3, f64 d) const
Method made const
vector3d<T> getHorizontalAngle() const
SLight.h
Attenuation can be overridden by ILightSceneMethod setRadius() Attenuation will
change to (0,1.f/radius,0). Can be overridden after radius was set.
The following members are read-only now:
f32 Radius;
E_LIGHT_TYPE Type;
bool CastShadows;
ITerrainSceneNode.h
Parameter type changed (diue to possible 32bit indices)
virtual void getMeshBufferForLOD(IDynamicMeshBuffer& mb, s32 LOD=0) const =0;
Added dafault value (highest detail)
virtual void setLODOfPatch(s32 patchX, s32 patchZ, s32 LOD=0) =0;
SExposedVideoData.h
Changed member attributes (from s32, to fix 64bit architecture problems)
void* HWnd;
void* HDc;
void* HRc;
void* HWnd;
IAnimatedMeshMD3.h
Changed return value (constification)
const SMD3QuaterionTag& operator[](u32 index) const
IQ3Shader.h
Changed default q3 shader values (from LIGHTMAP_M2)
const video::E_MATERIAL_TYPE defaultMaterialType = video::EMT_LIGHTMAP_M4;
const video::E_MODULATE_FUNC defaultModulate = video::EMFN_MODULATE_4X;
ISceneNode.h
Method made virtual
virtual const core::matrix4& getAbsoluteTransformation() const
Changed return value (constified)
virtual const core::vector3df& getScale() const
virtual const core::vector3df& getPosition() const
IEventReceiver.h
Removed member from UserEvent
f32 UserData3;
SMaterial.h
Changed member type (from u32)
char ZBuffer;
IGUISkin.h
Added parameter (for alignment)
virtual void draw3DTabButton(IGUIElement* element, bool active,
const core::rect<s32>& rect, const core::rect<s32>* clip=0, gui::EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT) = 0;
virtual void draw3DTabBody(IGUIElement* element, bool border, bool background,
const core::rect<s32>& rect, const core::rect<s32>* clip=0, s32 tabHeight=-1, gui::EGUI_ALIGNMENT alignment=EGUIA_UPPERLEFT ) = 0;
quaternion.h
Renamed method (from getDotProduct)
inline f32 dotProduct(const quaternion& other) const;
Changed return value (return *this)
quaternion& set(f32 x, f32 y, f32 z, f32 w);
quaternion& set(f32 x, f32 y, f32 z);
quaternion& set(const core::vector3df& vec);
quaternion& makeInverse();
quaternion& slerp( quaternion q1, quaternion q2, f32 interpolate );
quaternion& fromAngleAxis (f32 angle, const vector3df& axis);
quaternion& makeIdentity();
quaternion& rotationFromTo(const vector3df& from, const vector3df& to);
IVideoDriver.h
Added parameters (moved from endScene) and added default values
virtual bool beginScene(bool backBuffer=true, bool zBuffer=true,
SColor color=SColor(255,0,0,0), void* windowId=0,
core::rect<s32>* sourceRect=0) = 0;
Removed parameter (move to beginScene)
virtual bool endScene() = 0;
Renamed method (note, also affects ReferenceCount behavior!)
Use addRenderTargetTexture instead of createRenderTargetTexture
virtual ITexture* addRenderTargetTexture(const core::dimension2d<s32>& size,
const c8* name=0) =0;
Changed parameters (for 32bit index support)
virtual void drawVertexPrimitiveList(const void* vertices, u32 vertexCount,
const void* indexList, u32 primCount, E_VERTEX_TYPE vType,
scene::E_PRIMITIVE_TYPE pType, E_INDEX_TYPE iType) = 0;
Changed parameter (colors are const pointers now)
virtual void draw2DImage(const video::ITexture* texture, const core::rect<s32>& destRect,
const core::rect<s32>& sourceRect, const core::rect<s32>* clipRect = 0,
const video::SColor * const colors=0, bool useAlphaChannelOfTexture=false) = 0;
IQ3LevelMesh.h
Added default value
virtual const quake3::SShader* getShader( const c8* filename, bool fileNameIsValid=true ) = 0;
ICameraSceneNode.h
Added method parameter (required to set orthogonal together with projection to avoid inconsistencies)
virtual void setProjectionMatrix(const core::matrix4& projection, bool isOrthogonal = false) = 0;
Removed method (use new parameter in setProjectionMatrix)
void setIsOrthogonal( bool orthogonal )
Constified return value
virtual const core::vector3df& getTarget() const = 0;
virtual const core::vector3df& getUpVector() const = 0;
matrix4.h
Removed method (use transformPlane)
void transformPlane_new( core::plane3d<f32> &plane) const;
Changed qulifications (to enable use under Win32 systems, too)
IRRLICHT_API extern const matrix4 IdentityMatrix;
SIrrCreationParameters.h
Changed member attribute types
u8 Bits;
const c8* const SDK_version_do_not_use;
IGUIElement.h
Renamed method from setRelativePosition (to distinguish rather different parameter interpretation)
void setRelativePositionProportional(const core::rect<f32>& r)
irrString.h
Constructors made explicit (use core::stringc(var) in places where var was used before)
explicit string(const double number)
explicit string(int number)
explicit string(unsigned int number)
Added parameter (allows use of method for stringw, and other things)
string<T>& trim(const string<T> & whitespace = " \t\n\r")
vector2d.h
Changed return value (return *this)
vector2d<T>& set(T nx, T ny) {X=nx; Y=ny; return *this; }
vector2d<T>& set(const vector2d<T>& p) { X=p.X; Y=p.Y; return *this; }
Added default value
vector2d<T>& rotateBy(f64 degrees, const vector2d<T>& center=vector2d<T>())
Changed parameter type (interpolation factor must not be int)
vector2d<T> getInterpolated(const vector2d<T>& other, f64 d) const
vector2d<T> getInterpolated_quadratic(const vector2d<T>& v2, const vector2d<T>& v3, f64 d) const
vector2d<T>& interpolate(const vector2d<T>& a, const vector2d<T>& b, f64 d)

View File

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 01 Hello World" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\HelloWorld" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
</Compiler>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\01.HelloWorld.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\01.HelloWorld.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/HelloWorld.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\01.HelloWorld.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\01.HelloWorld.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/HelloWorld.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\01.HelloWorld.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\01.HelloWorld.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/HelloWorld.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 01 Hello World"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\win32-gcc\01.HelloWorld.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 02 Quake Map" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\Quake3Map" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
</Compiler>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -39,7 +39,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -101,7 +101,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Quake3Map.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Quake3Map.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\02.Quake3Map.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Quake3Map.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 02 Quake Map"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\02.Quake3Map.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,35 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 03 Custom Scene Node" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="../../bin/gcc/CustomSceneNode" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="../../include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="../../bin/gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/CustomSceneNode.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/CustomSceneNode.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\03.CustomSceneNode.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/CustomSceneNode.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 03 Custom Scene Node"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\03.CustomSceneNode.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 04 Movement" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\Movement" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\04.Movement.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\04.Movement.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Movement.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\04.Movement.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\04.Movement.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Movement.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\04.Movement.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\04.Movement.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Movement.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 04 Movement"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\04.Movement.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -149,13 +149,13 @@ int main()
a md2 model, which uses a 'fly straight' animator to run between to points.
*/
scene::IAnimatedMeshSceneNode* anms =
smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/sydney.md2"));
smgr->addAnimatedMeshSceneNode(smgr->getMesh("../../media/ninja.b3d"));
if (anms)
{
scene::ISceneNodeAnimator* anim =
smgr->createFlyStraightAnimator(core::vector3df(100,0,60),
core::vector3df(-100,0,60), 2500, true);
core::vector3df(-100,0,60), 3500, true);
if (anim)
{
anms->addAnimator(anim);
@ -176,12 +176,13 @@ int main()
*/
anms->setMaterialFlag(video::EMF_LIGHTING, false);
anms->setFrameLoop(160, 183);
anms->setAnimationSpeed(40);
anms->setMD2Animation(scene::EMAT_RUN);
anms->setFrameLoop(0, 14);
anms->setAnimationSpeed(15);
// anms->setMD2Animation(scene::EMAT_RUN);
anms->setRotation(core::vector3df(0,180.0f,0));
anms->setMaterialTexture(0, driver->getTexture("../../media/sydney.bmp"));
anms->setScale(core::vector3df(2.f,2.f,2.f));
anms->setRotation(core::vector3df(0,-90,0));
// anms->setMaterialTexture(0, driver->getTexture("../../media/sydney.bmp"));
}
@ -190,7 +191,7 @@ int main()
To be able to look at and move around in this scene, we create a first
person shooter style camera and make the mouse cursor invisible.
*/
smgr->addCameraSceneNodeFPS(0, 100.0f, 100.0f);
smgr->addCameraSceneNodeFPS(0, 100.0f, .1f);
device->getCursorControl()->setVisible(false);
/*

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 05 User Interface" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\UserInterface" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\05.UserInterface.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\05.UserInterface.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/UserInterface.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\05.UserInterface.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\05.UserInterface.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/UserInterface.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\05.UserInterface.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\05.UserInterface.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/UserInterface.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 05 User Interface"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\05.UserInterface.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 06 2D Graphics" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\2DGraphics" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -41,7 +41,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\06.2DGraphics.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/2DGraphics.pdb"
@ -101,7 +101,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\06.2DGraphics.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\06.2DGraphics.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/2DGraphics.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\06.2DGraphics.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\06.2DGraphics.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/2DGraphics.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\06.2DGraphics.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 06 2D Graphics"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\06.2DGraphics.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 07 Collision" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\Collision" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Collision.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Collision.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\07.Collision.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Collision.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 07 Collision"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\07.Collision.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -130,7 +130,7 @@ int main()
// Set a jump speed of 3 units per second, which gives a fairly realistic jump
// when used with the gravity of (0, -10, 0) in the collision response animator.
scene::ICameraSceneNode* camera =
smgr->addCameraSceneNodeFPS(0, 100.0f, 300.0f, -1, 0, 0, true, 3.f);
smgr->addCameraSceneNodeFPS(0, 100.0f, .3f, -1, 0, 0, true, 3.f);
camera->setPosition(core::vector3df(-100,50,-150));
if (selector)

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 08 Special Effects" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\SpecialFX" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -41,7 +41,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\08.SpecialFx.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/SpecialFx.pdb"
@ -101,7 +101,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\08.SpecialFx.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\08.SpecialFx.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/SpecialFx.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\08.SpecialFx.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\08.SpecialFx.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/SpecialFx.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\08.SpecialFx.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 08 Special Effects"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\08.SpecialFX.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 09 Mesh Viewer" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\MeshViewer" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -41,7 +41,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/MeshViewer.pdb"
@ -101,7 +101,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/MeshViewer.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/MeshViewer.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\09.MeshViewer.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 09 Mesh Viewer"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\09.MeshViewer.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -32,10 +32,53 @@ IrrlichtDevice *Device = 0;
core::stringc StartUpModelFile;
core::stringw MessageText;
core::stringw Caption;
scene::IAnimatedMeshSceneNode* Model = 0;
scene::ISceneNode* Model = 0;
scene::ISceneNode* SkyBox = 0;
bool Octree=false;
scene::ICameraSceneNode* Camera[2] = { 0, 0};
scene::ICameraSceneNode* Camera[2] = {0, 0};
// Values used to identify individual GUI elements
enum
{
GUI_ID_DIALOG_ROOT_WINDOW = 0x10000,
GUI_ID_X_SCALE,
GUI_ID_Y_SCALE,
GUI_ID_Z_SCALE,
GUI_ID_OPEN_MODEL,
GUI_ID_SET_MODEL_ARCHIVE,
GUI_ID_LOAD_AS_OCTREE,
GUI_ID_SKY_BOX_VISIBLE,
GUI_ID_TOGGLE_DEBUG_INFO,
GUI_ID_DEBUG_OFF,
GUI_ID_DEBUG_BOUNDING_BOX,
GUI_ID_DEBUG_NORMALS,
GUI_ID_DEBUG_SKELETON,
GUI_ID_DEBUG_WIRE_OVERLAY,
GUI_ID_DEBUG_HALF_TRANSPARENT,
GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES,
GUI_ID_DEBUG_ALL,
GUI_ID_MODEL_MATERIAL_SOLID,
GUI_ID_MODEL_MATERIAL_TRANSPARENT,
GUI_ID_MODEL_MATERIAL_REFLECTION,
GUI_ID_CAMERA_MAYA,
GUI_ID_CAMERA_FIRST_PERSON,
GUI_ID_POSITION_TEXT,
GUI_ID_ABOUT,
GUI_ID_QUIT,
// And some magic numbers
MAX_FRAMERATE = 1000,
DEFAULT_FRAMERATE = 30
};
/*
Toggle between various cameras
@ -45,7 +88,8 @@ void setActiveCamera(scene::ICameraSceneNode* newActive)
if (0 == Device)
return;
Device->getSceneManager()->getActiveCamera();
scene::ICameraSceneNode * active = Device->getSceneManager()->getActiveCamera();
active->setInputReceiverEnabled(false);
newActive->setInputReceiverEnabled(true);
Device->getSceneManager()->setActiveCamera(newActive);
@ -82,15 +126,11 @@ void loadModel(const c8* fn)
extension.make_lower();
// if a texture is loaded apply it to the current model..
if (extension == ".jpg" ||
extension == ".pcx" ||
extension == ".png" ||
extension == ".ppm" ||
extension == ".pgm" ||
extension == ".pbm" ||
extension == ".psd" ||
extension == ".tga" ||
extension == ".bmp")
if (extension == ".jpg" || extension == ".pcx" ||
extension == ".png" || extension == ".ppm" ||
extension == ".pgm" || extension == ".pbm" ||
extension == ".psd" || extension == ".tga" ||
extension == ".bmp" || extension == ".wal")
{
video::ITexture * texture =
Device->getVideoDriver()->getTexture( filename.c_str() );
@ -104,12 +144,15 @@ void loadModel(const c8* fn)
}
return;
}
// if a archive is loaded add it to the FileSystems..
if (extension == ".pk3" ||
extension == ".zip")
else if (extension == ".pk3" || extension == ".zip")
{
Device->getFileSystem()->addZipFileArchive( filename.c_str() );
Device->getFileSystem()->addZipFileArchive(filename.c_str());
return;
}
else if (extension == ".pak")
{
Device->getFileSystem()->addPakFileArchive(filename.c_str());
return;
}
@ -135,11 +178,27 @@ void loadModel(const c8* fn)
// set default material properties
Model = Device->getSceneManager()->addAnimatedMeshSceneNode(m);
if (Octree)
Model = Device->getSceneManager()->addOctTreeSceneNode(m->getMesh(0));
else
{
scene::IAnimatedMeshSceneNode* animModel = Device->getSceneManager()->addAnimatedMeshSceneNode(m);
animModel->setAnimationSpeed(30);
Model = animModel;
}
Model->setMaterialFlag(video::EMF_LIGHTING, false);
// Model->setMaterialFlag(video::EMF_BACK_FACE_CULLING, false);
Model->setDebugDataVisible(scene::EDS_OFF);
Model->setAnimationSpeed(30);
// we need to uncheck the menu entries. would be cool to fake a menu event, but
// that's not so simple. so we do it brute force
gui::IGUIContextMenu* menu = (gui::IGUIContextMenu*)Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_TOGGLE_DEBUG_INFO, true);
if (menu)
for(int item = 1; item < 6; ++item)
menu->setItemChecked(item, false);
Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_X_SCALE, true)->setText(L"1.0");
Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_Y_SCALE, true)->setText(L"1.0");
Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_Z_SCALE, true)->setText(L"1.0");
}
@ -153,39 +212,48 @@ void createToolBox()
// remove tool box if already there
IGUIEnvironment* env = Device->getGUIEnvironment();
IGUIElement* root = env->getRootGUIElement();
IGUIElement* e = root->getElementFromId(5000, true);
IGUIElement* e = root->getElementFromId(GUI_ID_DIALOG_ROOT_WINDOW, true);
if (e)
e->remove();
// create the toolbox window
IGUIWindow* wnd = env->addWindow(core::rect<s32>(600,25,800,480),
false, L"Toolset", 0, 5000);
IGUIWindow* wnd = env->addWindow(core::rect<s32>(600,45,800,480),
false, L"Toolset", 0, GUI_ID_DIALOG_ROOT_WINDOW);
// create tab control and tabs
IGUITabControl* tab = env->addTabControl(
core::rect<s32>(2,20,800-602,480-7), wnd, true, true);
IGUITab* t1 = tab->addTab(L"Scale");
IGUITab* t1 = tab->addTab(L"Config");
// add some edit boxes and a button to tab one
env->addEditBox(L"1.0", core::rect<s32>(40,50,130,70), true, t1, 901);
env->addEditBox(L"1.0", core::rect<s32>(40,80,130,100), true, t1, 902);
env->addEditBox(L"1.0", core::rect<s32>(40,110,130,130), true, t1, 903);
env->addStaticText(L"Scale:",
core::rect<s32>(10,20,150,45), false, false, t1);
env->addStaticText(L"X:", core::rect<s32>(22,48,40,66), false, false, t1);
env->addEditBox(L"1.0", core::rect<s32>(40,46,130,66), true, t1, GUI_ID_X_SCALE);
env->addStaticText(L"Y:", core::rect<s32>(22,82,40,GUI_ID_OPEN_MODEL), false, false, t1);
env->addEditBox(L"1.0", core::rect<s32>(40,76,130,96), true, t1, GUI_ID_Y_SCALE);
env->addStaticText(L"Z:", core::rect<s32>(22,108,40,126), false, false, t1);
env->addEditBox(L"1.0", core::rect<s32>(40,106,130,126), true, t1, GUI_ID_Z_SCALE);
env->addButton(core::rect<s32>(10,150,100,190), t1, 1101, L"set");
env->addButton(core::rect<s32>(10,134,85,165), t1, 1101, L"Set");
// add senseless checkbox
env->addCheckBox(true, core::rect<s32>(10,220,200,240), t1, -1,
L"Senseless Checkbox");
// add undocumented transparent control
env->addStaticText(L"Transparent Control:",
core::rect<s32>(10,240,150,260), true, false, t1);
// add transparency control
env->addStaticText(L"GUI Transparency Control:",
core::rect<s32>(10,200,150,225), true, false, t1);
IGUIScrollBar* scrollbar = env->addScrollBar(true,
core::rect<s32>(10,260,150,275), t1, 104);
core::rect<s32>(10,225,150,240), t1, 104);
scrollbar->setMax(255);
scrollbar->setPos(255);
// add framerate control
env->addStaticText(L"Framerate:",
core::rect<s32>(10,240,150,265), true, false, t1);
scrollbar = env->addScrollBar(true,
core::rect<s32>(10,265,150,280), t1, 105);
scrollbar->setMax(MAX_FRAMERATE);
scrollbar->setPos(DEFAULT_FRAMERATE);
// bring irrlicht engine logo to front, because it
// now may be below the newly created toolbox
root->bringToFront(root->getElementFromId(666, true));
@ -196,7 +264,7 @@ void createToolBox()
To get all the events sent by the GUI Elements, we need to create an event
receiver. This one is really simple. If an event occurs, it checks the id of
the caller and the event type, and starts an action based on these values. For
example, if a menu item with id 100 was selected, if opens a file-open-dialog.
example, if a menu item with id GUI_ID_OPEN_MODEL was selected, if opens a file-open-dialog.
*/
class MyEventReceiver : public IEventReceiver
{
@ -205,18 +273,29 @@ public:
{
// Escape swaps Camera Input
if (event.EventType == EET_KEY_INPUT_EVENT &&
event.KeyInput.Key == irr::KEY_ESCAPE &&
event.KeyInput.PressedDown == false)
{
if (Device)
if (event.KeyInput.Key == irr::KEY_ESCAPE)
{
scene::ICameraSceneNode * camera =
Device->getSceneManager()->getActiveCamera();
if (camera)
if (Device)
{
camera->setInputReceiverEnabled( !camera->isInputReceiverEnabled() );
scene::ICameraSceneNode * camera =
Device->getSceneManager()->getActiveCamera();
if (camera)
{
camera->setInputReceiverEnabled( !camera->isInputReceiverEnabled() );
}
return true;
}
}
else if (event.KeyInput.Key == irr::KEY_F1)
{
if (Device)
{
IGUIElement* elem = Device->getGUIEnvironment()->getRootGUIElement()->getElementFromId(GUI_ID_POSITION_TEXT);
if (elem)
elem->setVisible(!elem->isVisible());
}
return true;
}
}
@ -236,70 +315,93 @@ public:
switch(id)
{
case 100: // File -> Open Model
case GUI_ID_OPEN_MODEL: // File -> Open Model
env->addFileOpenDialog(L"Please select a model file to open");
break;
case 101: // File -> Set Model Archive
case GUI_ID_SET_MODEL_ARCHIVE: // File -> Set Model Archive
env->addFileOpenDialog(L"Please select your game archive/directory");
break;
case 200: // File -> Quit
case GUI_ID_LOAD_AS_OCTREE: // File -> LoadAsOctree
Octree = !Octree;
menu->setItemChecked(menu->getSelectedItem(), Octree);
break;
case GUI_ID_QUIT: // File -> Quit
Device->closeDevice();
break;
case 300: // View -> Skybox
case GUI_ID_SKY_BOX_VISIBLE: // View -> Skybox
menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem()));
SkyBox->setVisible(!SkyBox->isVisible());
break;
case 400: // View -> Debug Information
case GUI_ID_DEBUG_OFF: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem()+1, false);
menu->setItemChecked(menu->getSelectedItem()+2, false);
menu->setItemChecked(menu->getSelectedItem()+3, false);
menu->setItemChecked(menu->getSelectedItem()+4, false);
menu->setItemChecked(menu->getSelectedItem()+5, false);
menu->setItemChecked(menu->getSelectedItem()+6, false);
if (Model)
Model->setDebugDataVisible(scene::EDS_OFF);
break;
case 410: // View -> Debug Information
case GUI_ID_DEBUG_BOUNDING_BOX: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem()));
if (Model)
Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_BBOX));
break;
case 420: // View -> Debug Information
case GUI_ID_DEBUG_NORMALS: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem()));
if (Model)
Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_NORMALS));
break;
case 430: // View -> Debug Information
case GUI_ID_DEBUG_SKELETON: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem()));
if (Model)
Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_SKELETON));
break;
case 440: // View -> Debug Information
case GUI_ID_DEBUG_WIRE_OVERLAY: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem()));
if (Model)
Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_MESH_WIRE_OVERLAY));
break;
case 450: // View -> Debug Information
case GUI_ID_DEBUG_HALF_TRANSPARENT: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem()));
if (Model)
Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_HALF_TRANSPARENCY));
break;
case 460: // View -> Debug Information
case GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem(), !menu->isItemChecked(menu->getSelectedItem()));
if (Model)
Model->setDebugDataVisible((scene::E_DEBUG_SCENE_TYPE)(Model->isDebugDataVisible()^scene::EDS_BBOX_BUFFERS));
break;
case 499: // View -> Debug Information
case GUI_ID_DEBUG_ALL: // View -> Debug Information
menu->setItemChecked(menu->getSelectedItem()-1, true);
menu->setItemChecked(menu->getSelectedItem()-2, true);
menu->setItemChecked(menu->getSelectedItem()-3, true);
menu->setItemChecked(menu->getSelectedItem()-4, true);
menu->setItemChecked(menu->getSelectedItem()-5, true);
menu->setItemChecked(menu->getSelectedItem()-6, true);
if (Model)
Model->setDebugDataVisible(scene::EDS_FULL);
break;
case 500: // Help->About
case GUI_ID_ABOUT: // Help->About
showAboutText();
break;
case 610: // View -> Material -> Solid
case GUI_ID_MODEL_MATERIAL_SOLID: // View -> Material -> Solid
if (Model)
Model->setMaterialType(video::EMT_SOLID);
break;
case 620: // View -> Material -> Transparent
case GUI_ID_MODEL_MATERIAL_TRANSPARENT: // View -> Material -> Transparent
if (Model)
Model->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
break;
case 630: // View -> Material -> Reflection
case GUI_ID_MODEL_MATERIAL_REFLECTION: // View -> Material -> Reflection
if (Model)
Model->setMaterialType(video::EMT_SPHERE_MAP);
break;
case 1000:
case GUI_ID_CAMERA_MAYA:
setActiveCamera(Camera[0]);
break;
case 1100:
case GUI_ID_CAMERA_FIRST_PERSON:
setActiveCamera(Camera[1]);
break;
@ -321,7 +423,7 @@ public:
// control skin transparency
if (id == 104)
{
s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos();
const s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos();
for (s32 i=0; i<irr::gui::EGDC_COUNT ; ++i)
{
video::SColor col = env->getSkin()->getColor((EGUI_DEFAULT_COLOR)i);
@ -329,6 +431,12 @@ public:
env->getSkin()->setColor((EGUI_DEFAULT_COLOR)i, col);
}
}
else if (id == 105)
{
const s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos();
if (scene::ESNT_ANIMATED_MESH == Model->getType())
((scene::IAnimatedMeshSceneNode*)Model)->setAnimationSpeed((f32)pos);
}
break;
case EGET_COMBO_BOX_CHANGED:
@ -388,11 +496,11 @@ public:
core::vector3df scale;
core::stringc s;
s = root->getElementFromId(901, true)->getText();
s = root->getElementFromId(GUI_ID_X_SCALE, true)->getText();
scale.X = (f32)atof(s.c_str());
s = root->getElementFromId(902, true)->getText();
s = root->getElementFromId(GUI_ID_Y_SCALE, true)->getText();
scale.Y = (f32)atof(s.c_str());
s = root->getElementFromId(903, true)->getText();
s = root->getElementFromId(GUI_ID_Z_SCALE, true)->getText();
scale.Z = (f32)atof(s.c_str());
if (Model)
@ -480,7 +588,7 @@ int main(int argc, char* argv[])
driver->setTextureCreationFlag(video::ETCF_ALWAYS_32_BIT, true);
smgr->addLightSceneNode();
smgr->addLightSceneNode(0, core::vector3df(50,-50,100),
smgr->addLightSceneNode(0, core::vector3df(50,-50,GUI_ID_OPEN_MODEL),
video::SColorf(1.0f,1.0f,1.0f),20000);
// add our media directory as "search path"
Device->getFileSystem()->addFolderFileArchive("../../media/");
@ -564,37 +672,38 @@ int main(int argc, char* argv[])
gui::IGUIContextMenu* submenu;
submenu = menu->getSubMenu(0);
submenu->addItem(L"Open Model File & Texture...", 100);
submenu->addItem(L"Set Model Archive...", 101);
submenu->addItem(L"Open Model File & Texture...", GUI_ID_OPEN_MODEL);
submenu->addItem(L"Set Model Archive...", GUI_ID_SET_MODEL_ARCHIVE);
submenu->addItem(L"Load as Octree", GUI_ID_LOAD_AS_OCTREE);
submenu->addSeparator();
submenu->addItem(L"Quit", 200);
submenu->addItem(L"Quit", GUI_ID_QUIT);
submenu = menu->getSubMenu(1);
submenu->addItem(L"toggle sky box visibility", 300);
submenu->addItem(L"toggle model debug information", -1, true, true);
submenu->addItem(L"sky box visible", GUI_ID_SKY_BOX_VISIBLE, true, false, true);
submenu->addItem(L"toggle model debug information", GUI_ID_TOGGLE_DEBUG_INFO, true, true);
submenu->addItem(L"model material", -1, true, true );
submenu = submenu->getSubMenu(1);
submenu->addItem(L"Off", 400);
submenu->addItem(L"Bounding Box", 410);
submenu->addItem(L"Normals", 420);
submenu->addItem(L"Skeleton", 430);
submenu->addItem(L"Wire overlay", 440);
submenu->addItem(L"Half-Transparent", 450);
submenu->addItem(L"Buffers bounding boxes", 460);
submenu->addItem(L"All", 499);
submenu->addItem(L"Off", GUI_ID_DEBUG_OFF);
submenu->addItem(L"Bounding Box", GUI_ID_DEBUG_BOUNDING_BOX);
submenu->addItem(L"Normals", GUI_ID_DEBUG_NORMALS);
submenu->addItem(L"Skeleton", GUI_ID_DEBUG_SKELETON);
submenu->addItem(L"Wire overlay", GUI_ID_DEBUG_WIRE_OVERLAY);
submenu->addItem(L"Half-Transparent", GUI_ID_DEBUG_HALF_TRANSPARENT);
submenu->addItem(L"Buffers bounding boxes", GUI_ID_DEBUG_BUFFERS_BOUNDING_BOXES);
submenu->addItem(L"All", GUI_ID_DEBUG_ALL);
submenu = menu->getSubMenu(1)->getSubMenu(2);
submenu->addItem(L"Solid", 610);
submenu->addItem(L"Transparent", 620);
submenu->addItem(L"Reflection", 630);
submenu->addItem(L"Solid", GUI_ID_MODEL_MATERIAL_SOLID);
submenu->addItem(L"Transparent", GUI_ID_MODEL_MATERIAL_TRANSPARENT);
submenu->addItem(L"Reflection", GUI_ID_MODEL_MATERIAL_REFLECTION);
submenu = menu->getSubMenu(2);
submenu->addItem(L"Maya Style", 1000);
submenu->addItem(L"First Person", 1100);
submenu->addItem(L"Maya Style", GUI_ID_CAMERA_MAYA);
submenu->addItem(L"First Person", GUI_ID_CAMERA_FIRST_PERSON);
submenu = menu->getSubMenu(3);
submenu->addItem(L"About", 500);
submenu->addItem(L"About", GUI_ID_ABOUT);
/*
Below the menu we want a toolbar, onto which we can place colored
@ -649,7 +758,11 @@ int main(int argc, char* argv[])
// create fps text
IGUIStaticText* fpstext = env->addStaticText(L"",
core::rect<s32>(400,4,570,23), true, false, bar);
core::rect<s32>(GUI_ID_TOGGLE_DEBUG_INFO,4,570,23), true, false, bar);
IGUIStaticText* postext = env->addStaticText(L"",
core::rect<s32>(10,50,470,80),false, false, 0, GUI_ID_POSITION_TEXT);
postext->setVisible(false);
// set window caption
@ -668,7 +781,7 @@ int main(int argc, char* argv[])
// show about message box and load default model
if (argc==1)
showAboutText();
showAboutText();
loadModel(StartUpModelFile.c_str());
// add skybox
@ -684,8 +797,14 @@ int main(int argc, char* argv[])
// add a camera scene node
Camera[0] = smgr->addCameraSceneNodeMaya();
Camera[0]->setFarValue(20000.f);
// Maya cameras reposition themselves relative to their target, so target the location
// where the mesh scene node is placed.
Camera[0]->setTarget(core::vector3df(0,30,0));
Camera[1] = smgr->addCameraSceneNodeFPS();
Camera[1]->setFarValue(20000.f);
Camera[1]->setPosition(core::vector3df(0,0,-70));
Camera[1]->setTarget(core::vector3df(0,30,0));
setActiveCamera(Camera[0]);
@ -716,6 +835,21 @@ int main(int argc, char* argv[])
str += L" Tris: ";
str.append(core::stringw(driver->getPrimitiveCountDrawn()));
fpstext->setText(str.c_str());
scene::ICameraSceneNode* cam = Device->getSceneManager()->getActiveCamera();
str = L"Pos: ";
str.append(core::stringw(cam->getPosition().X));
str += L" ";
str.append(core::stringw(cam->getPosition().Y));
str += L" ";
str.append(core::stringw(cam->getPosition().Z));
str += L" Tgt: ";
str.append(core::stringw(cam->getTarget().X));
str += L" ";
str.append(core::stringw(cam->getTarget().Y));
str += L" ";
str.append(core::stringw(cam->getTarget().Z));
postext->setText(str.c_str());
}
else
Device->yield();

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 10 Shaders" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\Shaders" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\10.Shaders.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\10.Shaders.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Shaders.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\10.Shaders.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\10.Shaders.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Shaders.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\10.Shaders.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\10.Shaders.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Shaders.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 10 Shaders"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\10.Shaders.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -380,7 +380,7 @@ int main()
// add a camera and disable the mouse cursor
scene::ICameraSceneNode* cam = smgr->addCameraSceneNodeFPS(0, 100.0f, 100.0f);
scene::ICameraSceneNode* cam = smgr->addCameraSceneNodeFPS(0, 100.0f, .1f);
cam->setPosition(core::vector3df(-100,50,100));
cam->setTarget(core::vector3df(0,0,0));
device->getCursorControl()->setVisible(false);

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 11 Per-Pixel Lighting" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\PerPixelLighting" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/PerPixelLighting.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/PerPixelLighting.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\11.PerPixelLighting.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/PerPixelLighting.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 11 Per-Pixel Lighting"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\11.PerPixelLighting.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -208,7 +208,7 @@ int main()
// add camera
scene::ICameraSceneNode* camera =
smgr->addCameraSceneNodeFPS(0,100.0f,300.0f);
smgr->addCameraSceneNodeFPS(0, 100.0f, .3f);
camera->setPosition(core::vector3df(-200,200,-200));
// disable mouse cursor
@ -414,8 +414,6 @@ int main()
scene::IParticleSystemSceneNode* ps =
smgr->addParticleSystemSceneNode(false, light2);
ps->setParticleSize(core::dimension2d<f32>(30.0f, 40.0f));
// create and set emitter
scene::IParticleEmitter* em = ps->createBoxEmitter(
core::aabbox3d<f32>(-3,0,-3,3,1,3),
@ -423,6 +421,9 @@ int main()
80,100,
video::SColor(0,255,255,255), video::SColor(0,255,255,255),
400,1100);
em->setMinStartSize(core::dimension2d<f32>(30.0f, 40.0f));
em->setMaxStartSize(core::dimension2d<f32>(30.0f, 40.0f));
ps->setEmitter(em);
em->drop();

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 12 Terrain Rendering" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\TerrainRendering" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/TerrainRendering.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/TerrainRendering.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\12.TerrainRendering.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/TerrainRendering.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 12 Terrain Rendering"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\12.TerrainRendering.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -133,7 +133,7 @@ int main()
// add camera
scene::ICameraSceneNode* camera =
smgr->addCameraSceneNodeFPS(0,100.0f,1200.f);
smgr->addCameraSceneNodeFPS(0,100.0f,1.2f);
camera->setPosition(core::vector3df(2700*2,255*2,2600*2));
camera->setTarget(core::vector3df(2397*2,343*2,2700*2));
@ -208,6 +208,14 @@ int main()
camera->addAnimator(anim);
anim->drop();
/* If you need access to the terrain data you can also do this directly via the following code fragment.
*/
scene::CDynamicMeshBuffer* buffer = new scene::CDynamicMeshBuffer(video::EVT_2TCOORDS, video::EIT_16BIT);
terrain->getMeshBufferForLOD(*buffer, 0);
video::S3DVertex2TCoords* data = (video::S3DVertex2TCoords*)buffer->getVertexBuffer().getData();
// Work on data or get the IndexBuffer with a similar call.
buffer->drop(); // When done drop the buffer again.
/*
To make the user be able to switch between normal and wireframe mode,
we create an instance of the event reciever from above and let Irrlicht

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 13 Render to Texture" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\RenderToTexture" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -41,7 +41,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/RenderToTexture.pdb"
@ -101,7 +101,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/RenderToTexture.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -74,7 +74,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/RenderToTexture.pdb"
@ -163,7 +163,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\13.RenderToTexture.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 13 Render to Texture"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\13.RenderToTexture.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 14 Win32 Window" />
<Option platforms="Windows;" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\Win32Window" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\14.Win32Window.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\14.Win32Window.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Win32Window.pdb"

View File

@ -73,7 +73,7 @@
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib"
OutputFile="..\..\bin\Win32-VisualStudio\14.Win32Window.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -165,7 +165,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\14.Win32Window.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Win32Window.pdb"

View File

@ -74,7 +74,7 @@
Name="VCLinkerTool"
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib"
OutputFile="..\..\bin\Win32-VisualStudio\14.Win32Window.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -165,7 +165,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\14.Win32Window.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/Win32Window.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 14 Win32 Window"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\14.Win32Window.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 15 Load .irr File" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\LoadIrrFile" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
</Compiler>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/LoadIrrFile.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/LoadIrrFile.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\15.LoadIrrFile.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/LoadIrrFile.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 15 Load .irr File"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\02.LoadIrrFile.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -74,7 +74,7 @@ int main()
Now we'll create a camera, and give it a collision response animator
that's built from the mesh nodes in the scene we just loaded.
*/
scene::ICameraSceneNode * camera = smgr->addCameraSceneNodeFPS(0, 50, 100);
scene::ICameraSceneNode * camera = smgr->addCameraSceneNodeFPS(0, 50.f, 0.1f);
// Create a meta triangle selector to hold several triangle selectors.
scene::IMetaTriangleSelector * meta = smgr->createMetaTriangleSelector();

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 16 Quake 3 Map Shader" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\LoadIrrFile" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -33,7 +33,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe"
LinkIncremental="1"
LinkIncremental="0"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/Quake3MapShader.pdb"
@ -90,7 +90,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="FALSE"

View File

@ -143,7 +143,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe"
LinkIncremental="1"
LinkIncremental="0"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="false"
SubSystem="1"

View File

@ -142,7 +142,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\16.Quake3MapShader.exe"
LinkIncremental="1"
LinkIncremental="0"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="false"
SubSystem="1"

View File

@ -149,7 +149,7 @@
Name="VCLinkerTool"
AdditionalOptions=" /subsystem:windowsce,5.02"
OutputFile="$(OutDir)\17.HelloWorld_mobile.exe"
LinkIncremental="1"
LinkIncremental="0"
AdditionalLibraryDirectories="..\..\lib\WinCE-visualstudio\"
DelayLoadDLLs="$(NOINHERIT)"
GenerateDebugInformation="true"

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 18 Split Screen" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\LoadIrrFile" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -33,7 +33,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\18.SplitScreen.exe"
LinkIncremental="1"
LinkIncremental="0"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="$(OutDir)/SplitScreen.pdb"
@ -90,7 +90,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\18.SplitScreen.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="FALSE"

View File

@ -143,7 +143,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\18.SplitScreen.exe"
LinkIncremental="1"
LinkIncremental="0"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="false"
SubSystem="1"

View File

@ -142,7 +142,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\18.SplitScreen.exe"
LinkIncremental="1"
LinkIncremental="0"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="false"
SubSystem="1"

View File

@ -93,7 +93,7 @@ int main()
case 'e': driverType = video::EDT_BURNINGSVIDEO;break;
case 'f': driverType = video::EDT_NULL; break;
default: return 1;
}
}
//Instance of the EventReceiver
MyEventReceiver receiver;
@ -148,6 +148,9 @@ user.
camera[2] = smgr->addCameraSceneNode(0, vector3df(0,0,50), vector3df(0,0,0));
//User-controlled
camera[3] = smgr->addCameraSceneNodeFPS();
// don't start at sydney's position
if (camera[3])
camera[3]->setPosition(core::vector3df(-50,0,-50));
/*
Create a variable for counting the fps and hide the mouse:
@ -237,10 +240,11 @@ Sounds a little complicated, but you'll see it isn't:
//Get and show fps
if (driver->getFPS() != lastFPS)
{
lastFPS = driver->getFPS();
wchar_t tmp[1024];
swprintf( tmp, 1024, L"Irrlicht SplitScreen-Example (FPS: %d)", lastFPS);
device->setWindowCaption(tmp);
lastFPS = driver->getFPS();
core::stringw tmp = L"Irrlicht SplitScreen-Example (FPS: ";
tmp += lastFPS;
tmp += ")";
device->setWindowCaption(tmp.c_str());
}
}
//Delete device

View File

@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Irrlicht Example 19 MouseAndJoystick" />
<Option pch_mode="0" />
<Option compiler="gcc" />
<Build>
<Target title="default">
<Option output="..\..\bin\gcc\MouseAndJoystick" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
</Compiler>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="default;" />
</VirtualTargets>
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -40,7 +40,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="TRUE"
@ -102,7 +102,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/MouseAndJoystick.pdb"

View File

@ -72,7 +72,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/MouseAndJoystick.pdb"

View File

@ -73,7 +73,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
GenerateDebugInformation="true"
@ -164,7 +164,7 @@
<Tool
Name="VCLinkerTool"
OutputFile="..\..\bin\Win32-VisualStudio\19.MouseAndJoystick.exe"
LinkIncremental="1"
LinkIncremental="0"
SuppressStartupBanner="true"
AdditionalLibraryDirectories="..\..\lib\Win32-visualstudio"
ProgramDatabaseFile=".\Release/MouseAndJoystick.pdb"

View File

@ -1,32 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE CodeBlocks_project_file>
<CodeBlocks_project_file>
<FileVersion major="1" minor="1"/>
<Project>
<Option title="Irrlicht Example 04 MouseAndJoystick"/>
<Option makefile="Makefile"/>
<Option makefile_is_custom="0"/>
<Option compiler="0"/>
<Build>
<Target title="default">
<Option output="..\..\bin\Win32-gcc\19.MouseAndJoystick.exe"/>
<Option working_dir="."/>
<Option object_output=".objs"/>
<Option deps_output=".deps"/>
<Option type="1"/>
<Option compiler="0"/>
<Option projectResourceIncludeDirsRelation="1"/>
</Target>
</Build>
<Compiler>
<Add directory="..\..\include"/>
</Compiler>
<Linker>
<Add option="../../lib/Win32-gcc/libIrrlicht.a"/>
</Linker>
<Unit filename="main.cpp">
<Option compilerVar="CPP"/>
<Option target="default"/>
</Unit>
</Project>
</CodeBlocks_project_file>

View File

@ -123,7 +123,7 @@ int main()
case 'e': driverType = video::EDT_BURNINGSVIDEO;break;
case 'f': driverType = video::EDT_NULL; break;
default: return 0;
}
}
// create device
MyEventReceiver receiver;
@ -171,9 +171,10 @@ int main()
std::cout << "Joystick support is not enabled." << std::endl;
}
wchar_t tmp[1024];
swprintf(tmp, 1024, L"Irrlicht Joystick Example (%u joysticks)", joystickInfo.size());
device->setWindowCaption(tmp);
core::stringw tmp = L"Irrlicht Joystick Example (";
tmp += joystickInfo.size();
tmp += " joysticks)";
device->setWindowCaption(tmp.c_str());
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
@ -208,15 +209,21 @@ int main()
const SEvent::SJoystickEvent & joystickData = receiver.GetJoystickState();
// Use the analog range of the axes, and a 5% dead zone
moveHorizontal =
// We receive the full analog range of the axes, and so have to implement our
// own dead zone. This is an empirical value, since some joysticks have more
// jitter or creep around the center point than others. We'll use 5% of the
// range as the dead zone, but generally you would want to give the user the
// option to change this.
const f32 DEAD_ZONE = 0.05f;
moveHorizontal =
(f32)joystickData.Axis[SEvent::SJoystickEvent::AXIS_X] / 32767.f;
if(fabs(moveHorizontal) < 0.05f)
if(fabs(moveHorizontal) < DEAD_ZONE)
moveHorizontal = 0.f;
moveVertical =
moveVertical =
(f32)joystickData.Axis[SEvent::SJoystickEvent::AXIS_Y] / -32767.f;
if(fabs(moveVertical) < 0.05f)
if(fabs(moveVertical) < DEAD_ZONE)
moveVertical = 0.f;
// POV hat info is only currently supported on Windows, but the value is
@ -267,12 +274,9 @@ int main()
}
node->setPosition(nodePosition);
// Turn lighting on and off depending on whether the left mouse button is down.
if(receiver.GetMouseState().LeftButtonDown)
node->setMaterialFlag(video::EMF_LIGHTING, true);
else
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialFlag(video::EMF_LIGHTING, receiver.GetMouseState().LeftButtonDown);
driver->beginScene(true, true, video::SColor(255,113,113,133));
smgr->drawAll(); // draw the 3d scene
@ -283,6 +287,6 @@ int main()
In the end, delete the Irrlicht device.
*/
device->drop();
return 0;
}

Some files were not shown because too many files have changed in this diff Show More