Merged from 1.8 branch, revisions 4345-4378. All release fixes since the branch to 1.8, and some fixes after that. Now commencing development on this branch, and only bug fixes on the others.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@4379 dfc29bdd-3216-0410-991c-e03cc46cb475
master
hybrid 2012-11-20 18:31:33 +00:00
parent 36ad2bb93e
commit ae25bdf202
67 changed files with 1074 additions and 400 deletions

View File

@ -1,4 +1,11 @@
Changes in 1.8 (??.10.2012)
Changes in 1.8.1 (not yet released)
- Fix crash in CMeshSceneNode::clone when the mesh had no shadow (reported by christianclavet, bug-fix found by Nadro)
--------------------------
Changes in 1.8 (7.11.2012)
- Let sphere mesh use full opaque color, just as all the other ones do
- Gcc on Win32 (MinGW) now also works with the _w file access functions when compiled with _IRR_WCHAR_FILESYSTEM. (thx @ alexzk for reporting compile troubles)
@ -7,6 +14,14 @@ Changes in 1.8 (??.10.2012)
- matrix4::setRotationAxisRadians added
- user clipplanes fixed
- Skip rendering of lines, points, and polygons, as these lead to crahses due to wrong access to the vertex lists. A fix would need major rewrite of the vertex cache, or at least some other render methods.
- Add mipmap generation for makeColorKeyTexture
- Add another saveScene overload which allows to pass in a user-created XMLWriter. Patch suggested by eversilver.
- quaternion conversions to and from matrix4 no longer invert rotations.
To test if your code was affected by this you can set IRR_TEST_BROKEN_QUATERNION_USE in quaternion.h and try to compile your application.
Then on all compile-errors when you pass the matrix to the quaternion you can replace the matrix transposed matrix.
@ -24,6 +39,8 @@ Changes in 1.8 (??.10.2012)
- Colladareader now creates the ambient-light correct instead of creating a point-light for it.
- Add new parameter to array reallocate function. This prevents a reallocation in case the array would become smaller. As the reallocation operation is quite time consuming, this can be avoided on request now, on the expense of more memory consumption.
- Add IAnimatedMeshSceneNode::getLoopMode (asked for by JLouisB)
- CSceneNodeAnimatorCameraFPS now resets the key-input when it was disabled (thx @ gerdb for reporting and patch-proposal)
@ -34,6 +51,10 @@ Changes in 1.8 (??.10.2012)
- Allow caching cursor position on X11 to work around slow XQueryPointer calls (thx @Hendu for reporting+patch proposal)
- Make sure after EGET_EDITBOX_ENTER and EGET_COMBO_BOX_CHANGED event processing no more code is executed for the corresponding editbox or combobox objects to allow clearing the environment on those actions (see comments on bug-id 2995838).
- Fix string::replace which failed replacing substrings at the end when the replacement was longer
- Struct packing works now with gcc 4.7 changes on MinGW (thx @Sudi for reporting).
- Struct packing uses now same solution throughout (by including headers in corresponding places)
@ -42,7 +63,7 @@ Changes in 1.8 (??.10.2012)
- Add parameter useAlphaChannel to second IGUIEnvironment::addImage function.
- Fix vsync on X11
- Get rid of unnecessary warning "Could not load sprite bank because the file does not exist" for "#defaultfont".
- Fix MRT disabling. Bug found and fixed by hendu.
@ -54,6 +75,10 @@ Changes in 1.8 (??.10.2012)
- add -fPic in c::b linux fast math shared build.
- Fix by Auria for starting the animated meshes only at first OnAnimate instead of at random times and animation frames.
- Add support for MAX_COMBINED_TEXTURES, which allows more texture support than with the original fixed pipeline texture check under OpenGL. Now, more than 4 textures should also work with newer gfx cards and drivers, which often only support 4 fixed pipeline textures.
- triangle3d::isPointInsideFast now using some epsilon to catch all points on the borders.
- triangle3d::getIntersectionOfPlaneWithLine calculates now with higher precision for more exact results.
@ -66,6 +91,14 @@ Changes in 1.8 (??.10.2012)
- speedup for xml-writing.
- Fix 8bit grey image TGAs, which were not working due to missing palette. Also switched to RGB8 format, as otherwise a loss in precision would occur. Thanks to Klunk for the error report and a test image.
- fixed issues with a D3D driver and Aero effects.
- Fix font-drawing in CGUIButton to use EGDF_BUTTON again (thx @DJLinux for reporting).
- Add texture cache with proper reference handling. This avoids deletion of textures while still being active on the GPU. Test case and fix by m(att)giuca
- CFileSystem::removeFileArchive now checking for normalized path
- Fix zip's with passwords on 64-bit systems (thx @ Dr. Gladman for writing the bugfix)
@ -74,14 +107,24 @@ Changes in 1.8 (??.10.2012)
- added IGUIElement::setName and IGUIElement::getName (similar to ISceneNode)
- CSceneCollisionManager::getScreenCoordinatesFrom3DPosition uses now getCurrentRenderTargetSize instead of getScreenSize so it can work with render textures.
- irr::s64 support
- line2d::getClosestPoint can now also get the closest point on the line additional to only checking for closest point on the line-segment.
- avoid division by zero in line2d::getClosestPoint when start- and endpoint are identical
- Support for sw drivers under OSX
- Fix font-loading which got broken by fixed xml-loading. Thanks @ pc0de for finding and providing a test and patch.
- Don't crash draw2DSpriteBatch when it get's no textures.
- Add support for int passing in setShaderConstant
- Support for better collada texture wrapping support on loading.
- Fix for render context change where only the window id is given. We now try to change only the window ID, keeping context and display unchanged. Suggestion by vovo4ka from the forum.
- XML-reader now ignores all whitespace-only EXN_TEXT elements as old way didn't work in cross-platform way (and arguably also not well on Windows).
- CXMLReader initializes IsEmptyElement now.
@ -90,10 +133,72 @@ Changes in 1.8 (??.10.2012)
- line2d::getMiddle and line3d::getMiddle work now also with integers. But can be slower for compilers which are not optimizing division by 2 to multiplication by 0.5 for floats.
- Add Nadro's initial Cg support. Example 10 is enhanced to allow also Cg shaders.
- Add mipmap support from FBO extension, patch by Nadro.
- Add vertex optimization algorithm submitted by curaga
- rename texureBlend functions to textureBlend
- Add threshold for slerp calculation, switching between linear and slerp at this point.
- Fix for bug 3401933 - vertex color interpolation with shadow volumes in the scene
- Fixed bug in button sprites reported by RdR
- Fixed button state sprite animations for pressed, focused and hovered.
- Added serialization for terrain smooth factor, patch by RdR
- Implemented more button states for sprite banks, patch submitted by RdR
- Add IGUIEnvironment::getHovered to get the element most recently known to be under the mouse cursor
- Add FPS settings for animated meshes, which allows to push animation speed from files to Irrlicht animation system
- Maya camera updates
- Add support for bsp brush entities. Written by Hendu.
- weighted normals recalculation fixed
- Billboard improvements
- API docs updates
- triangle selector improvements
- OSX improvements by Auria
- Add new methods for adding and removing file archives based on ifilearchive pointers.
- Add getBackgroundColor, isDrawBackgroundEnabled and isDrawBorderEnabled to IGUIStaticText (thx 4 patch from Nalin).
- Reduction of multiple skinning the same mesh and frame in one render cycle
- Added ISceneNodeAnimatorCameraFPS::getKeyMap and a new ISceneNodeAnimatorCameraFPS::setKeyMap.
- CSceneNodeAnimatorCameraFPS uses now SKeyMap instead of SCamKeyMap (structs were identical which was confusing and there wasn't any explanation in comments, so I decided to simplify it).
- Add some workaround to MeshViewer to show how we can currently fix the FPS-cam when users to alt-tab while moving. We can improve that some day when we have focus-events, but this works for now.
- Fix LZMA decompression
- Ply normal fixes
- HW buffers only support rendering with both vertex and index buffers
- Enables VBOs for water node
- Octree support for non-standard vertex meshes
- Fix rotationFromTo
- Added ConstIterator
- Fix for getScreenCoordinatesFrom3DPosition to use proper RTT sizes
- Add IGUIComboBox::setMaxSelectionRows and IGUIComboBox::getMaxSelectionRows
- Scenemanager switches from type ESNT_UNKNOWN to type ESNT_SCENE_MANAGER.
@ -116,16 +221,90 @@ Changes in 1.8 (??.10.2012)
- IParticleSystemSceneNode::doParticleSystem now public to allow rendering outside scenegraph.
- getRelativeFilenames updates and fixes
- Renamed IOSOperator::getOperationSystemVersion to getOperatingSystemVersion. Changed return type from wchar_t to core::stringc, as that's the internal representation the name is built on.
- Added IGUITabControl::insertTab, IGUITabControl::removeTab, IGUITabControl::clear and IGUITabControl::getTabAt
- Add 32bit support to some mesh manipulator methods
- Fix mipmap locking under OpenGL
- Improvement of screenshot function to support more color formats and targets
- getAngle fix to avoid NaNs
- Available gfx memory output in log messages
- Improved 2d render settings and caching
- Initial suppport for sRGB render functions
- Improved terrain scene node rendering
- Paletted png image support fixed
- Gamma settings in image loaders improved
- Support for relative filenames in serialization
- Access to selectors inside meta selectors implemented
- DirectInput joystick support
- Support for scaling with draw2dimage with burnings video
- More gl extensions have correctly initialised return values
- Some fixes for quaternion to euler function
- Properly return nullptr if RTT creation fails on low levels
- Added IGUIListBox::getItemAt
- Add more image formats tried to load by q3 level loader
- Add fast_atof improvements from assimp, also strtoul10 method
- Add blend equation function for MRTs
- Add new material fields for blend operation and polygon offset (depth bias).
- Reorder texture stage assignments
- Improved VSync handling
- Fix Ogre loader for materials with more than one texture
- Fix createMeshCopy material handling
- Framework target for OSX project added
- Terrain scene node fixes
- Fix HSL color class
- Fix color selection GUI element
- Transparency issues in particle system fixed
- Particle sphere emitter rand values fixed
- Support Unicode SHY dynamic hypen in word wrap
- Fix OBJ reader sometimes running over EOF
- Added IGUITable::getColumnWidth
- Billboard text animates in OnAnimate now
- Fix mountpoint reader to properly sync file names and firectories
- Added the ability to open an archive from an IReadFile*, added a FileToHeader tool with instructions of how to make a portable app that consists of a single executable file.
- Added suppport for right-to-left (RTL) text, supplied by Auria from STK
- Added ISceneManager::createSceneNodeAnimator to create animators by name
- The Makefile now creates a symlink from the soname to the binary name during install. Binary compatibility is only confirmed between same minor releases.
@ -140,14 +319,14 @@ Changes in 1.8 (??.10.2012)
- Renamed IGUIElement::bringToBack to sendToBack, like in Windows
- Send EGET_ELEMENT_CLOSED event when context menues should be closed (thx @ Mloren for reporting).
- zip archive fixes: Fix directory tags in file list. Fix loading of stream zip files which have file sizes only in the central directory.
- Send EGET_ELEMENT_CLOSED event when context menus should be closed (thx @ Mloren for reporting).
- Added treeview to GUI editor, provided by Armen
- Added root type for GUI environment
- zip archive fixes: Fix directory tags in file list. Fix loading of stream zip files which have file sizes only in the central directory.
- Fixed panel scrollbars in GUI editor, reported by Armen
- Fix b3d loading of files with mixed mesh/bone sections.
@ -168,7 +347,7 @@ Changes in 1.8 (??.10.2012)
- Fix OpenGL FBODepthTexture to create less overhead
- Fix MRT disablingunder OpenGL
- Fix MRT disabling under OpenGL
- API change: Added write only lock mode for textures. The lock method has changed the signature and uses an enum parameter now instead of a bool. The default is still to lock for read/write (previously 'false'). The old 'true' value should be replaced by ETLM_READ_ONLY.
@ -184,18 +363,30 @@ Changes in 1.8 (??.10.2012)
- API change: getScreenCoordinatesFrom3DPosition has a new parameter, which needs to be set to true to get the original behavior. Now, the method returns coordinates which would fit as render coordinates of a currently enabled viewport. With the parameter set to true the result would fit only after the viewport is reset to full window rendering.
- More checks for Stencilbuffer
- Improve render state resets
- Fix MRT handling
- Fix file search
- Add flag and method to disable clipping of the text to the gui element rectangle in GUI static text.
- addShadowVolumeSceneNode now replaces an existing shadow. One should avoid to call this method multiple times without changing any parameter, as it is quite time consuming and cannot recognize the duplicate calls.
- Add function IGUIEnvironment::removeFont (TODO: Does not remove the texture from cache so far)
- Update to bzip2 1.0.6, libpng 1.4.4 and lzma from 9.20 SDK
- Fixed mem leak in mountfilesystem
- Update to libjpeg 8b, zlib 1.2.5, bzip2 1.0.6, libpng 1.4.4 and lzma from 9.20 SDK
- Functions in IMeshCache expecting IAnimatedMesh* parameters removed as similar functions with IMesh* can be used since a while. Fixes also problems when IAnimatedMesh* got upcasted to IMesh*. (thx @ Greenya for reporting)
- Fix blend states for MRTs
- 64bit targets for MSVC added
- The following functions will now use a "ISceneNode *" instead of a "const ISceneNode *":
ITriangleSelector::getSceneNodeForTriangle, ISceneNodeAnimatorCollisionResponse::getCollisionNode, ISceneCollisionManager::getCollisionPoint and ISceneCollisionManager::getCollisionResultPosition.
As collision functions often are followed by changing node positions users where so far forced to using const_casts (found by Greenya).
@ -224,6 +415,12 @@ Changes in 1.8 (??.10.2012)
- Bugfix: Icons in tabcontrol get now affected immediately by skin-changes
- Proper cleanup if visual not created
- XML reader bugfix
- Disable mipmaps in 2d mode everywhere
- Add xml example written by Yoran Bosman.
- Fix cursor cleanup under Linux when using multiple devices
@ -264,8 +461,6 @@ The following names can be queried for the given types:
- Fix "unsupported format" warning on RTT usage
- Add UseMipMap flag in material
- Add IGUIElement::bringToBack (patch written by DtD, although I'm to blame for the function-name)
- BurningVideo
@ -344,19 +539,31 @@ The following names can be queried for the given types:
- In IGUITreeView "clearChilds" and "hasChilds" deprecated for "clearChildren" and "hasChildren" (thx @Greenya for noticing)
- add CGUIEditBox::getOverrideColor and CGUIEditBox::isOverrideColorEnabled
- add dimension2d::operator-
- Add logging level ELL_DEBUG
- Add parameter DisplayAdapter to creation params to allow selecting the card when more than one card is in the system.
- Added support for custom cursors
- WM_SYSCOMMAND - SC_KEYMENU message is now ignored (F10 and ALT in Win32 windowed mode)
- Avoid argument lookup ambiguity in swap when used in combination with stl. Using same trick as boost now and use 2 different template parameters in it.
- Add UseMipMap flag in material
- Add occlusion query support. Based on code by Nadro
- Add support for vertex_array_bgra extension in OpenGL driver. This will speed up OpenGL rendering quite a lot as it skips the silly color conversion thing we have to do otherwise.
- Replace raw xml char implementation with template struct in order to decouple the type from POD types. May also help for 64bit problems or changes needed there.
- add dimension2d::operator-
- Fixed bug causing memory access violation in string::replace found and patched by Nalin.
- add CGUIEditBox::getOverrideColor and CGUIEditBox::isOverrideColorEnabled
- Add logging level ELL_DEBUG
- Add parameter DisplayAdapter to creation params to allow selecting the card when more than one card is in the system.
- Fix windows32 class unregister
- Add parameter to line2d::intersectWith to allow getting intersections outside the segments (thx Yoran).
@ -372,17 +579,13 @@ The following names can be queried for the given types:
- Support new OpenGL 2.x shader creation
- Added support for custom cursors
- Avoid argument lookup ambiguity in swap when used in combination with stl. Using same trick as boost now and use 2 different template parameters in it.
- Fixed bug causing memory access violation in string::replace found and patched by Nalin.
- WM_SYSCOMMAND - SC_KEYMENU message is now ignored (F10 and ALT in Win32 windowed mode)
-----------------------------
Changes in 1.7.4
- STL loader improved to handle arbitrary file starts
- Compiler problem with gcc4.6 and big endian systems fixed
- Change include order to get example 21 compiling on MinGW.
- Irrlicht.dll has correct name now again (was named libIrrlicht.dll in c::b). This fixes bugreport 3518765 reported by tetho.

26
doc/irrlicht-license.txt Normal file
View File

@ -0,0 +1,26 @@
Copyright (C) 2002-2012 Nikolaus Gebhardt
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
Please note that the Irrlicht Engine is based in part on the work of the
Independent JPEG Group, the zlib, libPng and aesGladman. This means that if you use
the Irrlicht Engine in your product, you must acknowledge somewhere in your
documentation that you've used the IJPG code. It would also be nice to mention
that you use the Irrlicht Engine, the zlib, libPng and aesGladman. See the
corresponding license files for further informations. It is also possible to disable
usage of those additional libraries by defines in the IrrCompileConfig.h header and
recompiling the engine.

351
doc/jpglib-license.txt Normal file
View File

@ -0,0 +1,351 @@
The Independent JPEG Group's JPEG software
==========================================
README for release 8d of 15-Jan-2012
====================================
This distribution contains the eighth public release of the Independent JPEG
Group's free JPEG software. You are welcome to redistribute this software and
to use it for any purpose, subject to the conditions under LEGAL ISSUES, below.
This software is the work of Tom Lane, Guido Vollbeding, Philip Gladstone,
Bill Allombert, Jim Boucher, Lee Crocker, Bob Friesenhahn, Ben Jackson,
Julian Minguillon, Luis Ortiz, George Phillips, Davide Rossi, Ge' Weijers,
and other members of the Independent JPEG Group.
IJG is not affiliated with the ISO/IEC JTC1/SC29/WG1 standards committee
(also known as JPEG, together with ITU-T SG16).
DOCUMENTATION ROADMAP
=====================
This file contains the following sections:
OVERVIEW General description of JPEG and the IJG software.
LEGAL ISSUES Copyright, lack of warranty, terms of distribution.
REFERENCES Where to learn more about JPEG.
ARCHIVE LOCATIONS Where to find newer versions of this software.
ACKNOWLEDGMENTS Special thanks.
FILE FORMAT WARS Software *not* to get.
TO DO Plans for future IJG releases.
Other documentation files in the distribution are:
User documentation:
install.txt How to configure and install the IJG software.
usage.txt Usage instructions for cjpeg, djpeg, jpegtran,
rdjpgcom, and wrjpgcom.
*.1 Unix-style man pages for programs (same info as usage.txt).
wizard.txt Advanced usage instructions for JPEG wizards only.
change.log Version-to-version change highlights.
Programmer and internal documentation:
libjpeg.txt How to use the JPEG library in your own programs.
example.c Sample code for calling the JPEG library.
structure.txt Overview of the JPEG library's internal structure.
filelist.txt Road map of IJG files.
coderules.txt Coding style rules --- please read if you contribute code.
Please read at least the files install.txt and usage.txt. Some information
can also be found in the JPEG FAQ (Frequently Asked Questions) article. See
ARCHIVE LOCATIONS below to find out where to obtain the FAQ article.
If you want to understand how the JPEG code works, we suggest reading one or
more of the REFERENCES, then looking at the documentation files (in roughly
the order listed) before diving into the code.
OVERVIEW
========
This package contains C software to implement JPEG image encoding, decoding,
and transcoding. JPEG (pronounced "jay-peg") is a standardized compression
method for full-color and gray-scale images.
This software implements JPEG baseline, extended-sequential, and progressive
compression processes. Provision is made for supporting all variants of these
processes, although some uncommon parameter settings aren't implemented yet.
We have made no provision for supporting the hierarchical or lossless
processes defined in the standard.
We provide a set of library routines for reading and writing JPEG image files,
plus two sample applications "cjpeg" and "djpeg", which use the library to
perform conversion between JPEG and some other popular image file formats.
The library is intended to be reused in other applications.
In order to support file conversion and viewing software, we have included
considerable functionality beyond the bare JPEG coding/decoding capability;
for example, the color quantization modules are not strictly part of JPEG
decoding, but they are essential for output to colormapped file formats or
colormapped displays. These extra functions can be compiled out of the
library if not required for a particular application.
We have also included "jpegtran", a utility for lossless transcoding between
different JPEG processes, and "rdjpgcom" and "wrjpgcom", two simple
applications for inserting and extracting textual comments in JFIF files.
The emphasis in designing this software has been on achieving portability and
flexibility, while also making it fast enough to be useful. In particular,
the software is not intended to be read as a tutorial on JPEG. (See the
REFERENCES section for introductory material.) Rather, it is intended to
be reliable, portable, industrial-strength code. We do not claim to have
achieved that goal in every aspect of the software, but we strive for it.
We welcome the use of this software as a component of commercial products.
No royalty is required, but we do ask for an acknowledgement in product
documentation, as described under LEGAL ISSUES.
LEGAL ISSUES
============
In plain English:
1. We don't promise that this software works. (But if you find any bugs,
please let us know!)
2. You can use this software for whatever you want. You don't have to pay us.
3. You may not pretend that you wrote this software. If you use it in a
program, you must acknowledge somewhere in your documentation that
you've used the IJG code.
In legalese:
The authors make NO WARRANTY or representation, either express or implied,
with respect to this software, its quality, accuracy, merchantability, or
fitness for a particular purpose. This software is provided "AS IS", and you,
its user, assume the entire risk as to its quality and accuracy.
This software is copyright (C) 1991-2012, Thomas G. Lane, Guido Vollbeding.
All Rights Reserved except as specified below.
Permission is hereby granted to use, copy, modify, and distribute this
software (or portions thereof) for any purpose, without fee, subject to these
conditions:
(1) If any part of the source code for this software is distributed, then this
README file must be included, with this copyright and no-warranty notice
unaltered; and any additions, deletions, or changes to the original files
must be clearly indicated in accompanying documentation.
(2) If only executable code is distributed, then the accompanying
documentation must state that "this software is based in part on the work of
the Independent JPEG Group".
(3) Permission for use of this software is granted only if the user accepts
full responsibility for any undesirable consequences; the authors accept
NO LIABILITY for damages of any kind.
These conditions apply to any software derived from or based on the IJG code,
not just to the unmodified library. If you use our work, you ought to
acknowledge us.
Permission is NOT granted for the use of any IJG author's name or company name
in advertising or publicity relating to this software or products derived from
it. This software may be referred to only as "the Independent JPEG Group's
software".
We specifically permit and encourage the use of this software as the basis of
commercial products, provided that all warranty or liability claims are
assumed by the product vendor.
ansi2knr.c is included in this distribution by permission of L. Peter Deutsch,
sole proprietor of its copyright holder, Aladdin Enterprises of Menlo Park, CA.
ansi2knr.c is NOT covered by the above copyright and conditions, but instead
by the usual distribution terms of the Free Software Foundation; principally,
that you must include source code if you redistribute it. (See the file
ansi2knr.c for full details.) However, since ansi2knr.c is not needed as part
of any program generated from the IJG code, this does not limit you more than
the foregoing paragraphs do.
The Unix configuration script "configure" was produced with GNU Autoconf.
It is copyright by the Free Software Foundation but is freely distributable.
The same holds for its supporting scripts (config.guess, config.sub,
ltmain.sh). Another support script, install-sh, is copyright by X Consortium
but is also freely distributable.
The IJG distribution formerly included code to read and write GIF files.
To avoid entanglement with the Unisys LZW patent, GIF reading support has
been removed altogether, and the GIF writer has been simplified to produce
"uncompressed GIFs". This technique does not use the LZW algorithm; the
resulting GIF files are larger than usual, but are readable by all standard
GIF decoders.
We are required to state that
"The Graphics Interchange Format(c) is the Copyright property of
CompuServe Incorporated. GIF(sm) is a Service Mark property of
CompuServe Incorporated."
REFERENCES
==========
We recommend reading one or more of these references before trying to
understand the innards of the JPEG software.
The best short technical introduction to the JPEG compression algorithm is
Wallace, Gregory K. "The JPEG Still Picture Compression Standard",
Communications of the ACM, April 1991 (vol. 34 no. 4), pp. 30-44.
(Adjacent articles in that issue discuss MPEG motion picture compression,
applications of JPEG, and related topics.) If you don't have the CACM issue
handy, a PostScript file containing a revised version of Wallace's article is
available at http://www.ijg.org/files/wallace.ps.gz. The file (actually
a preprint for an article that appeared in IEEE Trans. Consumer Electronics)
omits the sample images that appeared in CACM, but it includes corrections
and some added material. Note: the Wallace article is copyright ACM and IEEE,
and it may not be used for commercial purposes.
A somewhat less technical, more leisurely introduction to JPEG can be found in
"The Data Compression Book" by Mark Nelson and Jean-loup Gailly, published by
M&T Books (New York), 2nd ed. 1996, ISBN 1-55851-434-1. This book provides
good explanations and example C code for a multitude of compression methods
including JPEG. It is an excellent source if you are comfortable reading C
code but don't know much about data compression in general. The book's JPEG
sample code is far from industrial-strength, but when you are ready to look
at a full implementation, you've got one here...
The best currently available description of JPEG is the textbook "JPEG Still
Image Data Compression Standard" by William B. Pennebaker and Joan L.
Mitchell, published by Van Nostrand Reinhold, 1993, ISBN 0-442-01272-1.
Price US$59.95, 638 pp. The book includes the complete text of the ISO JPEG
standards (DIS 10918-1 and draft DIS 10918-2).
Although this is by far the most detailed and comprehensive exposition of
JPEG publicly available, we point out that it is still missing an explanation
of the most essential properties and algorithms of the underlying DCT
technology.
If you think that you know about DCT-based JPEG after reading this book,
then you are in delusion. The real fundamentals and corresponding potential
of DCT-based JPEG are not publicly known so far, and that is the reason for
all the mistaken developments taking place in the image coding domain.
The original JPEG standard is divided into two parts, Part 1 being the actual
specification, while Part 2 covers compliance testing methods. Part 1 is
titled "Digital Compression and Coding of Continuous-tone Still Images,
Part 1: Requirements and guidelines" and has document numbers ISO/IEC IS
10918-1, ITU-T T.81. Part 2 is titled "Digital Compression and Coding of
Continuous-tone Still Images, Part 2: Compliance testing" and has document
numbers ISO/IEC IS 10918-2, ITU-T T.83.
IJG JPEG 8 introduces an implementation of the JPEG SmartScale extension
which is specified in two documents: A contributed document at ITU and ISO
with title "ITU-T JPEG-Plus Proposal for Extending ITU-T T.81 for Advanced
Image Coding", April 2006, Geneva, Switzerland. The latest version of this
document is Revision 3. And a contributed document ISO/IEC JTC1/SC29/WG1 N
5799 with title "Evolution of JPEG", June/July 2011, Berlin, Germany.
The JPEG standard does not specify all details of an interchangeable file
format. For the omitted details we follow the "JFIF" conventions, revision
1.02. JFIF 1.02 has been adopted as an Ecma International Technical Report
and thus received a formal publication status. It is available as a free
download in PDF format from
http://www.ecma-international.org/publications/techreports/E-TR-098.htm.
A PostScript version of the JFIF document is available at
http://www.ijg.org/files/jfif.ps.gz. There is also a plain text version at
http://www.ijg.org/files/jfif.txt.gz, but it is missing the figures.
The TIFF 6.0 file format specification can be obtained by FTP from
ftp://ftp.sgi.com/graphics/tiff/TIFF6.ps.gz. The JPEG incorporation scheme
found in the TIFF 6.0 spec of 3-June-92 has a number of serious problems.
IJG does not recommend use of the TIFF 6.0 design (TIFF Compression tag 6).
Instead, we recommend the JPEG design proposed by TIFF Technical Note #2
(Compression tag 7). Copies of this Note can be obtained from
http://www.ijg.org/files/. It is expected that the next revision
of the TIFF spec will replace the 6.0 JPEG design with the Note's design.
Although IJG's own code does not support TIFF/JPEG, the free libtiff library
uses our library to implement TIFF/JPEG per the Note.
ARCHIVE LOCATIONS
=================
The "official" archive site for this software is www.ijg.org.
The most recent released version can always be found there in
directory "files". This particular version will be archived as
http://www.ijg.org/files/jpegsrc.v8d.tar.gz, and in Windows-compatible
"zip" archive format as http://www.ijg.org/files/jpegsr8d.zip.
The JPEG FAQ (Frequently Asked Questions) article is a source of some
general information about JPEG.
It is available on the World Wide Web at http://www.faqs.org/faqs/jpeg-faq/
and other news.answers archive sites, including the official news.answers
archive at rtfm.mit.edu: ftp://rtfm.mit.edu/pub/usenet/news.answers/jpeg-faq/.
If you don't have Web or FTP access, send e-mail to mail-server@rtfm.mit.edu
with body
send usenet/news.answers/jpeg-faq/part1
send usenet/news.answers/jpeg-faq/part2
ACKNOWLEDGMENTS
===============
Thank to Juergen Bruder for providing me with a copy of the common DCT
algorithm article, only to find out that I had come to the same result
in a more direct and comprehensible way with a more generative approach.
Thank to Istvan Sebestyen and Joan L. Mitchell for inviting me to the
ITU JPEG (Study Group 16) meeting in Geneva, Switzerland.
Thank to Thomas Wiegand and Gary Sullivan for inviting me to the
Joint Video Team (MPEG & ITU) meeting in Geneva, Switzerland.
Thank to Thomas Richter and Daniel Lee for inviting me to the
ISO/IEC JTC1/SC29/WG1 (also known as JPEG, together with ITU-T SG16)
meeting in Berlin, Germany.
Thank to John Korejwa and Massimo Ballerini for inviting me to
fruitful consultations in Boston, MA and Milan, Italy.
Thank to Hendrik Elstner, Roland Fassauer, Simone Zuck, Guenther
Maier-Gerber, Walter Stoeber, Fred Schmitz, and Norbert Braunagel
for corresponding business development.
Thank to Nico Zschach and Dirk Stelling of the technical support team
at the Digital Images company in Halle for providing me with extra
equipment for configuration tests.
Thank to Richard F. Lyon (then of Foveon Inc.) for fruitful
communication about JPEG configuration in Sigma Photo Pro software.
Thank to Andrew Finkenstadt for hosting the ijg.org site.
Last but not least special thank to Thomas G. Lane for the original
design and development of this singular software package.
FILE FORMAT WARS
================
The ISO/IEC JTC1/SC29/WG1 standards committee (also known as JPEG, together
with ITU-T SG16) currently promotes different formats containing the name
"JPEG" which is misleading because these formats are incompatible with
original DCT-based JPEG and are based on faulty technologies.
IJG therefore does not and will not support such momentary mistakes
(see REFERENCES).
There exist also distributions under the name "OpenJPEG" promoting such
kind of formats which is misleading because they don't support original
JPEG images.
We have no sympathy for the promotion of inferior formats. Indeed, one of
the original reasons for developing this free software was to help force
convergence on common, interoperable format standards for JPEG files.
Don't use an incompatible file format!
(In any case, our decoder will remain capable of reading existing JPEG
image files indefinitely.)
Furthermore, the ISO committee pretends to be "responsible for the popular
JPEG" in their public reports which is not true because they don't respond to
actual requirements for the maintenance of the original JPEG specification.
There are currently distributions in circulation containing the name
"libjpeg" which claim to be a "derivative" or "fork" of the original
libjpeg, but don't have the features and are incompatible with formats
supported by actual IJG libjpeg distributions. Furthermore, they
violate the license conditions as described under LEGAL ISSUES above.
We have no sympathy for the release of misleading and illegal
distributions derived from obsolete code bases.
Don't use an obsolete code base!
TO DO
=====
Version 8 is the first release of a new generation JPEG standard
to overcome the limitations of the original JPEG specification.
More features are being prepared for coming releases...
Please send bug reports, offers of help, etc. to jpeg-info@jpegclub.org.

