Commit Graph

  • 2a16c10eba Make this more readable jordan4ibanez 2023-11-26 09:46:25 -0500
  • fadbb249c6 Add a note now we can actually start working jordan4ibanez 2023-11-26 09:32:28 -0500
  • 4aca3ee1c5 Great success! jordan4ibanez 2023-11-26 09:30:26 -0500
  • 571619bf18 Fix a crucial issue jordan4ibanez 2023-11-26 09:29:51 -0500
  • e0331595fa Add a whole bunch of random things jordan4ibanez 2023-11-26 06:52:22 -0500
  • 1ca05bbdde Small important changes jordan4ibanez 2023-11-26 05:25:42 -0500
  • e2e0e3d1c4 Important comments jordan4ibanez 2023-11-26 05:22:57 -0500
  • e0577ace2b I'm actually having fun with C++ jordan4ibanez 2023-11-26 05:14:31 -0500
  • aad38e8a49 Now we're climbing up the ladder jordan4ibanez 2023-11-26 05:10:04 -0500
  • 9483f17816 Entering the realm of JSON jordan4ibanez 2023-11-26 03:50:44 -0500
  • d99208418f Start building up the staircase jordan4ibanez 2023-11-26 03:37:35 -0500
  • 8e4e9e3ae9 We're gonna work with JSON for a bit jordan4ibanez 2023-11-26 03:21:28 -0500
  • 191596bce5 Let's see if we can see an actual file jordan4ibanez 2023-11-26 03:09:50 -0500
  • a3f07d10b7 It works! jordan4ibanez 2023-11-26 02:53:55 -0500
  • 9f39338793 Simplify this disaster jordan4ibanez 2023-11-26 02:39:42 -0500
  • 781435d642 Now we have a new problem to solve jordan4ibanez 2023-11-26 02:07:00 -0500
  • 59409df189 now load it jordan4ibanez 2023-11-26 02:03:38 -0500
  • a20637b3f4 Fixes jordan4ibanez 2023-11-26 02:03:32 -0500
  • 8a0b6ee447 Now load it jordan4ibanez 2023-11-26 01:53:47 -0500
  • f593446141 Now it's serious time jordan4ibanez 2023-11-26 01:51:27 -0500
  • bb1bb8f7df again jordan4ibanez 2023-11-26 01:51:12 -0500
  • 3571fd7e64 test it again jordan4ibanez 2023-11-26 01:50:45 -0500
  • 0de87768fd test my integration in discord jordan4ibanez 2023-11-26 01:50:27 -0500
  • 6406dbb9df Wow, there's still nothing, incredible jordan4ibanez 2023-11-26 01:48:13 -0500
  • 1a95a435b6 The jordan4ibanez 2023-11-26 01:43:26 -0500
  • 3f327ce710 It's a model type now, yay jordan4ibanez 2023-11-26 01:38:53 -0500
  • e1c59c07c0 I have no idea if this is necessary jordan4ibanez 2023-11-26 01:36:36 -0500
  • 7468b42317 Copy Josiah again jordan4ibanez 2023-11-26 01:35:08 -0500
  • d5360a20a6 Shamelessly copy Josiah jordan4ibanez 2023-11-26 01:34:57 -0500
  • 650ccf9844 Dump the entire json library in jordan4ibanez 2023-11-26 01:31:01 -0500
  • 8f54e69d33 Update .gitignore jordan4ibanez 2023-11-26 01:21:27 -0500
  • b15dabe80a Android: Make ALooper_pollAll call always non-blocking #255 Muhammad Rifqi Priyo Susanto 2023-11-24 07:00:00 +0700
  • 8985248142 Add comment about transparency sorting. Sometimes you only think about better implementations when the work is done *sigh* Can get back to it when we add custom sorting for solid nodes some day (another very old open feature request...) cutealien 2023-11-22 17:15:03 +0000
  • c9e71e26f2 Switch default transparency sorting back from ETNS_PLANE_CENTER to ETNS_CENTER While there are some cases this fixes, like MartinVee's nice example for orthographic camera at https://irrlicht.sourceforge.io/forum/viewtopic.php?t=51598 it seemed to cause more problems in complex 3d scenes with perspective cameras. Well anyway - both options are available now for those which need it. cutealien 2023-11-22 16:59:24 +0000
  • 3752bd9bd4 Add more transparent node sorting algorithms Adding 2 algorithms to sort by distance to camera plane instead of camera position. This is better in quite a few situations and extra cost is just one vector subtraction per node and an additional function parameter per call, I think that's worth it. So made the camera-plane to object-center now the new default. cutealien 2023-11-22 16:34:55 +0000
  • 3c4ac201ce Add options for transparency node sorting algorithm Until last summer we sorted by object origin to camera distance Since then we used nearest transformed bbox-extent to camera. I've now added an enum to allow switching those plus 2 new: - none (so sorting based on scenegraph instead) - object center to camera. Which I made the new default as it worked the best in my tests. cutealien 2023-11-22 14:52:19 +0000
  • 82f67404a7
    Revert "Remove the now unused SMaterialLayer::setFiltersMinetest method" #254 Nils Dagsson Moskopp 2023-11-13 22:01:34 +0100
  • ad4cd6ca7d Grammar Had missing word in comment cutealien 2023-11-13 15:04:40 +0000
  • 8bf9cf5471 writeImageToFile param now used by CImageWriterPNG for compression level A bit annoying that it kinda has the opposite meaning for png and jpg compression for same parameter (png compression goes up, jpg goes down). Also unfortunate we chose u32 instead of int here or we could at least use the usual zlib value range for png. But I think it still won't mess up in many cases. Defaults (value 0) stay the same as before. And setting a jpg range <= 10 is rarely done and even if so it just changes png sizes a bit now if people use writer for both. People just have to be careful now when they override defaults for png and then also write jpg - but can't help it. And it's too useful to not have this - this can massively change the write-speed for png's (like up to 3 times faster with no compression on my system). cutealien 2023-11-13 14:53:44 +0000
  • 3fa020d03c Change how SMaterial handles equality for UserData for more flexibility Different UserData values are no longer by default causing materials to be different. It now always checks in this case the IUserData != operator. This allows more user control. Can still have them be different by checking pointers in overloaded compare function. cutealien 2023-11-10 15:52:40 +0000
  • feaed624f7 Remove serialization again from IUserData This can't work as on deserialize it would need to have the type for IUserData already. And that's impossible with the way it's used right now. Would need some kind of factory or so probably, but I'll ignore this for now. Note that it's still possible to call some serialization manually on the derived classes by adding it there if needed. cutealien 2023-11-07 17:43:01 +0000
  • 3c9a856e6d Add SMaterial::IUserData to make it easier passing additional values to shaders Irrlicht generally avoided user pointers in the past, but after trying all kind of ugly workarounds - this is just easier and not that much downsides really. Tiny speed costs due to additional SMaterial memory size and new comparison tests. But allows to keep SMaterial alive and useful for a while longer without needing a complete rewrite and it can now be used for stuff like writing PBR shaders. Using a new interface io::IUserData for this which also allows serialization the user data (that part is untested so far, sorry) cutealien 2023-11-07 15:43:49 +0000
  • d0605cf397 Update scene.irr test file to fix tests LensShift got added recently. Also there was some change in PolygonOffsetDirection longer ago (although that one didn't cause tests to fail) cutealien 2023-11-07 15:11:54 +0000
  • 1830cb2acf For macOS, tie SDL to GL3 #212 numzero 2023-11-03 20:18:01 +0300
  • 24464ccef2 Fix package name numzero 2023-11-03 20:08:17 +0300
  • eabbaa8db5 Account for different OpenGL path on Apple numzero 2023-07-02 22:30:01 +0300
  • f001f1f1b9 Expand _IRR_OPENGL_USE_EXTPOINTER_ in COpenGLCommon.h numzero 2023-07-02 22:27:49 +0300
  • 25fc015575 CI: add macOS/SDL numzero 2023-07-02 22:19:23 +0300
  • b845c5fbf7 Use SDL2 by default numzero 2023-11-03 19:41:21 +0300
  • 85081d6fe0 Fix off-by-one error in the TGA RLE decompressor numzero 2023-10-31 21:34:43 +0300
  • eafc282efd Add unit tests for image loaders numzero 2023-09-30 21:26:08 +0300
  • 8c2ad025b1 Add CTest numzero 2023-09-30 21:25:14 +0300
  • a07cfc0f7a Require C++17 at the top level numzero 2023-09-30 21:29:31 +0300
  • c47300b23c Fix off-by-one error in the TGA RLE decompressor #244 numzero 2023-10-31 21:34:43 +0300
  • 6b50342a6d Add unit tests for image loaders numzero 2023-09-30 21:26:08 +0300
  • 546298540a Add CTest numzero 2023-09-30 21:25:14 +0300
  • f725b68c57 Remove irrUString.h sfan5 2023-10-31 10:10:31 +0100
  • 777a18f652 Require C++17 at the top level numzero 2023-09-30 21:29:31 +0300
  • 99be15f40b Bump revision 1.9.0mt13 sfan5 2023-10-27 17:45:52 +0200
  • 6fccc79270 Convert built-in font to PNG sfan5 2023-10-25 16:54:22 +0200
  • 7cade6f27f cleanup: remove _IRR_COMPILE_ANDROID_ASSET_READER_ build flag Loic Blot 2023-10-09 09:08:00 +0200
  • ae63f1bf02 build: drop _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_ Loic Blot 2023-10-09 09:02:46 +0200
  • dd14486d3f cleanup: replace remaining #ifndef #define with #pragma once Loic Blot 2023-10-09 08:57:29 +0200
  • 4a7d3de89a Merging r6555 through r6560 from branch releases/1.8 to trunk - Fixing buffer overflow in tga loader cutealien 2023-10-16 20:59:41 +0000
  • f86e1b41ae
    encoding weird issue #251 Loic Blot 2023-10-21 10:36:11 +0200
  • 5880e6fc69
    cleanup(android): remove _IRR_COMPILE_ANDROID_ASSET_READER_ build flag Loic Blot 2023-10-09 09:08:00 +0200
  • e007e9d397
    build: drop _IRR_COMPILE_WITH_SKINNED_MESH_SUPPORT_ Loic Blot 2023-10-09 09:02:46 +0200
  • 947bece781
    fix: missing pragma once blocking compilation Loic Blot 2023-10-09 09:02:32 +0200
  • 04db33a43a
    cleanup: replace remaining #ifndef #define with #pragma once Loic Blot 2023-10-09 08:57:29 +0200
  • d4f6d8c17b Add lens shift support for the camera and the perspective projection functions As Blender docs describe it so nicely: Using lens shift is equivalent to rendering an image with a larger FOV and cropping it off-center. This can be quite useful for architecture renderings, but I guess also has it's use in other situations. Note: Didn't make the ICameraSceneNode functions pure virtual so users don't have to update their cameras for this Also some change in serialization - same as in other places by now, do use existing values as defaults values when they are not found instead of resetting them to 0. cutealien 2023-10-19 16:04:43 +0000
  • 567f8688e2 Mention in more places that ECFN_DISABLED disables zwrite as well Easy to miss... cutealien 2023-10-18 16:51:56 +0000
  • 2b08c37f89 CSoftwareTexture::lock no longer returns image data when a mipmapLevel is requested Returns now getMipMapsData instead which for now will always be 0 in this case (but might work one day) Also removing comment about ITexture::lock() mipmapLevel parameter being broken. It got fixed in November 2019. cutealien 2023-10-17 17:55:39 +0000
  • 849336343d Merging r6519 through r6561 from trunk to ogl-es branch svn-ogl-es cutealien 2023-10-16 21:17:56 +0000
  • 614308e19c Merging r6555 through r6560 from branch releases/1.8 to trunk - Fixing buffer overflow in tga loader cutealien 2023-10-16 20:59:41 +0000
  • e5c8a75d40 Document deviant ITexture::lock behaviour for EDT_SOFTWARE drivers Software driver sometimes works with original image (in 2D) and sometimes with POT version of the image (in 3D). That is probably useful so it can draw the UI in best quality while having relative fast 3D. The problem is that lock() only returns one data - so it decided to return the original data and then in unlock it updates the other data. But lock() data usually depends on getSize() so using EDT_SOFTWARE like other drivers causes crashes. Not sure what the best solution here would be (maybe more flags or more lock functions?), so I just document the deviating behaviour and leave it as is. cutealien 2023-10-15 21:38:06 +0000
  • 631c0fa77b Add warning about rotateXZBy using right handed rotation Rest of Irrlicht is using left-handed rotatations. But 2d vector rotations all uses ccw which is kinda the same direction as this one if you consider those as rotations around Y, so I guess that was maybe the reason back then. #252 cutealien 2023-09-26 21:31:35 +0000
  • 9813b460e1 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 +0000
  • 565f14677c 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 +0000
  • f53af0f2cf 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 +0000
  • 05ebc43222 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 +0000
  • c01de80583 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 +0000
  • fbdc4ee8d5 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 +0000
  • 2c086e5fdc 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 +0000
  • 627a3a5172 Spelling fixes cutealien 2023-04-27 18:44:33 +0000
  • 01e05f3c94 Fix recently broken scroll behaviour of listbox with moveOverSelect This also fixes the combobox which users the listbox like that. This got broken in [r6454] which had fixed the events send out by the listbox Note: Still a bit strange behaviour when leaving the combobox at the bottom, but that was already that way in Irrlicht 1.8, so I've got to investigate that on it's own. cutealien 2023-04-19 15:17:39 +0000
  • b673a4b2bb Tiny spelling fixes cutealien 2023-04-16 21:52:36 +0000
  • 5e01152f56 Avoid warning in VS 2022 cutealien 2023-04-11 13:19:12 +0000
  • c2dd664fc6 CIrrDeviceWin32::yield() now uses Sleep(0) instead of Sleep(1). We had changed that once before in the other direction in svn r421 Reason back then was "Sleep(0) doesn't allow any lower priority threads to execute" But Microsoft changed the behaviour of Sleep(0) after Windows XP so that's no longer true. And the costs of it is pretty high - due to this using a timer with a 15ms resolutions it meant not just giving up the thread but it also always waited for 15ms on Windows. I also replaced a few sleep calls in examples for that reason with yield() calls. cutealien 2023-04-03 15:32:41 +0000
  • 774d3d6d2b Spelling fixes cutealien 2023-04-01 15:50:08 +0000
  • e1f41edd29 Spelling fixes cutealien 2023-03-31 13:12:47 +0000
  • c766c3a023 Fix character encoding conversion issues Gregor Parzefall 2023-10-05 17:55:55 +0200
  • 93eebed8c9 Unify documentation between IOSOperator and COSOperator Gregor Parzefall 2023-10-05 17:52:58 +0200
  • 645b51a34d OpenGL3: Use std::vector in VertexType instead of clever lifetime games numzero 2023-10-11 19:40:49 +0300
  • bcc53e1e1a OpenGL3: Make sure mt_opengl is only included after GLAPI is defined numzero 2023-10-07 20:26:48 +0300
  • d4735ebc76 OpenGL3: Replace direct calls into libGL with mt_opengl numzero 2023-10-07 19:47:16 +0300
  • 063079b372 OpenGL3: Make VertexType reference and not store the attribute list numzero 2023-10-07 20:30:18 +0300
  • 3b198bdfda OpenGL3: Fix noexcept mismatch numzero 2023-10-07 19:57:40 +0300
  • 9b0aaeddba OpenGL3: Use std::vector in VertexType instead of clever lifetime games #250 numzero 2023-10-11 19:40:49 +0300
  • 6ff03b10f2 OpenGL3: Make sure mt_opengl is only included after GLAPI is defined numzero 2023-10-07 20:26:48 +0300
  • c7d6d7cf92 OpenGL3: Replace direct calls into libGL with mt_opengl numzero 2023-10-07 19:47:16 +0300