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
sfan5
594de99153
CImageLoaderJPG: protect size calculation from overflow by rejecting huge dimensions
2021-09-14 20:07:44 +02:00
ROllerozxa
ac57007c55
Readd TGA format support ( #64 )
2021-09-13 21:21:26 +02:00
sfan5
4389a15e0f
Remove unused locale-like code, utf8 functions and headers
2021-08-30 22:42:13 +02:00
sfan5
8f386999a6
Change clipboard to UTF-8 on macOS
...
(untested)
2021-08-30 21:53:12 +02:00
sfan5
34f1f8d089
Make clipboard UTF-8 on Windows too
2021-08-30 21:51:24 +02:00
DS
9c4b6f25ab
Fix X11 selections ( #55 )
...
This fixes all the issues with the X11 selection in addition to switching the clipboard to always be UTF-8.
2021-08-30 21:44:56 +02:00
sfan5
75b4c05741
Drop _IRR_WCHAR_FILESYSTEM
...
never used and never worked for us.
2021-08-30 20:55:06 +02:00
JosiahWI
2dc2846c3f
Add support for OpenBSD
...
There were three patches OpenBSD applied to build Irrlicht, and I implemented two of them. The first required turning off joystick events on OpenBSD, and the second (which I didn't confirm was necessary) required some defines in os.h. The third patch would have added an include to CIrrDeviceLinux.cpp, but the file had changed quite a bit and I could not tell whether this was necessary, so I left it out, and it appears Irrlicht builds fine.
2021-08-28 18:12:40 +02:00
cutealien
9690c1b3e3
Merging r6196 through r6248 from trunk to ogl-es branch
...
git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@6249 dfc29bdd-3216-0410-991c-e03cc46cb475
2021-08-27 10:59:31 +02:00
TheBrokenRail
c26ff3476f
CIrrDeviceLinux: Add support For TouchInput.touchedCount
2021-08-27 10:58:46 +02:00
sfan5
da33f80bb8
Readd CSceneCollisionManager with only the method we need
2021-08-26 22:17:35 +02:00
hecks
5bf68b5731
Add a unified cross platform OpenGL core profile binding ( #52 )
2021-08-07 21:56:00 +02:00
hecks
6c78f181b5
Fix .x material slot parsing
...
Co-authored-by: hecktest <>
2021-07-29 05:05:34 +02:00
hecks
4ab3de3bab
Delete lots of unused features ( #48 )
2021-07-23 16:23:44 +02:00
sfan5
1d66c921c2
Drop unused and unportable "fast math" code
2021-07-17 00:02:37 +02:00
sfan5
22c3219ff0
Set correct flags for static builds
...
this is only really relevant on Windows
2021-07-16 23:12:49 +02:00
sfan5
b2b000597a
CIrrDeviceOSX: drop all video mode code
2021-07-16 23:12:45 +02:00
sfan5
0afd799002
Remove various ancient support code
2021-07-16 22:01:37 +02:00
sfan5
729c214c00
Drop XML implementation, related code and dependent features
2021-07-07 17:04:05 +02:00
sfan5
d62e0424f2
Fix path issues when imported as subdirectory
2021-06-30 21:13:59 +02:00
NeroBurner
924178ebf6
Set includes and libs on object targets
...
Instead of using the global `include_directories()` and
`link_libraries()` calls use the target versions
`target_include_directories()` and `target_include_libraries()` with
`PRIVATE` keyword instead.
The dependencies are libraries only, the headers are added to the build
instructions in a separate call. So the `target_link_libraries()` calls
are not needed for the object-libraries to be built.
2021-06-27 23:04:56 +02:00
Vincent Robinson
78d1a3f73e
Fix getViewPort
returning incorrect results
2021-06-21 23:16:38 +02:00
sfan5
0500a7798b
CXMeshFileLoader: initialize normals to zero during loading
2021-06-19 22:22:47 +02:00
sfan5
c84d8acff9
CIrrDeviceWin32: readd fullscreen using borderless maximized window
2021-06-15 18:52:38 +02:00
sfan5
02b8fc1ab6
CIrrDeviceWin32: drop all video mode code
2021-06-15 18:28:10 +02:00
sfan5
57a51e7ac4
CIrrDeviceLinux: reimplement fullscreen using NetWM hint
2021-06-15 17:46:22 +02:00
sfan5
39c45024ed
CIrrDeviceLinux: drop all video mode support code
2021-06-15 17:36:31 +02:00
JosiahWI
393793f28a
Improved IrrlichtMt target structure ( #31 )
2021-05-24 20:32:26 +02:00
sfan5
05c109a1d5
COGLES2Driver: fix swapped color screenshots
2021-05-08 20:57:24 +02:00
JosiahWI
826de9f6dc
Work around bug installing targets created in a subdirectory
2021-04-24 11:03:09 +02:00
sfan5
3152a6cc46
CNullDriver: store real size for dummy textures
2021-04-21 18:18:47 +02:00
sfan5
688debb643
CIrrDeviceLinux: don't create input context if no window
...
This broke the Null driver.
2021-04-21 17:34:10 +02:00
yw05
21cb990e75
Fix misbehaving input after IME changes (Linux)
2021-04-19 21:41:51 +02:00
sfan5
4719f3c114
Fix Android build (again)
...
closes #27
2021-04-17 17:47:09 +02:00
sfan5
bd95662f03
WGLManager: fix wglCreateContextAttribsARB not being used
2021-04-17 16:07:17 +02:00
sfan5
4c0aff5aa8
Always use system OpenGL extension headers
2021-04-17 00:05:46 +02:00
JosiahWI
9840eeabe8
CMake Config and Version exports ( #22 )
2021-04-13 21:08:16 +02:00
sfan5
aa294a8107
Fix Android build
2021-04-09 21:28:31 +02:00
sfan5
4f90019dcb
Fix segfault if non-i18n fallback input is used on Linux
2021-04-05 17:10:55 +02:00
yw05
3ef5902815
Add support for IMEs on Linux
2021-04-02 23:17:27 +02:00
yw05
32004b9c5f
Prepare GUI for IME support
2021-04-02 23:17:27 +02:00
sfan5
d7127df9f8
Do not distort images scaled by integer multiples
2021-03-31 17:11:19 +02:00
sfan5
3fb23fc423
Skip unnecessary C compiler checks
2021-03-26 23:08:09 +01:00
sfan5
279530a230
Make compiling using MSVC work
2021-03-26 16:48:28 +01:00
sfan5
f05f84b33b
Rename library to IrrlichtMt
...
for clarity and to avoid conflicts
closes #16
2021-03-25 15:47:33 +01:00
sfan5
7c428c6dc2
CIrrDeviceLinux: fix dead key/compose handling
2021-03-25 12:30:52 +01:00
sfan5
7f0e0a57b8
CIrrDeviceLinux: fix dumb key fallback behaviour
...
Turns out giving the application KEY_UNKNOWN + the correct char
to work with is better than returning nonsense EKEY_CODEs.
2021-03-24 20:14:46 +01:00
Jordan Snelling
fa7a5dbdef
Fix Irrlicht not properly resizing on macOS due to incorrect window size; thanks @torleif
2021-03-16 22:12:43 +01:00
sfan5
a3d848ff8b
CMemoryFile: fix seek bounds-checking
2021-03-12 18:28:10 +01:00
sfan5
57ff34b1ed
CGLXManager: Use GLX window correctly
...
fixes #17
2021-03-12 17:47:00 +01:00
sfan5
0335a52479
Fix pixel-perfect draw2DLine on OpenGL
2021-03-12 16:30:44 +01:00
sfan5
0a09f98c74
macOS: silence OpenGL deprecation warnings
2021-03-08 13:36:44 +01:00
sfan5
97631c39fe
Android: import back button patch
2021-03-07 02:09:32 +01:00
sfan5
dfe077134d
Android: import touchedCount patch
2021-03-07 02:05:10 +01:00
sfan5
10a188e967
Restore Android support
2021-03-07 01:08:58 +01:00