111
doc/libpng-license.txt Normal file
View File

@ -0,0 +1,111 @@
This copy of the libpng notices is provided for your convenience. In case of
any discrepancy between this copy and the notices in the file png.h that is
included in the libpng distribution, the latter shall prevail.
COPYRIGHT NOTICE, DISCLAIMER, and LICENSE:
If you modify libpng you may insert additional notices immediately following
this sentence.
This code is released under the libpng license.
libpng versions 1.2.6, August 15, 2004, through 1.5.9, February 18, 2012, are
Copyright (c) 2004, 2006-2011 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.2.5
with the following individual added to the list of Contributing Authors
Cosmin Truta
libpng versions 1.0.7, July 1, 2000, through 1.2.5 - October 3, 2002, are
Copyright (c) 2000-2002 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-1.0.6
with the following individuals added to the list of Contributing Authors
Simon-Pierre Cadieux
Eric S. Raymond
Gilles Vollant
and with the following additions to the disclaimer:
There is no warranty against interference with your enjoyment of the
library or against infringement. There is no warranty that our
efforts or the library will fulfill any of your particular purposes
or needs. This library is provided with all faults, and the entire
risk of satisfactory quality, performance, accuracy, and effort is with
the user.
libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are
Copyright (c) 1998, 1999 Glenn Randers-Pehrson, and are
distributed according to the same disclaimer and license as libpng-0.96,
with the following individuals added to the list of Contributing Authors:
Tom Lane
Glenn Randers-Pehrson
Willem van Schaik
libpng versions 0.89, June 1996, through 0.96, May 1997, are
Copyright (c) 1996, 1997 Andreas Dilger
Distributed according to the same disclaimer and license as libpng-0.88,
with the following individuals added to the list of Contributing Authors:
John Bowler
Kevin Bracey
Sam Bushell
Magnus Holmgren
Greg Roelofs
Tom Tanner
libpng versions 0.5, May 1995, through 0.88, January 1996, are
Copyright (c) 1995, 1996 Guy Eric Schalnat, Group 42, Inc.
For the purposes of this copyright and license, "Contributing Authors"
is defined as the following set of individuals:
Andreas Dilger
Dave Martindale
Guy Eric Schalnat
Paul Schmidt
Tim Wegner
The PNG Reference Library is supplied "AS IS". The Contributing Authors
and Group 42, Inc. disclaim all warranties, expressed or implied,
including, without limitation, the warranties of merchantability and of
fitness for any purpose. The Contributing Authors and Group 42, Inc.
assume no liability for direct, indirect, incidental, special, exemplary,
or consequential damages, which may result from the use of the PNG
Reference Library, even if advised of the possibility of such damage.
Permission is hereby granted to use, copy, modify, and distribute this
source code, or portions hereof, for any purpose, without fee, subject
to the following restrictions:
1. The origin of this source code must not be misrepresented.
2. Altered versions must be plainly marked as such and must not
be misrepresented as being the original source.
3. This Copyright notice may not be removed or altered from any
source or altered source distribution.
The Contributing Authors and Group 42, Inc. specifically permit, without
fee, and encourage the use of this source code as a component to
supporting the PNG file format in commercial products. If you use this
source code in a product, acknowledgment is not required but would be
appreciated.
A "png_get_copyright" function is available, for convenient use in "about"
boxes and the like:
printf("%s",png_get_copyright(NULL));
Also, the PNG logo (in PNG format, of course) is supplied in the
files "pngbar.png" and "pngbar.jpg (88x31) and "pngnow.png" (98x31).
Libpng is OSI Certified Open Source Software. OSI Certified Open Source is a
certification mark of the Open Source Initiative.
Glenn Randers-Pehrson
glennrp at users.sourceforge.net
February 18, 2012

