Merge branch releases/1.8 revisions 5286:5301 into trunk:

- Deprecate CMatrix4::transformBox
 - Fix CSceneCollisionManager::getPickedNodeBB which could sometimes miss collisions.
 - Get lights and renderTargetTexture tests working again on Windows 10


git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@5302 dfc29bdd-3216-0410-991c-e03cc46cb475
master
cutealien 2016-05-27 19:35:22 +00:00
parent 39f9b8fa49
commit 2c64159436
15 changed files with 26 additions and 21 deletions

View File

@ -136,6 +136,9 @@ Changes in 1.9 (not yet released)
--------------------------
Changes in 1.8.4
- Update lights and renderTargetTexture tests to work with Windows 10 (can't have so tiny Windows anymore).
- Deprecate CMatrix4::transformBox as the result is no longer a boundingbox. Use CMatrix4::transformBoxEx instead (which has been available for a long time).
- Fix CSceneCollisionManager::getPickedNodeBB which could sometimes miss collisions.
- Add -U__STRICT_ANSI__ option to c::b project files to allow compiling with -std=c++11 and add an error when trying to compile with Irrlicht with __STRICT_ANSI__
- Update libpng to 1.6.21
- Update zlib to 1.2.8

View File

@ -982,7 +982,7 @@ namespace video
\param color Color of the pixel to draw. */
virtual void drawPixel(u32 x, u32 y, const SColor& color) =0;
//! Draws a non filled concyclic regular 2d polyon.
//! Draws a non filled concyclic regular 2d polygon.
/** This method can be used to draw circles, but also
triangles, tetragons, pentagons, hexagons, heptagons, octagons,
enneagons, decagons, hendecagons, dodecagon, triskaidecagons,

View File

@ -1228,9 +1228,11 @@ namespace core
transformPlane( out );
}
//! Transforms a axis aligned bounding box
//! Transforms the edge-points of a bounding box
//! Deprecated as it's usually not what people need (regards only 2 corners, but other corners might be outside the box after transformation)
//! Use transformBoxEx instead.
template <class T>
inline void CMatrix4<T>::transformBox(core::aabbox3d<f32>& box) const
_IRR_DEPRECATED_ inline void CMatrix4<T>::transformBox(core::aabbox3d<f32>& box) const
{
#if defined ( USE_MATRIX_TEST )
if (isIdentity())

View File

@ -937,7 +937,7 @@ void CNullDriver::drawPixel(u32 x, u32 y, const SColor & color)
}
//! Draws a non filled concyclic regular 2d polyon.
//! Draws a non filled concyclic regular 2d polygon.
void CNullDriver::draw2DPolygon(core::position2d<s32> center,
f32 radius, video::SColor color, s32 count)
{

View File

@ -219,7 +219,7 @@ namespace video
//! Draws a pixel
virtual void drawPixel(u32 x, u32 y, const SColor & color) _IRR_OVERRIDE_;
//! Draws a non filled concyclic reqular 2d polyon.
//! Draws a non filled concyclic reqular 2d polygon.
virtual void draw2DPolygon(core::position2d<s32> center,
f32 radius, video::SColor Color, s32 vertexCount) _IRR_OVERRIDE_;
@ -702,13 +702,13 @@ namespace video
//! normal map lookup 32 bit version
inline f32 nml32(int x, int y, int pitch, int height, s32 *p) const
{
if (x < 0)
x = pitch-1;
if (x >= pitch)
if (x < 0)
x = pitch-1;
if (x >= pitch)
x = 0;
if (y < 0)
y = height-1;
if (y >= height)
if (y < 0)
y = height-1;
if (y >= height)
y = 0;
return (f32)(((p[(y * pitch) + x])>>16) & 0xff);
}
@ -716,13 +716,13 @@ namespace video
//! normal map lookup 16 bit version
inline f32 nml16(int x, int y, int pitch, int height, s16 *p) const
{
if (x < 0)
x = pitch-1;
if (x >= pitch)
if (x < 0)
x = pitch-1;
if (x >= pitch)
x = 0;
if (y < 0)
y = height-1;
if (y >= height)
if (y < 0)
y = height-1;
if (y >= height)
y = 0;
return (f32) getAverage ( p[(y * pitch) + x] );

View File

@ -134,7 +134,7 @@ void CSceneCollisionManager::getPickedNodeBB(ISceneNode* root,
// Now transform into world space, since we need to use world space
// scales and distances.
core::aabbox3df worldBox(objectBox);
current->getAbsoluteTransformation().transformBox(worldBox);
current->getAbsoluteTransformation().transformBoxEx(worldBox);
core::vector3df edges[8];
worldBox.getEdges(edges);

View File

@ -7,7 +7,7 @@ using namespace irr;
static bool testLightTypes(video::E_DRIVER_TYPE driverType)
{
IrrlichtDevice *device = createDevice (driverType, core::dimension2d<u32>(128,128));
IrrlichtDevice *device = createDevice (driverType, core::dimension2d<u32>(256,128));
if (!device)
return true; // No error if device does not exist

Binary file not shown.

Before

Width:  |  Height:  |  Size: 921 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@ -9,7 +9,7 @@ using namespace irr;
/** This test is very special in its setup, problematic situation was found by stefbuet. */
static bool testWith2DImage(video::E_DRIVER_TYPE driverType)
{
IrrlichtDevice *device = createDevice(driverType, core::dimension2d<u32> (128, 128));
IrrlichtDevice *device = createDevice(driverType, core::dimension2d<u32> (256, 128));
if (!device)
return true; // No error if device does not exist
@ -29,7 +29,7 @@ static bool testWith2DImage(video::E_DRIVER_TYPE driverType)
logTestString("Testing driver %ls\n", driver->getName());
video::ITexture *image = driver->getTexture ("../media/irrlichtlogo2.png");
video::ITexture *RTT_texture = driver->addRenderTargetTexture (core::dimension2d < u32 > (128, 128));
video::ITexture *RTT_texture = driver->addRenderTargetTexture (core::dimension2d < u32 > (256, 128));
smgr->addCameraSceneNode (0, core::vector3df (100, 100, 100),
core::vector3df (0, 0, 0));