Commit Graph

  • b0a070d980 Drop Irrlicht icon numzero 2023-09-20 22:44:50 +03:00
  • d9216362ec Drop obsolete docs numzero 2023-09-20 22:44:43 +03:00
  • 298623541b Fix number overflows in TGA loader causing crashes Image size calculation could overflow s32 in one place (but not others where it was done correct), which first lead to wrong amount of memory getting allocated for image data and later crash in the CColorConverter. Thanks @sfan5 for his fuzzing tests @https://github.com/minetest/irrlicht/issues/236 and @erlehmann for passing them on: https://irrlicht.sourceforge.io/forum/viewtopic.php?t=52925 Also updating changes.txt with TGA loader changes from this and previous commits. cutealien 2023-09-23 19:01:01 +00:00
  • 9f48103263 Fix crash caused by memory overwriting in TGA loader caused by bad RLE data From sfan5's fuzzing test reported in Minetest here: https://github.com/minetest/irrlicht/issues/236 Was missing test if it writes beyond allocated memory which can be triggered by TGA's which lie in their RLE data. cutealien 2023-09-23 18:33:46 +00:00
  • 74d3a9967f TGA images with palettes in 24 or 32 bit now create 32 bit images Was creating 16-bit images for those before. Could also support 24-bit images, but either we need another convert function or another palette for that (the 16 and 32 bit both work with 32 bit palettes, the 24 bit conversion function only with 24 bit palettes) cutealien 2023-09-23 17:08:43 +00:00
  • 811a9f3463 Fix TGA's with bad palette colors reading from behind palette memory TGA's can claim to use less palette colors than they later do. We only support 8-bit palettes, so to make this safer lets just always allocate at least 256 bytes. Thanks @erlehmann for report and testcase: https://irrlicht.sourceforge.io/forum/viewtopic.php?p=307191 Based on Minetest bug report: https://github.com/minetest/irrlicht/issues/236 cutealien 2023-09-23 16:34:42 +00:00
  • e81038237b Add some comment that camera FOV is vertical Parameter already called fovy, but shouldn't hurt to mention it twice cutealien 2023-09-23 14:24:36 +00:00
  • 7ff82528f3 Unify matrix4::buildProjectionMatrixPerspectiveFov functions We had 4 near identical functions, those now all call buildProjectionMatrixPerspectiveFov They were a bit hard to check for errors otherwise. Especially with the tiny confusing non-differences like one using (a-b) and other -(b-a) Also new one uses matrix template parameter in case someone needs for example a high-precision matrix. cutealien 2023-09-22 16:06:40 +00:00
  • d8a21cb25f Drop unused CIndexBuffer numzero 2023-09-20 21:02:16 +03:00
  • 9c54d927b9 Drop unused CVertexBuffer numzero 2023-09-20 20:45:35 +03:00
  • 275e152523 v2 afl sfan5 2023-09-18 17:13:32 +02:00
  • 4ca90e3dfd afl-fuzz sfan5 2023-09-17 23:40:31 +02:00
  • b89455f385 Build OpenGL3 by default numzero 2023-07-02 21:35:58 +03:00
  • 6a5fceb8fd Hide OpenGL3 behind SDL2 (it won’t build otherwise anyway) numzero 2023-07-02 21:35:11 +03:00
  • 0b9ee5884f Fix Android build after #231 Gregor Parzefall 2023-09-17 20:28:53 +02:00
  • 679dfd3343 Fix CNullDriver::removeTexture() segfault sfan5 2023-09-13 14:40:39 +02:00
  • f9d7a632f5 CI: Add MinGW builds with SDL sfan5 2023-09-13 13:17:24 +02:00
  • dc43583a2c CI: Merge 32- and 64-bit MinGW builds numzero 2023-07-02 22:21:47 +03:00
  • 03fd4ff533 Remove unused IVideoDriver::getTextureByIndex and IVideoDriver::renameTexture Desour 2023-09-13 11:20:51 +02:00
  • b7292226b4 Remove the unnecessary sort in CNullDriver::addTexture Desour 2023-09-13 11:26:14 +02:00
  • 7298b46504 Use binary search in CNullDriver::removeTexture() sfan5 2023-09-13 12:33:50 +02:00
  • af20d9ff86 Remove deprecated function transformBox Caleb Butler 2023-09-03 19:22:37 -04:00
  • 00dd1f8ef3 Remove deprecated functionality of SMaterial Caleb Butler 2023-09-03 19:10:03 -04:00
  • 364cb37698 Remove deprecated methods from IVideoDriver Caleb Butler 2023-09-03 18:39:07 -04:00
  • 7ce9169d8d Remove deprecated method getOperatingSystemVersion Caleb Butler 2023-09-03 18:17:27 -04:00
  • ebdb2e410b Remove deprecated member functions of IMeshCache Caleb Butler 2023-09-03 18:10:12 -04:00
  • a28b8f9e91 Remove deprecated member functions Caleb Butler 2023-09-03 18:04:58 -04:00
  • 6cd27d5dca Remove deprecated IImage member functions Caleb Butler 2023-09-03 17:58:01 -04:00
  • 04ab99f218 Removes deprecated function getNumber Caleb Butler 2023-09-03 17:50:15 -04:00
  • d753c8b782 Remove deprecated functions related to FileSystem Caleb Butler 2023-09-03 17:32:12 -04:00
  • 6a3ed6428f Remove deprecated getBoneName method Caleb Butler 2023-09-03 17:25:54 -04:00
  • 3492fd0d2d Remove primitive types not supported in OpenGL 3+ Caleb Butler 2023-09-03 17:18:43 -04:00
  • c6b06533f3
    Deduplicate KP_5 from KP_HOME Kai Giebeler 2023-09-01 15:54:55 +02:00
  • e609f5f263 Remove leftovers from D3D sfan5 2023-09-01 12:36:33 +02:00
  • ddecc0fae2 Inline a pointless function sfan5 2023-09-01 12:26:43 +02:00
  • dd3a34d674 Remove unused (I)Timer methods sfan5 2023-09-01 12:22:27 +02:00
  • 0735220f86 Suppress a -Wunused-but-set-variable warning Desour 2023-08-29 14:58:28 +02:00
  • 0740d055ac Fix uninitialized memory error in operator- for ustring16 iterators Desour 2023-08-29 14:14:14 +02:00
  • 1d4672bd92 Remove the now unused SMaterialLayer::setFiltersMinetest method Gregor Parzefall 2023-08-24 12:25:41 +02:00
  • c602a39598 Enable MultiProcessorCompilation in VC17 project file No reason to not have several times faster build-times cutealien 2023-08-17 10:12:28 +00:00
  • ef3bab610d CIrrDeviceLinux: Fix type for NET_WM_PID XChangeProperty Jessica Clarke 2023-08-15 17:47:03 +01:00
  • bd4ce386a2 Clean-up include dependencies (video namespace) cutealien 2023-08-15 18:42:05 +00:00
  • ce1cdd2543 Clean-up include dependencies (scene namespace) cutealien 2023-08-14 22:01:22 +00:00
  • f83697d0bb Clean-up include dependencies Files in irr namespace Also some spelling fixes cutealien 2023-08-14 20:38:23 +00:00
  • 80ce85ecc2 Clean-up include dependencies in gui and io modules cutealien 2023-08-13 20:19:25 +00:00
  • 1d58677e18 Clean up include dependencies in public headers Removing includes which were not needed by headers Note that if you include those headers directly (instead of including irrlicht.h) you may have to add some new includes now. Thought I generally tried to avoid removing headers where it leads to too much changes in user-code Reason was mainly that IntelliSense in VisualStudio 17.7 added a new feature which shows those unused headers :) Has to be used a bit careful as it doesn't know about defines and other platforms And I only did clean up public headers so far (will probably do some more later or another time) cutealien 2023-08-13 15:31:42 +00:00
  • dc6d89a170 Fix compiling example 21 Somehow was broken since fixing the spelling of tessellation and never noticed cutealien 2023-08-13 15:25:54 +00:00
  • e2a742e2fc Fix compile error with OS X 10.10 SDK, bug #463 Thanks @Ryan Schmidt for report and patch: https://sourceforge.net/p/irrlicht/bugs/463 cutealien 2023-08-04 15:46:17 +00:00
  • 2149bfb317 Merging r6511 through r6520 from branch releases/1.8 to trunk Note: Due to OSX always failing merge OSX it's rather applying a second patch from Ryan Schmidt from bugreport #462 to trunk (Not sure why svn merging always fails for OSX. Probably related to MacOSX files getting moved in the past. Was that done without svn move commands? I guess that can't be fixed anymore now) cutealien 2023-08-04 10:22:58 +00:00
  • e9c494503d Merging r6493 through r6517 from trunk to ogl-es branch cutealien 2023-08-03 19:12:11 +00:00
  • 03fc9c73b5 Add missing word in changes.txt cutealien 2023-08-03 19:09:22 +00:00
  • 6f60edbded Merging r6511 through r6515 from branch releases/1.8 to trunk Note that 6514 couldn't be merged as the xcode project seems to have been rewritten and the irrFramework-Info.plist no longer exists in trunk. cutealien 2023-08-03 01:11:01 +00:00
  • 7ecaa18949 Merging r6506 through r6510 from branch releases/1.8 to trunk Note those were mostly backport, so trunk already had most changes. Also we've not merged all from 1.8 branch, will need another merge (backports tend to cause lots of ugly conflicts, so have to split this a bit) cutealien 2023-08-03 00:59:44 +00:00
  • d98dc90b38
    cleanup: only build some files on WIN32 and compile EGL only if needed Loïc Blot 2023-08-01 20:53:25 +02:00
  • 2bfe7506c2 Optimization in quaternion::rotationFromTo from Robert Eisele Turns out we can avoid a square root and a division. Patch comes even with proof: https://raw.org/proof/quaternion-from-two-vectors (I also tested it a while and indeed got same results) cutealien 2023-07-30 16:34:24 +00:00
  • f7de9091a1 Remove comment that addRenderTargetTextureCubemap only works in d3d9 It works since quite a while also in OpenGL cutealien 2023-07-28 13:48:12 +00:00
  • 27a73a81c6 Merging r6423 through r6505 from branch releases/1.8 to trunk Those were backports from trunk to 1.8 so only changes.txt changed cutealien 2023-07-26 15:31:41 +00:00
  • c311d01c07 Bump revision 1.9.0mt12 sfan5 2023-07-20 20:14:30 +02:00
  • d7f75ae882 gitignore: add vscode cmake extension support Loic Blot 2023-07-20 12:46:25 +02:00
  • e0d4d7d8b4 cleanup: get rid of the legacy #ifndef #define craziness Loic Blot 2023-06-25 21:15:14 +02:00
  • fb7a0e4298 2D rendering: Enable bilinear filter for downscaling textures Gregor Parzefall 2023-06-25 12:53:04 +02:00
  • a994c31ccf Expose all OpenGL filtering modes, use OpenGL names for them Gregor Parzefall 2023-06-24 23:36:20 +02:00
  • c40045a40a Rename SMaterial::TextureLayer -> SMaterial::TextureLayers Gregor Parzefall 2023-06-24 15:18:06 +02:00
  • c0ef1092c0 Rename E_MATERIAL_FLAG -> E_MATERIAL_PROP Gregor Parzefall 2023-06-24 15:12:01 +02:00
  • 5ececc7d29 Split up texture filtering properties of SMaterialLayer into MinFilter and MagFilter Gregor Parzefall 2023-06-23 13:58:50 +02:00
  • 9e0189019e Refactor the way you set material properties Gregor Parzefall 2023-06-23 11:33:29 +02:00
  • b249e4523d
    Use precise y-direction scroll values in SDL ndren 2023-07-03 21:46:08 +01:00
  • 041377c24c CI: Add MSVC/SDL builds numzero 2023-07-02 22:37:35 +03:00
  • 35a0c4df8f Enhance shader material to show how to pass material values Also document that gl_FrontMaterial is no longer supported in Irrlicht 1.9 (this has been the case for a few years, I just never noticed this was changed as I never even knew that was possible in the past...). Will keep it that way is it's definitely going in the right direction (getting rid of legacy support and going towards OpenGL core instead), cutealien 2023-06-24 15:42:31 +00:00
  • 83699a835d Remove content-less comments Gregor Parzefall 2023-06-14 16:09:38 +02:00
  • 98589d2fd2 Remove unused fixed function materials Gregor Parzefall 2023-06-14 15:24:43 +02:00
  • 8c856408f5 Remove use of std::iterator Desour 2023-06-12 18:53:06 +02:00
  • cbc7aeb302 Bump C++ std to 17 Desour 2023-06-12 18:52:23 +02:00
  • cdcb8274ee Improve documentation What Irrlicht calls ShaderConstants is called uniforms by everyone else. So let's mention this at least. Also reworked setVertexShaderConstant interface had an example for the old interface in the header. cutealien 2023-06-12 19:26:43 +00:00
  • 09af5ac00d Actually fix Android build Gregor Parzefall 2023-06-06 15:45:12 +02:00
  • 2c6efbdf06 Remove native_app_glue linkage 1.9.0mt11 sfan5 2023-06-04 19:40:54 +02:00
  • a44e5e3d17 Add updateBoundingBox parameter to IMeshBuffer::append and some fixes and optimizations Fix: When appending to an empty mesh boundingbox has to be initialized with first position Adding updateBoundingBox parameter as there is a bit costs involved in updating that and it might not be necessary at that point Default is still to do it - and with the default parameter it's at least compile compatible to old interface (unless users created their own meshbuffers). Optimizing the copying of vertices in CDynamicMeshBuffer::append by using memset when possible instead of pushing each vertex (which goes through quite a few virtual functions) cutealien 2023-05-17 14:31:50 +00:00
  • 7c92944860 Don't let MeshBuffer append functions shrink memory as this prevents optimizations Couldn't allocate enough memory before appending several buffers for all of them as first append shrunk the memory again. cutealien 2023-05-16 16:33:30 +00:00
  • 428fcca7fb CDynamicMeshBuffer::append can now handle appending meshbuffers with different vertex/index types Doesn't change it's own type - so can still drop data. Or overflow 16-bit buffers (which creates broken models, but no crashes). But it no longer has a problem adding 16-bit index-buffers to a 32-bit index-buffer for example. cutealien 2023-05-16 16:05:24 +00:00
  • 01588b58eb Get (more) append functions working for CMeshBuffer and CDynamicMeshBuffer Some in CMeshBuffer got disabled in svn r1515 (before Irrlicht 1.7) without comment. I suspect reason might have been that they are a bit unsafe and it was meant to be reworked. Maybe was planned to put that into MeshManipulator? And CDynamicMeshBuffer never had them. Anyway, it's useful stuff and having functions do nothing doesn't help. So now they do at least basic work. Meaning - as long as index and vertex types are identical it's possible to attach meshbuffers again. While totally ignoring things like 16-bit index overflow for now (so could be improved). It would probably be better if attach functions had info about vertex/index types, but just keeping interface as it is/was for now. This also fixes Bug #310 reported by Gaz. cutealien 2023-05-15 17:28:42 +00:00
  • 510976f130
    Prefer GLVND at CMake>=3.11 JosiahWI 2023-05-14 13:54:03 -05:00
  • 1de0ec5459 Merging r6488 through r6491 from trunk to ogl-es branch cutealien 2023-05-13 12:25:10 +00:00
  • b958fdc271 Fix casing for Android device name (MATCHES is case sensitive) numzero 2023-05-11 21:47:20 +03:00
  • 31931b0455 Fix problems in rendering nodes outside SceneManager caused by new render-per-buffer code Did no longer render nodes which were rendered in SceneManager + outside SceneManager if they didn't have the per-buffer-rendering enabled. cutealien 2023-05-09 10:11:49 +00:00
  • 79e435d02a Reduce header dependencies in IVideoDriver.h cutealien 2023-05-08 16:19:31 +00:00
  • 2a04d747d1 Fix: r6469 broke fixed function materials when shader materials where created but not used cutealien 2023-05-08 14:15:49 +00:00
  • 9ce63bc7d3 Fix SMaterialLayer operator!= and optimize operator= SMaterialLayers are now identical when both have identity matrices. Before it didn't consider them identical when one layer had set the identity matrix explicitly and the other didn't. Generally didn't matter, just caused very rarely some extra state switches in the drivers. And just as rarely had a cheaper comparison. Just seems more correct this way. cutealien 2023-05-07 14:51:09 +00:00
  • 1670db617b Merging r6468 through r6486 from trunk to ogl-es branch Also updating ES&ES2 interface to work with removal of IMaterialRendererServices::setBasicRenderStates cutealien 2023-05-05 19:28:40 +00:00
  • c57da57edc Remove IMaterialRendererServices::setBasicRenderStates Wasn't ever used by anything and not that well defined anyway. So they all just passed it on to the drivers. And then sometimes the driver version was called and sometimes the IMaterialRendererServices version. So now everything just calls the driver - all places which need it have access to the driver anyway. Also made the driver version non-virtual for now. If someone actually really needs this for some reason I can add it back as virtual function directly in IVideoDriver. But I doubt it - the interface was hardly accessible until recently and originally only meant for internal stuff. GLES version still to do, but checked them earlier and they also just do nothing with it. cutealien 2023-05-05 18:47:22 +00:00
  • 3683a2f8ee Reset last debug menu entry after reloaded the model in example 09 Reset 'em all! Was one short ;-) cutealien 2023-05-05 17:45:35 +00:00
  • c928d1e1a6 Unify newlines cutealien 2023-05-05 12:30:28 +00:00
  • c4504c1d48 Add IMeshSceneNode::setNodeRegistration to allow registering MeshSceneNodes to the SceneManager per buffer instead of per node cutealien 2023-05-04 16:07:18 +00:00
  • 9679fa7006 Use ConstIterator instead of Iterator in a few places cutealien 2023-05-02 18:43:45 +00:00
  • 04d814ee31 Allow nodes ignoring parent transformations with ESNUA_RELATIVE New AbsPosUpdateBehavior which makes updateAbsolutePosition calls behave as if a node had no parent. Allows for micro optimizations in cases where we have non-moving root node (all scenenodes are always added to the SceneManager which is generally not moved but it's transformation is still multiplied each frame for each node) As a side-effect this also allows abusing the SceneManager to group objects without affecting transformations. No real extra cost since I added ESNUA_TRANSFORM_POSITION already. Thought turns out those matrix transformations are so fast that I also didn't noticed any difference in tests with > 20.000 nodes. cutealien 2023-05-02 16:05:22 +00:00
  • 1b4912fcc4 Collada loader can now handle 32-bit meshbuffers cutealien 2023-04-29 15:12:49 +00:00
  • 1387370260 OpenGL3: Sort out texture color format support numzero 2023-04-20 17:40:51 +03:00
  • 49b6ccde72 SDL: Implement getDisplayDensity() and setWindowIcon() Desour 2023-03-25 02:52:42 +01:00
  • acbc90a000 Add the platform-dependent stuff from renderingengine.cpp Desour 2023-03-25 01:40:13 +01:00
  • 6a2a569233 Add IImage::copyToNoScaling Desour 2023-04-13 23:00:58 +02:00
  • 55e29d3347 Add SMaterialLayer::hasSetTextureMatrix and SMaterialLayer::resetTextureMatrix cutealien 2023-04-28 17:46:30 +00:00