View File

@ -8,11 +8,10 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/HelloWorld" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\HelloWorld" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -20,32 +19,28 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/HelloWorld" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\HelloWorld" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../lib/Win32-gcc" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc/" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="Windows;Linux" />
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -8,11 +8,10 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/QuakeMap" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\QuakeMap" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -20,31 +19,28 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/Quake3Map" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-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>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="Windows;Linux" />
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,12 +8,11 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/CustomSceneNode" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\CustomSceneNode" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -21,20 +20,20 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux/" />
<Add directory="..\..\lib\Linux\" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/CustomSceneNode" prefix_auto="1" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\CustomSceneNode" prefix_auto="1" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc/" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
@ -42,13 +41,12 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="../../bin/gcc" />
<Add directory="..\..\bin\gcc" />
</Linker>
<Unit filename="main.cpp" />
<Extensions>

View File

@ -7,44 +7,40 @@
<Option compiler="gcc" />
<Build>
<Target title="Windows">
<Option output="../../bin/Win32-gcc/Movement" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\Movement" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/Movement" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\Movement" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
<Add option="-W" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="Windows;Linux" />
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -8,33 +8,30 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/gcc/UserInterface" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\UserInterface" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/UserInterface" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\UserInterface" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -43,6 +43,19 @@ enum
GUI_ID_TRANSPARENCY_SCROLL_BAR
};
/*
Set the skin transparency by changing the alpha values of all skin-colors
*/
void setSkinTransparency(s32 alpha, irr::gui::IGUISkin * skin)
{
for (s32 i=0; i<irr::gui::EGDC_COUNT ; ++i)
{
video::SColor col = skin->getColor((EGUI_DEFAULT_COLOR)i);
col.setAlpha(alpha);
skin->setColor((EGUI_DEFAULT_COLOR)i, col);
}
}
/*
The Event Receiver is not only capable of getting keyboard and
mouse input events, but also events of the graphical user interface
@ -81,14 +94,7 @@ public:
if (id == GUI_ID_TRANSPARENCY_SCROLL_BAR)
{
s32 pos = ((IGUIScrollBar*)event.GUIEvent.Caller)->getPos();
for (u32 i=0; i<EGDC_COUNT ; ++i)
{
SColor col = env->getSkin()->getColor((EGUI_DEFAULT_COLOR)i);
col.setAlpha(pos);
env->getSkin()->setColor((EGUI_DEFAULT_COLOR)i, col);
}
setSkinTransparency(pos, env->getSkin());
}
break;
@ -232,6 +238,8 @@ int main()
IGUIScrollBar* scrollbar = env->addScrollBar(true,
rect<s32>(150, 45, 350, 60), 0, GUI_ID_TRANSPARENCY_SCROLL_BAR);
scrollbar->setMax(255);
scrollbar->setPos(255);
setSkinTransparency( scrollbar->getPos(), env->getSkin());
// set scrollbar position to alpha value of an arbitrary element
scrollbar->setPos(env->getSkin()->getColor(EGDC_WINDOW).getAlpha());

View File

@ -8,33 +8,30 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/2DGraphics" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\2DGraphics" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/2DGraphics" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\2DGraphics" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,33 +8,30 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/Collision" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\Collision" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/Collision" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\Collision" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,33 +8,29 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/SpecialFX" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\SpecialFX" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/SpeciaFX" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\SpeciaFX" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +38,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +48,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -269,6 +269,7 @@ int main()
scene::ICameraSceneNode* camera = smgr->addCameraSceneNodeFPS();
camera->setPosition(core::vector3df(-50,50,-150));
camera->setFarValue(10000.0f); // this increase a shadow visible range.
// disable mouse cursor
device->getCursorControl()->setVisible(false);

View File

@ -8,24 +8,22 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/MeshViewer" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\MeshViewer" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option output="../../bin/Linux/MeshViewer" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\MeshViewer" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -33,7 +31,7 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -41,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -52,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,25 +8,23 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/Shaders" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\Shaders" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/Shaders" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\Shaders" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -34,7 +32,7 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +40,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +50,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -14,7 +14,6 @@
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-g" />
<Add option="-W" />
</Compiler>
<Linker>
<Add directory="..\..\lib\Win32-gcc" />
@ -28,7 +27,6 @@
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-g" />
<Add option="-W" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
@ -43,7 +41,6 @@
</VirtualTargets>
<Compiler>
<Add option="-g" />
<Add option="-W" />
<Add directory="..\..\include" />
</Compiler>
<Linker>

View File

@ -8,22 +8,20 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/TerrainRendering" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\TerrainRendering" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/TerrainRendering" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\TerrainRendering" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
@ -34,7 +32,7 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +40,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +50,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,33 +8,30 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/RenderToTexture" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\RenderToTexture" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/RenderToTexture" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\RenderToTexture" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -9,18 +9,17 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/Win32Window" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\Win32Window" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Option projectCompilerOptionsRelation="0" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="opengl32" />
<Add library="gdi32" />
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
@ -28,9 +27,8 @@
<Add alias="All" targets="Windows;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -8,34 +8,29 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/LoadIrrFile" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\LoadIrrFile" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/LoadIrrFile" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\LoadIrrFile" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Option use_console_runner="0" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -43,9 +38,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -54,6 +48,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,34 +8,31 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/Q3MapShader" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\Q3MapShader" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/Q3MapShader" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\Q3MapShader" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
<Add option="-W" />
<Add option="-D_IRR_STATIC_LIB_" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -43,9 +40,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -54,6 +50,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,33 +8,30 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/SplitScreen" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\SplitScreen" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/SplitScreen" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\SplitScreen" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,25 +8,23 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/gcc/MouseAndJoystick" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\MouseAndJoystick" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/MouseAndJoystick" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\MouseAndJoystick" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -34,7 +32,7 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +40,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +50,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,26 +8,24 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/ManagedLights" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\ManagedLights" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/ManagedLights" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\ManagedLights" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -35,7 +33,7 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -43,9 +41,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -54,6 +51,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,11 +8,10 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/Quake3Explorer" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\Quake3Explorer" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -20,22 +19,19 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/Quake3Explorer" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\Quake3Explorer" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../lib/Win32-gcc" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc/" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
@ -43,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -8,33 +8,30 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/MaterialViewer" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\MaterialViewer" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/MaterialViewer" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\MaterialViewer" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -42,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -53,6 +49,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,25 +8,28 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/SMeshHandling" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\SMeshHandling" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Linker>
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/SMeshHandling" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\SMeshHandling" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
<Compiler>
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -222,7 +222,9 @@ public:
}
Mesh->MeshBuffers.erase(i,Mesh->getMeshBufferCount()-i);
}
// set dirty flag to make sure that hardware copies of this
// buffer are also updated, see IMesh::setHardwareMappingHint
Mesh->setDirty();
Mesh->recalculateBoundingBox();
}

View File

@ -8,11 +8,10 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/CursorControl" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\CursorControl" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -20,22 +19,20 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/CursorControl" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\CursorControl" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../lib/Win32-gcc" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc/" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
@ -43,9 +40,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -8,11 +8,10 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/XmlHandling" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\XmlHandling" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -20,22 +19,19 @@
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/XmlHandling" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\XmlHandling" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../lib/Win32-gcc" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc/" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
@ -43,9 +39,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -7,44 +7,40 @@
<Option compiler="gcc" />
<Build>
<Target title="Windows">
<Option output="../../bin/Win32-gcc/OcclusionQuery" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\OcclusionQuery" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/OcclusionQuery" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\OcclusionQuery" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
<Add option="-W" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="Xcursor" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
<VirtualTargets>
<Add alias="All" targets="Windows;Linux" />
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />

View File

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="9.00"
Version="9,00"
Name="26.OcclusionQuery_vc9"
ProjectGUID="{7BDBB7E8-E0C9-4A0D-83C1-D389D6140FEF}"
ProjectGUID="{9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}"
RootNamespace="OcclusionQuery_vc9"
TargetFrameworkVersion="131072"
>

View File

@ -1,8 +1,9 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_workspace_file>
<Workspace title="Build all examples">
<Project filename="01.HelloWorld/HelloWorld.cbp" />
<Project filename="02.Quake3Map/Quake3Map.cbp" active="1" />
<Project filename="../source/Irrlicht/Irrlicht-gcc.cbp" />
<Project filename="01.HelloWorld/HelloWorld.cbp" active="1" />
<Project filename="02.Quake3Map/Quake3Map.cbp" />
<Project filename="03.CustomSceneNode/CustomSceneNode.cbp" />
<Project filename="04.Movement/Movement.cbp" />
<Project filename="05.UserInterface/UserInterface.cbp" />
@ -29,7 +30,6 @@
<Project filename="Demo/demo.cbp" />
<Project filename="../tools/GUIEditor/GUIEditor_gcc.cbp" />
<Project filename="../tools/MeshConverter/MeshConverter.cbp" />
<Project filename="../source/Irrlicht/Irrlicht-gcc.cbp" />
<Project filename="../tools/FileToHeader/FileToHeader.cbp" />
</Workspace>
</CodeBlocks_workspace_file>

View File

@ -1,6 +1,6 @@

Microsoft Visual Studio Solution File, Format Version 10.00
# Visual Studio 2008
# Visual C++ Express 2008
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "01.HelloWorld_vc9", "01.HelloWorld\HelloWorld_vc9.vcproj", "{5AD4C95C-BA38-4692-BA4B-8C25A86208F9}"
ProjectSection(ProjectDependencies) = postProject
{E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
@ -113,7 +113,7 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "21.Quake3Explorer_vc9", "21
{E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22.MaterialViewer_vc9", "22.MaterialViewer\MaterialViewer_vc9.vcproj", "{4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}"
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "22.MaterialViewer_vc9", "22.MaterialViewer\MaterialViewer_vc9.vcproj", "{F4C8112D-57A8-4D01-BB62-BAC6A09A6902}"
ProjectSection(ProjectDependencies) = postProject
{E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
EndProjectSection
@ -143,6 +143,10 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Mesh Converter", "..\tools\
{E08E042A-6C45-411B-92BE-3CC31331019F} = {E08E042A-6C45-411B-92BE-3CC31331019F}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "25.XmlHandling_vc9", "25.XmlHandling\XmlHandling_vc9.vcproj", "{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "26.OcclusionQuery_vc9", "26.OcclusionQuery\OcclusionQuery_vc9.vcproj", "{9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
@ -221,6 +225,10 @@ Global
{EB3B38EA-5CE7-4983-845B-880661E69D09}.Debug|Win32.Build.0 = Debug|Win32
{EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.ActiveCfg = Release|Win32
{EB3B38EA-5CE7-4983-845B-880661E69D09}.Release|Win32.Build.0 = Release|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.ActiveCfg = Debug|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.Build.0 = Debug|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.ActiveCfg = Release|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.Build.0 = Release|Win32
{1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.ActiveCfg = Debug|Win32
{1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Debug|Win32.Build.0 = Debug|Win32
{1AB9413E-4F53-42A3-8CB2-CB4BE22336D0}.Release|Win32.ActiveCfg = Release|Win32
@ -237,18 +245,18 @@ Global
{CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Debug|Win32.Build.0 = Debug|Win32
{CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.ActiveCfg = Release|Win32
{CDC4AAA9-72E1-4FFA-A04D-7EF59D8B97CD}.Release|Win32.Build.0 = Release|Win32
{4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|Win32.ActiveCfg = Debug|Win32
{4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Debug|Win32.Build.0 = Debug|Win32
{4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|Win32.ActiveCfg = Release|Win32
{4E6C2F8D-BA92-4C5B-96FD-72D4FE8BD7FA}.Release|Win32.Build.0 = Release|Win32
{F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Debug|Win32.ActiveCfg = Debug|Win32
{F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Debug|Win32.Build.0 = Debug|Win32
{F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Release|Win32.ActiveCfg = Release|Win32
{F4C8112D-57A8-4D01-BB62-BAC6A09A6902}.Release|Win32.Build.0 = Release|Win32
{6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.ActiveCfg = Debug|Win32
{6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Debug|Win32.Build.0 = Debug|Win32
{6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.ActiveCfg = Release|Win32
{6AEC2AA2-C9FF-4B7D-B07A-94A9D34B41D7}.Release|Win32.Build.0 = Release|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.ActiveCfg = Debug|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Debug|Win32.Build.0 = Debug|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.ActiveCfg = Release|Win32
{2A29B6B1-AFC4-46C7-9944-7052AAE66F7B}.Release|Win32.Build.0 = Release|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.ActiveCfg = Debug|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.Build.0 = Debug|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.ActiveCfg = Release|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.Build.0 = Release|Win32
{853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.ActiveCfg = Debug|Win32
{853A396E-C031-4C26-A716-5B4E176BE11D}.Debug|Win32.Build.0 = Debug|Win32
{853A396E-C031-4C26-A716-5B4E176BE11D}.Release|Win32.ActiveCfg = Release|Win32
@ -261,10 +269,14 @@ Global
{E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Debug|Win32.Build.0 = Debug|Win32
{E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.ActiveCfg = Release|Win32
{E72B637E-4AA6-46F3-885F-AC67B4B470ED}.Release|Win32.Build.0 = Release|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.ActiveCfg = Debug|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Debug|Win32.Build.0 = Debug|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.ActiveCfg = Release|Win32
{02B67A37-50E1-49DB-BECF-905BC029C2FE}.Release|Win32.Build.0 = Release|Win32
{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.ActiveCfg = Debug|Win32
{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Debug|Win32.Build.0 = Debug|Win32
{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.ActiveCfg = Release|Win32
{8FDA260E-EF27-4F8C-8720-7AF707DD0D9E}.Release|Win32.Build.0 = Release|Win32
{9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Debug|Win32.ActiveCfg = Debug|Win32
{9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Debug|Win32.Build.0 = Debug|Win32
{9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Release|Win32.ActiveCfg = Release|Win32
{9A859369-0A56-4DAB-9E0C-9F93C91CF0F2}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

View File

@ -322,6 +322,7 @@ void CDemo::switchToNextScene()
camera = sm->addCameraSceneNodeFPS(0, 100.0f, .4f, -1, keyMap, 9, false, 3.f);
camera->setPosition(core::vector3df(108,140,-140));
camera->setFarValue(5000.0f);
scene::ISceneNodeAnimatorCollisionResponse* collider =
sm->createCollisionResponseAnimator(
@ -703,7 +704,7 @@ void CDemo::createParticleImpacts()
scene::IParticleEmitter* em = pas->createBoxEmitter(
core::aabbox3d<f32>(-5,-5,-5,5,5,5),
Impacts[i].outVector, 20,40, video::SColor(0,255,255,255),video::SColor(0,255,255,255),
Impacts[i].outVector, 20,40, video::SColor(50,255,255,255),video::SColor(50,255,255,255),
1200,1600, 20);
pas->setEmitter(em);
@ -716,7 +717,7 @@ void CDemo::createParticleImpacts()
pas->setMaterialFlag(video::EMF_LIGHTING, false);
pas->setMaterialFlag(video::EMF_ZWRITE_ENABLE, false);
pas->setMaterialTexture(0, device->getVideoDriver()->getTexture("../../media/smoke.bmp"));
pas->setMaterialType(video::EMT_TRANSPARENT_VERTEX_ALPHA);
pas->setMaterialType(video::EMT_TRANSPARENT_ADD_COLOR);
scene::ISceneNodeAnimator* anim = sm->createDeleteAnimator(2000);
pas->addAnimator(anim);

View File

@ -8,26 +8,23 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/Demo" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\Demo" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/Demo" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\Demo" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -36,7 +33,7 @@
<Add library="Xcursor" />
<Add library="Irrlicht" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -46,11 +43,11 @@
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="../../lib/gcc" />
<Add directory="..\..\lib\gcc" />
</Linker>
<Unit filename="CDemo.cpp" />
<Unit filename="CDemo.h" />
@ -59,11 +56,13 @@
<Unit filename="main.cpp" />
<Unit filename="resource.h" />
<Unit filename="resscript.rc">
<Option compilerVar="WINDRES" />
<Option target="Windows" />
</Unit>
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -11,8 +11,8 @@
#define IRRLICHT_VERSION_REVISION 0
// This flag will be defined only in SVN, the official release code will have
// it undefined
#define IRRLICHT_VERSION_SVN -alpha
#define IRRLICHT_SDK_VERSION "1.8.0-alpha"
//#define IRRLICHT_VERSION_SVN -alpha
#define IRRLICHT_SDK_VERSION "1.8.0"
#include <stdio.h> // TODO: Although included elsewhere this is required at least for mingw

View File

@ -395,6 +395,7 @@ namespace video
}
break;
default:
color = 0xffffffff;
break;
}
}

View File

@ -120,7 +120,7 @@ typedef double f64;
#if defined(_MSC_VER) && _MSC_VER > 1310 && !defined (_WIN32_WCE)
#define swprintf swprintf_s
#define snprintf sprintf_s
#else
#elif !defined(__CYGWIN__)
#define swprintf _snwprintf
#define snprintf _snprintf
#endif

View File

@ -187,7 +187,7 @@
#include "vector2d.h"
#include "vector3d.h"
/*! \mainpage Irrlicht Engine 1.7 API documentation
/*! \mainpage Irrlicht Engine 1.8 API documentation
*
* <div align="center"><img src="logobig.png" ></div>
*

View File

@ -75,14 +75,10 @@ The Irrlicht Engine SDK version 1.8
with Irrlicht or recompile the engine. However, other compilers/IDEs may
work as well, we simply didn't test them.
* gcc 3.3
* gcc 3.4
* gcc 4.x
* Visual Studio.NET 2003 (7.1)
* Visual Studio 2005(8.0)-2010(10.0)
* Code::Blocks 1.0 (& gcc or visual studio toolkit)
* DevC++ 5.0 & gcc (project files included, please use Code::Blocks instead)
* Visual Studio 2008(9.0)-2012(11.0)
* Code::Blocks (& gcc or visual studio toolkit)
If you ever want to (re)compile the engine yourself (which means you don't
want to use the precompiled version) you need the following:
@ -175,17 +171,20 @@ The Irrlicht Engine SDK version 1.8
See http://irrlicht.sourceforge.net/author.html for more informations)
Christian Stehno (hybrid) Contribution Coordinator/Developer
Michael Zeilfelder (cutealien) GUI Developer
Patryk Nadrowski (Nadro) Developer
Yoran Bosman (Yoran) Webserver administrator
Gareth Davidson (bitplane) Developer/ Forum admin
Thomas Alten (burningwater) Wrote the burningsvideo software rasterizer
Luke P. Hoschke (luke) Wrote the b3d loader, the new animation system, VBOs and other things
Colin MacDonald (rogerborg) All hands person
Michael Zeilfelder (cutealien) GUI and patch expert
Ahmed Hilali (blindside) The shader and advanced effects man
Dean Wadsworth (varmint) OSX port maintainer and game developer
Alvaro F. Celis (afecelis) Lots of work in the community, for example video tutorials about Irrlicht, forum admin
John Goewert (Saigumi) Wrote some tutorials for the Irrlicht Engine and doing admin stuff
Jam Takes care of moderating the forums and keeps them clean from those evil spammers.
Many others (this list hasn't been updated in a while, but they are often mentioned in changes.txt)
Etienne Petitjean wrote the MacPort of the engine
Mark Jeacocke Wrote lots of helpful comments and ideas in the forums and per email.
Julio Gorgé Created the 'Unofficial DirectX 9.0 Driver for the Irrlicht Engine'
@ -230,6 +229,8 @@ The Irrlicht Engine SDK version 1.8
William Finlayson OpenGL RTT, GLSL support and the reflection 2 layer material for OpenGL.
Delight Various code contributions for Irrlicht.NET (particle system, basic shader support and more)
Michael Zoech Improved GLSL support
Greg Roelofs Created the zlib and libpng
Jean-loup Gailly, Mark Adler Created the zlib and libpng
Guy Eric Schalnat, Andreas Dilger, Glenn Randers-Pehrson and others Created libpng
The Independent JPEG Group Created JPEG lib
Dr Brian Gladman AES Created aesGladman

View File

@ -926,30 +926,13 @@ static void executeBlit_TextureBlendColor_32_to_32( const SBlitJob * job )
*/
static void executeBlit_Color_16_to_16( const SBlitJob * job )
{
const u16 c = video::A8R8G8B8toA1R5G5B5(job->argb);
u16 *dst = (u16*) job->dst;
u16 c0 = video::A8R8G8B8toA1R5G5B5( job->argb );
u32 c = c0 | c0 << 16;
if ( 0 == (job->srcPitch & 3 ) )
for ( s32 dy = 0; dy != job->height; ++dy )
{
for ( s32 dy = 0; dy != job->height; ++dy )
{
memset32( dst, c, job->srcPitch );
dst = (u16*) ( (u8*) (dst) + job->dstPitch );
}
}
else
{
s32 dx = job->width - 1;
for ( s32 dy = 0; dy != job->height; ++dy )
{
memset32( dst, c, job->srcPitch );
dst[dx] = c0;
dst = (u16*) ( (u8*) (dst) + job->dstPitch );
}
memset16(dst, c, job->srcPitch);
dst = (u16*) ( (u8*) (dst) + job->dstPitch );
}
}

