Commit Graph

238 Commits

Author SHA1 Message Date
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
JosiahWI
6064e12133
Remove dead code detected by Coverity (#116)
fixes coverity reports CID 1518478, 1518465
2022-07-03 19:34:12 +02:00
Dmitry Kostenko
53e1b52ff4 Reset blend equation in 2D mode in OGLES1 and OGLES2 drivers 2022-06-10 08:35:05 +02:00
Dmitry Kostenko
a04a0d2a4b Reset blend operation in 2d mode 2022-06-09 08:20:23 +02:00
paradust7
392df9bae3 Use CGWarpMouseCursorPosition 2022-06-06 12:03:16 +02:00
sfan5
426730bf91 Don't crash attempting to scale zero-sized images
fixes minetest/minetest#12393
2022-06-01 23:33:17 +02:00
sfan5
aa095d9525
Remove more dead code (#108) 2022-06-01 15:03:52 +02:00
paradust7
128cf1696c
Remove core::list and replace uses with std::list (#105) 2022-05-22 00:00:32 +02:00
paradust7
3e81f38098
Make irrArray backed by std::vector (#101) 2022-05-21 23:56:36 +02:00
sfan5
593103a261 Refactor SDL device to use the same abstraction as other devices
In particular this makes the OpenGL procedure stuff work.
fixes https://github.com/minetest/minetest/issues/12265
2022-05-21 15:26:38 +02:00
sfan5
0732807cc8 Improve IrrCompileConfig handling in cmake 2022-05-21 15:26:38 +02:00
paradust7
00a7741cd4 Remove irrMap and use std::map instead 2022-05-18 13:12:47 +02:00
paradust7
51ae495c4a
Remove extra memcpy in ogles2 driver 2022-05-11 13:25:50 +02:00
paradust7
401e769114 Enable GL_ALPHA_TEST in OpenGL driver for custom transparent alpha shaders 2022-05-04 17:35:31 +02:00
ndren
24594ce226
Add missing overrides to fix compiler warnings 2022-04-30 16:53:53 +02:00
paradust7
ba0396e93d
Replace HWBufferMap with a list and back pointers (#99) 2022-04-29 12:04:22 +02:00
sfan5
e469c54f76 Fix COSOperator::getSystemMemory
The values it returns are in Kilobytes and it was broken on macOS.
2022-03-09 22:52:11 +01:00
sfan5
df908ef4ea Get rid of various old compiler and platform checks 2022-02-26 12:11:27 +01:00
sfan5
95af6d7c08 Get rid of all sprintf calls 2022-02-26 12:11:27 +01:00
sfan5
00dd274510 Fix uninitialized variable in previous commit 2022-02-26 12:11:27 +01:00
sfan5
d59bcdbd07 Create OpenGL context using CreateContextAttribsARB 2022-02-20 23:18:17 +01:00
sfan5
09b8837ef9 Fix SDL2 include paths
closes #96
2022-02-14 18:26:59 +01:00
cutealien
4fb1c55ec5 IBillboardSceneNode got functions to access meshbuffers.
So uv-coordinates can now be modified directly (previously only possible via texture matrix).

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6299 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-02-09 19:09:04 +01:00
cutealien
684293f527 Prefer static_cast to reinterpret_cast where possible.
Just safer. Could probably do in a lot more places... another time.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@6293 dfc29bdd-3216-0410-991c-e03cc46cb475
2022-02-09 19:05:49 +01:00
sfan5
fa2a7dc236 Gracefully handle lack of bundle on macOS
should fix https://github.com/minetest/minetest/issues/10170
2022-01-31 21:03:21 +01:00
sfan5
7d1dc8b2d5 Get rid of ancient workaround
...that probably negatively impacted performance or something else
2022-01-22 21:01:17 +01:00
Emmanuel Hansen
53db262bd2
Update CIrrDeviceSDL to support SDL2 (#85) 2022-01-16 12:16:15 +01:00
sfan5
195759100f CB3DMeshFileLoader: abort if offsets point outside of file
fixes #70
2022-01-15 16:06:30 +01:00
x2048
2fec5e5dd3
Reset mesh animation state before recalculating normals (#90) 2022-01-02 20:41:03 +01:00
ROllerozxa
52e03a8485
Remove unused attribute saving and loading (#86) 2021-12-29 23:00:56 +01:00
sfan5
dd09fdcb4e
Remove more unused code (#87) 2021-12-29 13:12:09 +01:00
William L. DeRieux IV
4bdecbc6b7 Automatically use SSE registers for FP operations on i386 (#83) 2021-12-15 16:33:20 +01:00
JosiahWI
6d133e1bcc Fix various GCC warnings
- fix overload hiding
- handle missing enumeration values in switch
- remove extraenous semicolons
- always have defaults in color converter switch
- fix root cause of stringop warning
2021-11-24 22:07:26 +01:00
JosiahWI
d4119ba664 Remove unused functions
renderLine16_Blend(), renderLine16_Decal(), renderLine32_Blend(), renderLine32_Decal()
clipLine()
frand()
drawRectangle() and drawLine()

remove unused private fields
2021-11-24 22:06:12 +01:00
sfan5
d322b73e4c Get rid of MATERIAL_MAX_TEXTURES_USED
Another configurable knob of questionable usefulness,
especially since this inhibits certain optimizations
by making loop length dependent on a global variable.
2021-11-19 20:16:57 +01:00
sfan5
6779cb7254 Unconditionally load first texture matrix in OpenGL driver
This used to work in Irrlicht 1.8 and I tried to figure out
why it no longer did, but failed.
fixes minetest/minetest#11206
2021-11-19 19:34:53 +01:00
x2048
39cad3e618
Fix updating of vertex normals for animated meshes (#77)
Updates cached positions and normals of animated vertices
from the mesh. Useful when using meshManipulator to update
the normals.
2021-11-16 12:30:31 +01:00
sfan5
dbd39120e7 Limit dimensions of all image loaders to 23000x23000 2021-10-05 11:17:36 +02:00