Desour
03fd4ff533
Remove unused IVideoDriver::getTextureByIndex and IVideoDriver::renameTexture
...
* getTextureByIndex is pretty useless (apart from iterating over all texture,
which we don't do), as you can't get an id.
* renameTexture is broken anyway: The sort call does nothing because the array
is still flagged as sorted.
2023-09-13 13:24:08 +02:00
Desour
b7292226b4
Remove the unnecessary sort in CNullDriver::addTexture
2023-09-13 13:24:08 +02:00
sfan5
7298b46504
Use binary search in CNullDriver::removeTexture()
2023-09-13 12:33:50 +02:00
Caleb Butler
00dd1f8ef3
Remove deprecated functionality of SMaterial
2023-09-05 17:21:35 +02:00
Caleb Butler
364cb37698
Remove deprecated methods from IVideoDriver
2023-09-05 17:21:35 +02:00
Caleb Butler
3492fd0d2d
Remove primitive types not supported in OpenGL 3+
...
I removed old primitive types that do not work with modern OpenGL.
2023-09-05 17:21:35 +02:00
Kai Giebeler
c6b06533f3
Deduplicate KP_5 from KP_HOME
2023-09-01 15:54:55 +02:00
sfan5
e609f5f263
Remove leftovers from D3D
2023-09-01 12:45:56 +02:00
sfan5
ddecc0fae2
Inline a pointless function
2023-09-01 12:26:43 +02:00
sfan5
dd3a34d674
Remove unused (I)Timer methods
2023-09-01 12:22:27 +02:00
Desour
0735220f86
Suppress a -Wunused-but-set-variable warning
2023-08-29 17:33:25 +02:00
Jessica Clarke
ef3bab610d
CIrrDeviceLinux: Fix type for NET_WM_PID XChangeProperty
...
This uses format=32 which in X11's API means a C type of long (with
restricted range when > 32 bits). pid_t is of unknown type, though on
Linux and FreeBSD it's a 32-bit type, so does not have the same size as
long on 64-bit architectures, and thus XChangeProperty reads outside its
bounds. Fix this by casting to and passing a long.
2023-08-15 20:42:12 +02:00
Loïc Blot
d98dc90b38
cleanup: only build some files on WIN32 and compile EGL only if needed
2023-08-01 20:53:25 +02:00
Loic Blot
e0d4d7d8b4
cleanup: get rid of the legacy #ifndef #define craziness
2023-07-20 16:29:09 +02:00
Gregor Parzefall
fb7a0e4298
2D rendering: Enable bilinear filter for downscaling textures
...
This looks much better and doesn't have any downsides (e.g. regarding pixel art).
2023-07-16 13:02:48 +02:00
Gregor Parzefall
a994c31ccf
Expose all OpenGL filtering modes, use OpenGL names for them
...
Because of a review comment by numberZero.
2023-07-16 13:02:48 +02:00
Gregor Parzefall
c40045a40a
Rename SMaterial::TextureLayer -> SMaterial::TextureLayers
...
It's not the "texture layer" of the material, but an array of texture layers.
2023-07-16 13:02:48 +02:00
Gregor Parzefall
5ececc7d29
Split up texture filtering properties of SMaterialLayer into MinFilter and MagFilter
...
You can now set the filter used when scaling textures down and the filter used when scaling textures up separately.
2023-07-16 13:02:26 +02:00
Gregor Parzefall
9e0189019e
Refactor the way you set material properties
...
Instead of using SMaterial::setFlag, you now set them directly on SMaterial or SMaterialLayer.
2023-07-16 13:02:25 +02:00
ndren
b249e4523d
Use precise y-direction scroll values in SDL
2023-07-03 22:46:08 +02:00
Gregor Parzefall
83699a835d
Remove content-less comments
2023-06-15 10:01:34 +02:00
Gregor Parzefall
98589d2fd2
Remove unused fixed function materials
2023-06-15 10:01:34 +02:00
Desour
cbc7aeb302
Bump C++ std to 17
2023-06-14 09:45:16 +02:00
Gregor Parzefall
09af5ac00d
Actually fix Android build
2023-06-06 16:20:06 +02:00
sfan5
2c6efbdf06
Remove native_app_glue linkage
...
We don't provide android_main(), Minetest does. This also didn't even work correctly.
2023-06-04 19:56:30 +02:00
JosiahWI
510976f130
Prefer GLVND at CMake>=3.11
...
CMake 3.10 introduced GLVND support. CMake 3.11 introduced CMP0072,
which prefers GLVND when NEW behavior is set. I set default policies to
3.11 for CMake versions >=3.11 and did not bother with requesting GLVND
for CMake 3.10.
2023-05-14 20:54:03 +02:00
numzero
b958fdc271
Fix casing for Android device name (MATCHES
is case sensitive)
2023-05-11 22:34:08 +02:00
numzero
1387370260
OpenGL3: Sort out texture color format support
2023-04-29 13:07:57 +02:00
Desour
49b6ccde72
SDL: Implement getDisplayDensity() and setWindowIcon()
2023-04-29 13:06:35 +02:00
Desour
acbc90a000
Add the platform-dependent stuff from renderingengine.cpp
2023-04-29 13:06:35 +02:00
Desour
6a2a569233
Add IImage::copyToNoScaling
...
(Useful for const-correctness.)
2023-04-29 13:06:35 +02:00
numzero
1f15fd0805
OpenGL3: Support min/max blend modes
2023-04-24 21:43:36 +02:00
numzero
81ad195aa3
OpenGL3: New extension listing system
2023-04-23 09:48:04 +02:00
Vitaliy
13680ef42d
OpenGL3: Use DrawBuffer[s] from mt_opengl
2023-04-18 23:22:53 +02:00
numzero
44f7c22bbf
OpenGL3: Version asserts
2023-04-18 23:22:53 +02:00
numzero
2e477a07d1
OpenGL3: Add version check helper
2023-04-18 23:22:53 +02:00
numzero
78d0819a2c
Add missing include
2023-04-18 23:22:53 +02:00
numzero
df07b3bf99
OpenGL3: Remove stencil buffer presence test
2023-04-18 23:22:53 +02:00
numzero
523590e16c
OpenGL3: Refuse 3.0 and 3.1
2023-04-18 23:22:53 +02:00
numzero
8cf02ea27f
OpenGL3: ExtensionHandler::initExtensionsNew: use GetInteger
2023-04-18 23:22:53 +02:00
numzero
efb660e7ed
OpenGL3: drop unused ExtensionHandler functions
2023-04-18 23:22:53 +02:00
numzero
5f88555ed3
OpenGL3: restore MRT support
2023-04-18 23:22:53 +02:00
numzero
4ee1ab261e
OpenGL3: Add driver-dependent feature checks
2023-04-18 23:22:53 +02:00
numzero
ab628e641c
OpenGL3: Add two missing OpenGL extensions to COGLESCoreExtensionHandler
2023-04-18 23:22:53 +02:00
numzero
1d782702e1
OpenGL3: new version format
2023-04-18 23:22:53 +02:00
rubenwardy
896c825b9e
Fix ComboBox changing on scroll when in a scroll container ( #192 )
2023-04-14 19:58:13 +01:00
nephele
7a3fc62ada
Haiku: build fix
2023-04-11 20:16:35 +02:00
sfan5
2d81374b34
Revert "Fix: Listbox was sometimes sending EGET_LISTBOX_SELECTED_AGAIN instead of EGET_LISTBOX_CHANGED."
...
This broke scrolling in listboxes, as they would always reset to top position.
reverts commit 1967d71cfb
2023-04-11 14:36:44 +02:00
Vitaliy
aa1696a7e6
Use a buffer for quads indices
...
also use glDrawRangeElements for quad drawing
2023-04-08 19:08:03 +02:00
numzero
e01f285c8f
Extract and use singular CNullDriver::checkImage
2023-04-08 19:07:16 +02:00
numzero
5eb607f86f
Drop createImagesFromFile in favor of createImageFromFile
2023-04-08 19:07:16 +02:00
numzero
fc0440ff89
Drop IImageLoader::loadImages as only IImageLoader::loadImage is usable
2023-04-08 19:07:16 +02:00
numzero
6a152e8629
OpenGL3: Drop unused material property uniforms
2023-04-07 17:42:54 +02:00
numzero
718ba69e1b
OpenGL3: Drop unused fixed-function emulation materials
2023-04-07 17:42:54 +02:00
sfan5
54314691ec
Fix mistake in a677f5a01a
2023-04-06 15:00:12 +02:00
sfan5
36a3a7f349
Don't compile unused driver sources
2023-04-06 12:38:25 +02:00
sfan5
ca5f005b74
Fix OpenGL3 driver to compile standalone
...
also test this configuration in CI
2023-04-06 12:38:25 +02:00
sfan5
e850bd102a
Minor adjustments to configuration flow
2023-04-06 12:12:46 +02:00
sfan5
a677f5a01a
Only try to link libraries when relevant feature is enabled
...
fixes #182
2023-04-06 11:56:04 +02:00
sfan5
3a074e4124
Merge branch 'opengl3' of https://github.com/numberZero/irrlicht
2023-04-06 11:20:03 +02:00
numzero
70ee4b05aa
Indicate chosen OpenGL ES 2 driver during configuration
2023-04-05 22:52:43 +03:00
DS
ba1cd19983
Use non-static member vars for SDL clipboard / primary selection buffers
2023-03-26 14:13:58 +02:00
sfan5
a67f3003de
Revert "Avoid some broken calculations for IBoneSceneNode positions."
...
This was reported to cause broken models in some cases.
reverts commit edb381bd50
2023-03-26 14:09:40 +02:00
numzero
4dda28450f
Provide sources as private to IRRVIDEOOBJ
2023-03-25 11:26:52 +03:00
numzero
219b7fd7d2
Fix line endings in the new driver
2023-03-25 11:11:09 +03:00
numzero
d97d1708d6
Resolve conflicts with master
2023-03-25 10:42:47 +03:00
Desour
799c8b936f
SDL: Support primary selection
...
Requires SDL >= 2.25.0 (newest master).
2023-03-24 17:59:06 +01:00
Desour
8da1bcf58b
SDL: Support clipboard
2023-03-24 17:59:06 +01:00
Desour
d86abb40c1
CGUIEditBox: Use primary selection
...
This is essentially the same as the commit in the minetest repo for GUIEditBox.
2023-03-24 17:59:06 +01:00
Desour
53b9eaa831
Implement X11 primary selection
2023-03-24 17:59:06 +01:00
cutealien
1967d71cfb
Fix: Listbox was sometimes sending EGET_LISTBOX_SELECTED_AGAIN instead of EGET_LISTBOX_CHANGED.
...
When pressed mouse was moved over an item before releasing the mouse button it was sending immediately EGET_LISTBOX_SELECTED_AGAIN instead of expected EGET_LISTBOX_CHANGED (mouse move changes do not send any events).
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6454 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
939b3f7bfb
Avoid undefined arithmetic on nullptr in buffer_offset function
...
Not quite sure why it was done that way. Maybe to ensure we work with byte-pointers of correct size or something?
Anyway, this doesn't seem to be defined in c++, so let's try working with a cast instead.
Just something cppcheck tool complained about.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6447 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
6f3435f349
Prevent potential 0 pointer access when release not acquired joystick.
...
Found by clang analyser. Not sure if it could really ever have happened, but won't hurt to fix
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6443 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
edb381bd50
Avoid some broken calculations for IBoneSceneNode positions.
...
This is based on bugreport #458 reported by viwrap who also made a nice test-case model.
Note: While solution seems to work and would even be faster, I'm not 100% sure yet if there are no downsides.
The other solution seems to regard last column in matrices - thought I don't think we ever set or use that.
And I also haven't found out yet _why_ the original solution goes wrong.
But animation system uses right-hand quaternions unlike rest of Irrlicht which is obviously a bit dangerous, will have to check the conversions some day.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6438 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
8ffa7eafea
Fix warning
...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6434 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
2bff147904
Fix: Make CBillboardSceneNode bounding-box large enough to fit the billboard inside.
...
It still won't work yet for scaled boundingboxes (or parents being scaled).
But at least it's now large enough for typical unscaled boundingboxes.
Before it was always too small - even for the simplest quadratic billboard case seen without rotation.
Now it's always a bit too large, but that's way less of a problem (collisions still work and culling simply happens a bit less often, but not too often which is way worse)
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6431 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
98df6eae77
Unify & improve log messages
...
Lots of places where coders did not realize our Printer::log with hint adds a ": " string between message and hint
Which caused uglier messages in a few places (added documentation for that, maybe helps?)
Some added info in a few places
Some whitespace unification
Some spelling unification
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6414 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
3ce4b2b5dc
Prevent crash when creating CCameraSceneNode while rendertarget has height 0
...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6405 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
424eb85f4d
Minor const changes.
...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6402 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
6a9e0f109c
Avoid potential number overflows.
...
Found by VS code analyser
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6393 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
engineer_apple
15e3f15b48
SpriteBank: error check on non existing textureNumber
...
seen in broken Fonts. unified getFrameNr
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6368 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
cutealien
739a9eaf7c
IVideoDriver::setMaterialRendererName now using u32 for index like other similar functions
...
Other functions like getMaterialRendererName got switched to u32 in the past. I can see no reason why this one was left out, so changing it to be same as the rest.
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6300 dfc29bdd-3216-0410-991c-e03cc46cb475
2023-03-24 17:09:11 +01:00
numzero
52a0b9d8e5
Drop dependency on FileSystem from SceneManager
2023-03-19 19:47:43 +01:00
numzero
0160cdc51d
Drop unused dependency of SceneManager on GUIEnvironment
2023-03-19 19:47:43 +01:00
numzero
5a1565072a
Drop unused dependency on FileSystem in mesh loaders
2023-03-19 19:47:43 +01:00
numzero
25a7074c9a
Remove all mentions of iOS
2023-03-14 17:54:08 +01:00
numzero
df8881898d
Remove CIrrDeviceiOS
2023-03-14 17:54:08 +01:00
numzero
ba77d01c91
Error out early on unsupported SDL2+GLES1 combo
2023-03-13 19:16:06 +03:00
numzero
ea0ca7f917
Small Fixes
2023-03-13 18:33:58 +03:00
numzero
82d1feb933
Accommodate lack of ETS_TEXTURE_1
2023-03-13 18:17:47 +03:00
numzero
d81db9dd6d
Merge branch 'drop-irr-compile-config' into opengl3
2023-03-13 18:07:25 +03:00
Vitaliy
5a5a7d04b7
Drop IrrCompileConfig ( #163 )
2023-03-11 15:04:09 +01:00
numzero
ceb53be9e3
Merge branch 'master' into opengl3
2023-03-03 22:01:30 +03:00
numzero
df28a4cc46
Fix ifdefs around includes in CIrrDeviceSDL
2023-03-03 21:23:07 +03:00
numzero
8dd8652f5f
Split new GL3/GLES2 drivers
...
The classes are tiny wrappers currently but should they be customized, they are there
2023-03-03 20:29:36 +03:00
numzero
2932065346
Report as OpenGL 3
2023-03-02 03:03:17 +03:00
numzero
1326dfbcb1
Error out on unsupported configurations
2023-03-02 02:44:52 +03:00
numzero
1bbe341daa
Support both OpenGL3 and GLES2 on SDL2
2023-03-02 02:44:52 +03:00
numzero
d6716ec31b
Support GLES2
2023-03-02 02:41:58 +03:00
numzero
05384fdc5e
Unify drawing functions
2023-02-28 00:51:29 +03:00
numzero
48270029cd
Drop obsolete stuff
2023-02-27 23:36:56 +03:00
numzero
c5ce853148
Unify quad drawing
2023-02-27 23:36:47 +03:00
numzero
4fba496917
Unify plain image drawing
2023-02-27 21:27:23 +03:00
numzero
79fdab0551
Drop obsolete IVideoDriver features
2023-02-27 21:26:46 +03:00
numzero
608aa150ff
Load extensions the OpenGL 3 way
2023-02-27 20:32:06 +03:00
numzero
1f750cd7b2
Add debug handler
2023-02-27 20:31:51 +03:00
numzero
8c521939b9
Enumerate extensions in the OpenGL 3 way
2023-02-27 17:41:03 +03:00
numzero
cfa8dd7845
Request OpenGL 3.2
2023-02-27 17:39:28 +03:00
numzero
01295c9ce6
Add OpenGL3 renderer
2023-02-27 17:05:11 +03:00
numzero
5a95b40a0e
Reduce IrrCompileConfig usage to files that actually need it
2023-02-22 21:11:12 +03:00
numzero
8efd4527f6
Drop _IRR_MATERIAL_MAX_TEXTURES_
2023-02-22 21:11:12 +03:00
numzero
a0e1e39ea7
Drop _IRR_SCENEMANAGER_DEBUG
2023-02-22 21:11:12 +03:00
numzero
d8e09f14bd
Drop _IRR_COMPILE_WITH_GUI_
2023-02-22 21:11:12 +03:00
numzero
67f852be57
Drop obsolete configuration macros
2023-02-22 21:11:12 +03:00
numzero
5a2b807890
Move import/export macros into CMake
2023-02-22 21:11:12 +03:00
numzero
06db7b7ab7
Move platform detection to CMake
2023-02-22 21:11:12 +03:00
Desour
ea297196b7
Resolve some -Wreorder warnings
2023-02-22 11:43:42 +01:00
DS
5527b9f373
SDL: Use SDL_WINDOW_FULLSCREEN_DESKTOP and allow to maximize+fullscreen at once ( #156 )
2023-02-20 13:22:28 +01:00
ndren
cd3e784534
Refactor SDL input code to fix menu exit ( #146 )
2023-02-18 16:16:17 +01:00
DS
51dffc416a
Add WindowMaximized creation parameter and isWindowMaximized() ( #142 )
2023-02-06 15:05:44 +01:00
Lars
3de3ff524a
Avoid reskinning joints for animated meshes twice for each frame.
2023-01-07 16:59:02 -08:00
sfan5
7d3142b969
Remove leftover code from software rendering
2023-01-02 21:21:53 +01:00
sfan5
a9230e5f49
Delete profiler
2023-01-02 21:05:07 +01:00
sfan5
b5a6dc0a15
Delete leak hunter
2023-01-02 20:37:18 +01:00
x2048
2ae816b5a6
Use swap_control from MESA and EXT before SGI ( #151 )
...
SGI extension does not support interval == 0 (disabling VSync)
2022-12-29 23:42:52 +01:00
x2048
61af99adfa
Use swap_control from MESA and EXT before SGI
...
SGI does not support disabling vsync (interval == 0)
2022-12-29 22:48:36 +01:00
SmallJoker
afbe41019c
CGUITabControl: Center selected tab whenever possible
...
This greatly improves the navigation speed by clicking through the tabs
without losing track of the current scroll position.
2022-12-23 20:07:15 +01:00
sfan5
05a00a8d91
Completely remove irrAllocator
2022-12-23 19:56:21 +01:00
sfan5
07fd32da50
Replace core::string implementation with std::basic_string
2022-12-23 19:17:08 +01:00
DS
1579ce2740
SDL: implement cursor icon API ( #135 )
2022-11-12 15:52:39 +01:00
Andrei E
a549d0bfed
Add setRelativeMode for SDL driver ( #123 )
2022-10-24 21:19:11 +02:00
sfan5
cac4e62852
Fix buffer overflow in COBJMeshFileLoader
2022-10-24 11:07:51 +02:00
Lars Müller
e46ab74859
Fix line drawing: Explicitly draw both first & last pixel ( #110 )
2022-10-16 23:47:51 +02:00
DS
57705d57cf
SDL: Always set X, Y, Shift and Control in mouse input events
2022-10-16 17:42:15 +02:00
sfan5
2709c937d9
Fix SDL device to work with null driver
2022-10-15 11:13:20 +02:00
JosiahWI
59fc4401f1
Replace _IRR_OVERRIDE_ macro with override keyword
...
The commit also establishes a precedent of leaving off the `virtual`
keyword in overrides. Although not strictly necessary, I believe this is
good for readability because it makes it clear it is an override and not
a pure virtual function, and it helps keep line lengths shorter. We
should move towards eliminating the macro altogether, but the definition
has been left in with a note on deprecation so that in-progress work
will not suffer merge conflicts.
2022-10-15 01:09:09 +02:00
Riceball LEE
1128d9deab
win32: use the unicode window instead of ansi window ( #138 )
2022-10-14 15:52:10 +02:00
Tobias Frost
1cf0f3bef0
Fix typo in CXMeshFileLoader.cpp ( #133 )
...
This patch was provided from J. Puydt to Debian.
Origin: https://salsa.debian.org/games-team/minetest/-/blob/master/debian/patches/fix-typos.patch
2022-09-21 10:47:19 +02:00
sfan5
e9f205f952
Avoid using XIWarpPointer on certain setups where it's broken
...
fixes minetest/minetest#12697
2022-09-12 16:20:31 +02:00
Herman Semenov
d733e03430
Fix glHint parameter, type size and add more null checks ( #130 )
2022-09-02 08:40:02 +02:00
savilli
f0766c845f
Fix crash in COGLES1Driver ( #128 )
2022-08-22 19:12:40 +02:00
sfan5
f6ec00e1c4
Include revision in SOVERSION for (in)compatibility checks
2022-07-21 20:04:34 +02:00
sfan5
91edd214aa
Enable XInput2 by default (and improve CMake detection)
...
closes #73
2022-07-18 21:42:43 +02:00
sfan5
538c9e5cde
Drop gamma ramp code
...
We definitely won't be wanting to set the gamma for the entire display in the future.
2022-07-18 21:22:38 +02:00
ndren
67c0cb5740
Support Unicode characters properly in SDL2 ( #114 )
2022-07-17 12:08:37 +02:00
sfan5
a7b306f702
Drop Console and Framebuffer device
...
fbdev is long legacy and the console was just an ASCII art gimmick
2022-07-09 23:53:04 +02:00
sfan5
074e81f78f
Stop dlopening libGL(ESv2).so
...
GLX/EGL are supposed to abstract exactly this away,
this is a bad hack at best and might totally break stuff at worst.
2022-07-09 23:03:53 +02:00
sfan5
25ae156944
Fix CreateContextAttribsARB fallback behaviour
...
fixes minetest/minetest#12518
2022-07-09 22:04:51 +02:00
JosiahWI
b787ec3e3e
Cleaner ListItem initialization ( #117 )
...
Should fix Coverity report CIDs 1516434 and 1518460.
2022-07-07 21:44:15 +02:00
JosiahWI
6db035e0aa
Fix null dereference reported by coverity ( #115 )
2022-07-04 12:12:33 +02:00