View File

@ -363,7 +363,7 @@ IMesh* CGeometryCreator::createSphereMesh(f32 radius, u32 polyCountX, u32 polyCo
buffer->Indices.reallocate((polyCountX * polyCountY) * 6);
const video::SColor clr(100, 255,255,255);
const video::SColor clr(255, 255,255,255);
u32 level = 0;

View File

@ -1334,7 +1334,7 @@ void CIrrDeviceLinux::setResizable(bool resize)
video::IVideoModeList* CIrrDeviceLinux::getVideoModeList()
{
#ifdef _IRR_COMPILE_WITH_X11_
if (!VideoModeList.getVideoModeCount())
if (!VideoModeList->getVideoModeCount())
{
bool temporaryDisplay = false;
@ -1364,11 +1364,11 @@ video::IVideoModeList* CIrrDeviceLinux::getVideoModeList()
// find fitting mode
VideoModeList.setDesktop(defaultDepth, core::dimension2d<u32>(
VideoModeList->setDesktop(defaultDepth, core::dimension2d<u32>(
modes[0]->hdisplay, modes[0]->vdisplay));
for (int i = 0; i<modeCount; ++i)
{
VideoModeList.addMode(core::dimension2d<u32>(
VideoModeList->addMode(core::dimension2d<u32>(
modes[i]->hdisplay, modes[i]->vdisplay), defaultDepth);
}
XFree(modes);
@ -1382,11 +1382,11 @@ video::IVideoModeList* CIrrDeviceLinux::getVideoModeList()
XRRScreenConfiguration *config=XRRGetScreenInfo(display,DefaultRootWindow(display));
oldRandrMode=XRRConfigCurrentConfiguration(config,&oldRandrRotation);
XRRScreenSize *modes=XRRConfigSizes(config,&modeCount);
VideoModeList.setDesktop(defaultDepth, core::dimension2d<u32>(
VideoModeList->setDesktop(defaultDepth, core::dimension2d<u32>(
modes[oldRandrMode].width, modes[oldRandrMode].height));
for (int i = 0; i<modeCount; ++i)
{
VideoModeList.addMode(core::dimension2d<u32>(
VideoModeList->addMode(core::dimension2d<u32>(
modes[i].width, modes[i].height), defaultDepth);
}
XRRFreeScreenConfigInfo(config);
@ -1405,7 +1405,7 @@ video::IVideoModeList* CIrrDeviceLinux::getVideoModeList()
}
#endif
return &VideoModeList;
return VideoModeList;
}

View File

@ -704,7 +704,7 @@ void CIrrDeviceSDL::closeDevice()
//! \return Pointer to a list with all video modes supported
video::IVideoModeList* CIrrDeviceSDL::getVideoModeList()
{
if (!VideoModeList.getVideoModeCount())
if (!VideoModeList->getVideoModeCount())
{
// enumerate video modes.
const SDL_VideoInfo *vi = SDL_GetVideoInfo();
@ -716,12 +716,12 @@ video::IVideoModeList* CIrrDeviceSDL::getVideoModeList()
else
{
for (u32 i=0; modes[i]; ++i)
VideoModeList.addMode(core::dimension2d<u32>(modes[i]->w, modes[i]->h), vi->vfmt->BitsPerPixel);
VideoModeList->addMode(core::dimension2d<u32>(modes[i]->w, modes[i]->h), vi->vfmt->BitsPerPixel);
}
}
}
return &VideoModeList;
return VideoModeList;
}

View File

@ -20,8 +20,10 @@ namespace irr
CIrrDeviceStub::CIrrDeviceStub(const SIrrlichtCreationParameters& params)
: IrrlichtDevice(), VideoDriver(0), GUIEnvironment(0), SceneManager(0),
Timer(0), CursorControl(0), UserReceiver(params.EventReceiver), Logger(0), Operator(0),
Randomizer(0), FileSystem(0), InputReceivingSceneManager(0), CreationParams(params),
Close(false)
Randomizer(0), FileSystem(0), InputReceivingSceneManager(0),
VideoModeList(0), CreationParams(params), Close(false)
FileSystem(0), InputReceivingSceneManager(0), VideoModeList(0),
CreationParams(params), Close(false)
{
Timer = new CTimer(params.UsePerformanceTimer);
if (os::Printer::Logger)
@ -41,6 +43,8 @@ CIrrDeviceStub::CIrrDeviceStub(const SIrrlichtCreationParameters& params)
Randomizer = createDefaultRandomizer();
FileSystem = io::createFileSystem();
VideoModeList = new video::CVideoModeList();
core::stringc s = "Irrlicht Engine version ";
s.append(getVersion());
os::Printer::log(s.c_str(), ELL_INFORMATION);
@ -51,6 +55,7 @@ CIrrDeviceStub::CIrrDeviceStub(const SIrrlichtCreationParameters& params)
CIrrDeviceStub::~CIrrDeviceStub()
{
VideoModeList->drop();
FileSystem->drop();
if (GUIEnvironment)
@ -154,7 +159,7 @@ gui::ICursorControl* CIrrDeviceStub::getCursorControl()
//! by the gfx adapter.
video::IVideoModeList* CIrrDeviceStub::getVideoModeList()
{
return &VideoModeList;
return VideoModeList;
}

View File

@ -175,7 +175,7 @@ namespace irr
EMOUSE_INPUT_EVENT LastMouseInputEvent;
};
SMouseMultiClicks MouseMultiClicks;
video::CVideoModeList VideoModeList;
video::CVideoModeList* VideoModeList;
SIrrlichtCreationParameters CreationParams;
bool Close;
};

View File

@ -854,17 +854,21 @@ LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
case WM_ACTIVATE:
// we need to take care for screen changes, e.g. Alt-Tab
dev = getDeviceFromHWnd(hWnd);
if (dev)
if (dev && dev->isFullscreen())
{
if ((wParam&0xFF)==WA_INACTIVE)
{
// If losing focus we minimize the app to show other one
ShowWindow(hWnd,SW_MINIMIZE);
// and switch back to default resolution
dev->switchToFullScreen(true);
}
else
{
// Otherwise we retore the fullscreen Irrlicht app
SetForegroundWindow(hWnd);
ShowWindow(hWnd, SW_RESTORE);
// and set the fullscreen resolution again
dev->switchToFullScreen();
}
}
@ -922,6 +926,13 @@ CIrrDeviceWin32::CIrrDeviceWin32(const SIrrlichtCreationParameters& params)
// get handle to exe file
HINSTANCE hInstance = GetModuleHandle(0);
// Store original desktop mode.
memset(&DesktopMode, 0, sizeof(DesktopMode));
DesktopMode.dmSize = sizeof(DesktopMode);
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &DesktopMode);
// create the window if we need to and we do not use the null device
if (!CreationParams.WindowId && CreationParams.DriverType != video::EDT_NULL)
{
@ -1336,22 +1347,23 @@ bool CIrrDeviceWin32::switchToFullScreen(bool reset)
if (!CreationParams.Fullscreen)
return true;
DEVMODE dm;
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
// use default values from current setting
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
if (reset)
{
if (ChangedToFullScreen)
{
return (ChangeDisplaySettings(&dm,0)==DISP_CHANGE_SUCCESSFUL);
return (ChangeDisplaySettings(&DesktopMode,0)==DISP_CHANGE_SUCCESSFUL);
}
else
return true;
}
// use default values from current setting
DEVMODE dm;
memset(&dm, 0, sizeof(dm));
dm.dmSize = sizeof(dm);
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm);
dm.dmPelsWidth = CreationParams.WindowSize.Width;
dm.dmPelsHeight = CreationParams.WindowSize.Height;
dm.dmBitsPerPel = CreationParams.Bits;
@ -1406,7 +1418,7 @@ CIrrDeviceWin32::CCursorControl* CIrrDeviceWin32::getWin32CursorControl()
//! by the gfx adapter.
video::IVideoModeList* CIrrDeviceWin32::getVideoModeList()
{
if (!VideoModeList.getVideoModeCount())
if (!VideoModeList->getVideoModeCount())
{
// enumerate video modes.
DWORD i=0;
@ -1416,17 +1428,17 @@ video::IVideoModeList* CIrrDeviceWin32::getVideoModeList()
while (EnumDisplaySettings(NULL, i, &mode))
{
VideoModeList.addMode(core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight),
VideoModeList->addMode(core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight),
mode.dmBitsPerPel);
++i;
}
if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &mode))
VideoModeList.setDesktop(mode.dmBitsPerPel, core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight));
VideoModeList->setDesktop(mode.dmBitsPerPel, core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight));
}
return &VideoModeList;
return VideoModeList;
}
typedef BOOL (WINAPI *PGPI)(DWORD, DWORD, DWORD, DWORD, PDWORD);

View File

@ -395,6 +395,7 @@ namespace irr
bool Resized;
bool ExternalWindow;
CCursorControl* Win32CursorControl;
DEVMODE DesktopMode;
SJoystickWin32Control* JoyControl;
};

View File

@ -770,7 +770,7 @@ CIrrDeviceWinCE::CCursorControl* CIrrDeviceWinCE::getWin32CursorControl()
/** \return Pointer to video modes list */
video::IVideoModeList* CIrrDeviceWinCE::getVideoModeList()
{
if (!VideoModeList.getVideoModeCount())
if (!VideoModeList->getVideoModeCount())
{
// enumerate video modes.
DWORD i=0;
@ -780,17 +780,17 @@ video::IVideoModeList* CIrrDeviceWinCE::getVideoModeList()
while (EnumDisplaySettings(NULL, i, &mode))
{
VideoModeList.addMode(core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight),
VideoModeList->addMode(core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight),
mode.dmBitsPerPel);
++i;
}
if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &mode))
VideoModeList.setDesktop(mode.dmBitsPerPel, core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight));
VideoModeList->setDesktop(mode.dmBitsPerPel, core::dimension2d<u32>(mode.dmPelsWidth, mode.dmPelsHeight));
}
return &VideoModeList;
return VideoModeList;
}

View File

@ -433,7 +433,8 @@ ISceneNode* CMeshSceneNode::clone(ISceneNode* newParent, ISceneManager* newManag
nb->ReadOnlyMaterials = ReadOnlyMaterials;
nb->Materials = Materials;
nb->Shadow = Shadow;
nb->Shadow->grab();
if ( nb->Shadow )
nb->Shadow->grab();
if (newParent)
nb->drop();

View File

@ -40,8 +40,6 @@ IAnimatedMesh* CSTLMeshFileLoader::createMesh(io::IReadFile* file)
if (filesize < 6) // we need a header
return 0;
const u32 WORD_BUFFER_LENGTH = 512;
SMesh* mesh = new SMesh();
SMeshBuffer* meshBuffer = new SMeshBuffer();
mesh->addMeshBuffer(meshBuffer);
@ -50,8 +48,6 @@ IAnimatedMesh* CSTLMeshFileLoader::createMesh(io::IReadFile* file)
core::vector3df vertex[3];
core::vector3df normal;
c8 buffer[WORD_BUFFER_LENGTH];
bool binary = false;
core::stringc token;
if (getNextToken(file, token) != "solid")

View File

@ -1490,7 +1490,7 @@ REALINLINE s4DVertex * CBurningVideoDriver::VertexCache_getVertex ( const u32 so
fill blockwise on the next 16(Cache_Size) unique vertices in indexlist
merge the next 16 vertices with the current
*/
REALINLINE void CBurningVideoDriver::VertexCache_get ( s4DVertex ** face )
REALINLINE void CBurningVideoDriver::VertexCache_get(const s4DVertex ** face)
{
SCacheInfo info[VERTEXCACHE_ELEMENT];
@ -1595,7 +1595,8 @@ REALINLINE void CBurningVideoDriver::VertexCache_get ( s4DVertex ** face )
face[0] = VertexCache_getVertex ( p[ i0 ] );
face[1] = VertexCache_getVertex ( p[ VertexCache.indicesRun + 1] );
face[2] = VertexCache_getVertex ( p[ VertexCache.indicesRun + 2] );
} break;
}
break;
case 2:
{
@ -1603,12 +1604,17 @@ REALINLINE void CBurningVideoDriver::VertexCache_get ( s4DVertex ** face )
face[0] = VertexCache_getVertex ( p[ i0 ] );
face[1] = VertexCache_getVertex ( p[ VertexCache.indicesRun + 1] );
face[2] = VertexCache_getVertex ( p[ VertexCache.indicesRun + 2] );
} break;
}
break;
case 4:
face[0] = VertexCache_getVertex ( VertexCache.indicesRun + 0 );
face[1] = VertexCache_getVertex ( VertexCache.indicesRun + 1 );
face[2] = VertexCache_getVertex ( VertexCache.indicesRun + 2 );
break;
break;
default:
face[0] = face[1] = face[2] = VertexCache_getVertex(VertexCache.indicesRun + 0);
break;
}
VertexCache.indicesRun += VertexCache.primitivePitch;
@ -1760,7 +1766,7 @@ void CBurningVideoDriver::drawVertexPrimitiveList(const void* vertices, u32 vert
for ( i = 0; i < (u32) primitiveCount; ++i )
{
VertexCache_get ( (s4DVertex**) face );
VertexCache_get(face);
// if fully outside or outside on same side
if ( ( (face[0]->flag | face[1]->flag | face[2]->flag) & VERTEX4D_CLIPMASK )

View File

@ -238,7 +238,7 @@ namespace video
const void* indices, u32 indexCount,
E_VERTEX_TYPE vType,scene::E_PRIMITIVE_TYPE pType,
E_INDEX_TYPE iType);
void VertexCache_get ( s4DVertex ** face );
void VertexCache_get ( const s4DVertex ** face );
void VertexCache_getbypass ( s4DVertex ** face );
void VertexCache_fill ( const u32 sourceIndex,const u32 destIndex );

View File

@ -60,8 +60,8 @@
<Option createStaticLib="1" />
<Compiler>
<Add option="-O2" />
<Add option="-W" />
<Add option="-Wall" />
<Add option="-W" />
<Add option="-Wno-unused-parameter" />
<Add option="-DWIN32" />
<Add option="-DNDEBUG" />
@ -74,6 +74,7 @@
<Add directory="zlib" />
</Compiler>
<Linker>
<Add option="-s" />
<Add library="kernel32" />
<Add library="user32" />
<Add library="gdi32" />
@ -267,7 +268,6 @@
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-W" />
<Add option="-O0" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
@ -296,7 +296,6 @@
<Compiler>
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-W" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
<Add option="-fno-exceptions" />
@ -323,7 +322,6 @@
<Compiler>
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-W" />
<Add option="-Wno-unused-parameter" />
<Add option="-fPIC" />
<Add option="-ffast-math" />
@ -352,7 +350,6 @@
<Add option="-Wextra" />
<Add option="-Wall" />
<Add option="-g" />
<Add option="-W" />
<Add option="-O0" />
<Add option="-Wno-unused-parameter" />
<Add option="-fno-exceptions" />
@ -380,7 +377,6 @@
<Compiler>
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-W" />
<Add option="-Wno-unused-parameter" />
<Add option="-fno-exceptions" />
<Add option="-D_IRR_STATIC_LIB_" />
@ -406,7 +402,6 @@
<Compiler>
<Add option="-O3" />
<Add option="-Wextra" />
<Add option="-W" />
<Add option="-Wno-unused-parameter" />
<Add option="-ffast-math" />
<Add option="-fno-exceptions" />
@ -628,6 +623,7 @@
<Unit filename="CBSPMeshFileLoader.h" />
<Unit filename="CBillboardSceneNode.cpp" />
<Unit filename="CBillboardSceneNode.h" />
<Unit filename="CBlit.h" />
<Unit filename="CBoneSceneNode.cpp" />
<Unit filename="CBoneSceneNode.h" />
<Unit filename="CBurningShader_Raster_Reference.cpp" />

View File

@ -1,7 +1,7 @@
VERSION_MAJOR = 1
VERSION_MINOR = 8
VERSION_RELEASE = 0-SVN
# Irrlicht Engine 1.8.0-SVN
VERSION_RELEASE = 0
# Irrlicht Engine 1.8.0
# Makefile for Linux
#
# To use, just run:

View File

@ -67,14 +67,16 @@ namespace irr
// ----------------------- Generic ----------------------------------
//! a more useful memset for pixel
inline void memset32 ( void * dest, const u32 value, u32 bytesize )
// (standard memset only works with 8-bit values)
inline void memset32(void * dest, const u32 value, u32 bytesize)
{
u32 * d = (u32*) dest;
u32 i;
i = bytesize >> ( 2 + 3 );
while( i )
// loops unrolled to reduce the number of increments by factor ~8.
i = bytesize >> (2 + 3);
while (i)
{
d[0] = value;
d[1] = value;
@ -91,13 +93,47 @@ inline void memset32 ( void * dest, const u32 value, u32 bytesize )
}
i = (bytesize >> 2 ) & 7;
while( i )
while (i)
{
d[0] = value;
d += 1;
i -= 1;
}
}
//! a more useful memset for pixel
// (standard memset only works with 8-bit values)
inline void memset16(void * dest, const u16 value, u32 bytesize)
{
u16 * d = (u16*) dest;
u32 i;
// loops unrolled to reduce the number of increments by factor ~8.
i = bytesize >> (1 + 3);
while (i)
{
d[0] = value;
d[1] = value;
d[2] = value;
d[3] = value;
d[4] = value;
d[5] = value;
d[6] = value;
d[7] = value;
d += 8;
--i;
}
i = (bytesize >> 1 ) & 7;
while (i)
{
d[0] = value;
++d;
--i;
}
}
/*

View File

@ -29,7 +29,7 @@ static bool testLineRendering(video::E_DRIVER_TYPE type)
scene::ISceneManager* smgr = device->getSceneManager();
scene::IAnimatedMesh* mesh = smgr->getMesh("../media/sydney.md2");
scene::IAnimatedMesh* mesh = smgr->getMesh("./media/sydney.md2");
if (!mesh)
{
device->closeDevice();
@ -46,7 +46,7 @@ static bool testLineRendering(video::E_DRIVER_TYPE type)
{
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
node->setMaterialTexture( 0, driver->getTexture("../media/sydney.bmp") );
node->setMaterialTexture( 0, driver->getTexture("./media/sydney.bmp") );
}
smgr->addCameraSceneNode(0, core::vector3df(0,30,-40), core::vector3df(0,5,0));
@ -64,7 +64,7 @@ static bool testLineRendering(video::E_DRIVER_TYPE type)
device->run();
device->drop();
return result;
}
}
bool antiAliasing()
{

View File

@ -71,6 +71,9 @@ bool testWithDriver(video::E_DRIVER_TYPE driverType)
default: break;
}
// TODO: mode is buggy, but required for skybox. So driver supports it, but would core dump here.
if (driverType==video::EDT_BURNINGSVIDEO && Type==scene::EPT_TRIANGLE_FAN)
continue;
driver->setMaterial(Buffer.Material);
driver->setTransform(video::ETS_WORLD, core::IdentityMatrix);
driver->drawVertexPrimitiveList(Buffer.getVertices(),

View File

@ -20,7 +20,7 @@ bool testLastFrame()
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager * smgr = device->getSceneManager();
scene::IAnimatedMesh* mesh = smgr->getMesh("../media/sydney.md2");
scene::IAnimatedMesh* mesh = smgr->getMesh("./media/sydney.md2");
bool result = (mesh != 0);
if (mesh)
@ -31,7 +31,7 @@ bool testLastFrame()
{
node->setPosition(vector3df(20, 0, 30));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setMaterialTexture(0, driver->getTexture("../media/sydney.bmp"));
node->setMaterialTexture(0, driver->getTexture("./media/sydney.bmp"));
node->setLoopMode(false);
(void)smgr->addCameraSceneNode();
@ -84,7 +84,7 @@ bool testNormals()
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager * smgr = device->getSceneManager();
scene::IAnimatedMesh* mesh = smgr->getMesh("../media/sydney.md2");
scene::IAnimatedMesh* mesh = smgr->getMesh("./media/sydney.md2");
bool result = (mesh != 0);
if (mesh)
@ -95,7 +95,7 @@ bool testNormals()
node->setPosition(vector3df(20, 0, 30));
node->setMaterialFlag(video::EMF_LIGHTING, false);
node->setDebugDataVisible(scene::EDS_NORMALS);
node->setMaterialTexture(0, driver->getTexture("../media/sydney.bmp"));
node->setMaterialTexture(0, driver->getTexture("./media/sydney.bmp"));
node->setLoopMode(false);
(void)smgr->addCameraSceneNode();

BIN
tests/media/sydney.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

BIN
tests/media/sydney.md2 Normal file

Binary file not shown.

View File

@ -54,6 +54,7 @@ static bool withSphere(video::E_DRIVER_TYPE type)
bool result = takeScreenshotAndCompareAgainstReference(driver, "-ucpsphere.png");
device->closeDevice();
device->run();
device->drop();
return result;
}

View File

@ -8,30 +8,27 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/FileToHeader" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\FileToHeader" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
<Add option="-W" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/FileToHeader" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\FileToHeader" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
@ -40,12 +37,12 @@
</VirtualTargets>
<Compiler>
<Add option="-g" />
<Add option="-W" />
</Compiler>
<Unit filename="main.cpp" />
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,27 +8,24 @@
<Build>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/win32-gcc/GUIEditor.exe" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\win32-gcc\GUIEditor.exe" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/GUIEditor" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\GUIEditor" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
@ -36,7 +33,7 @@
<Add library="Irrlicht" />
<Add library="Xxf86vm" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
</Build>
@ -44,7 +41,7 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -74,6 +71,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>

View File

@ -8,32 +8,29 @@
<Build>
<Target title="Linux">
<Option platforms="Unix;" />
<Option output="../../bin/Linux/MeshConverter" prefix_auto="0" extension_auto="0" />
<Option output="..\..\bin\Linux\MeshConverter" prefix_auto="0" extension_auto="0" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add option="-D_IRR_STATIC_LIB_" />
</Compiler>
<Linker>
<Add library="Xxf86vm" />
<Add library="GL" />
<Add directory="../../lib/Linux" />
<Add directory="..\..\lib\Linux" />
</Linker>
</Target>
<Target title="Windows">
<Option platforms="Windows;" />
<Option output="../../bin/Win32-gcc/MeshConverter" prefix_auto="0" extension_auto="1" />
<Option output="..\..\bin\Win32-gcc\MeshConverter" prefix_auto="0" extension_auto="1" />
<Option type="1" />
<Option compiler="gcc" />
<Option projectResourceIncludeDirsRelation="1" />
<Compiler>
<Add option="-Wall" />
<Add option="-g" />
</Compiler>
<Linker>
<Add directory="../../lib/Win32-gcc" />
<Add directory="..\..\lib\Win32-gcc" />
</Linker>
</Target>
</Build>
@ -41,9 +38,8 @@
<Add alias="All" targets="Windows;Linux;" />
</VirtualTargets>
<Compiler>
<Add option="-W" />
<Add option="-g" />
<Add directory="../../include" />
<Add directory="..\..\include" />
</Compiler>
<Linker>
<Add library="Irrlicht" />
@ -52,6 +48,7 @@
<Extensions>
<code_completion />
<debugger />
<envvars />
</Extensions>
</Project>
</CodeBlocks_project_file>