Commit Graph

12321 Commits

Author SHA1 Message Date
sfan5
c346612468
Fix falling nodes digging nodes they aren't supposed to (#15638) 2025-01-06 19:42:11 +01:00
DS
431c5c8b36
Fix wireframe mode in opengl3 driver (#15626)
`GL_LINES` isn't suitable, because it makes lines between pairs of 2 vertices,
not loops around 3 vertices.
Support for OpenGL ES isn't simple, as it has no `glPolygonMode`. And showing broken
wireframe (i.e. with `GL_LINES`) would cause confusion.
2025-01-06 19:39:17 +01:00
Lars Müller
f467bde6ac
Add unit test for raycasts falsely skipping nodes (#15555) 2025-01-05 16:32:09 +01:00
sfan5
06f39e1915 Fix missing bounding box for CAO 'wielditem' visual 2025-01-05 16:30:53 +01:00
sfan5
4774e65ed9 Implement polygon offset in GL3 driver 2025-01-05 16:30:53 +01:00
sfan5
5b14c03301 Use polygon offset to fix z-fighting for overlay tiles 2025-01-05 16:30:53 +01:00
wrrrzr
dfd7628950
Rename getGameMinetestConfig to getGameConfig 2025-01-05 13:20:37 +01:00
DS
4c4918b154
Fix show_debug setting causing inconsistency between debug control and shown debug info 2025-01-05 13:20:21 +01:00
sfan5
5bcb7983ec Fix missing bounding box for upright_sprite
(also simplifies the mesh building)
fixes #15616
2025-01-04 12:40:14 +01:00
sfan5
0614b175b5 Optimize draw3DBox generic case 2025-01-04 12:40:14 +01:00
sfan5
4e2ca05f08 Add debug mode that shows mesh buffer bounding boxes 2025-01-04 12:40:14 +01:00
sfan5
9554e3d43a Add support for glObjectLabel to aid debugging 2025-01-04 12:40:14 +01:00
wrrrzr
d2004d32f6
Move AutoExposure constructor to header 2025-01-04 12:39:52 +01:00
SmallJoker
e8f6127779
Reduce irrlicht_extrabloated.h includes in header files 2025-01-04 12:39:34 +01:00
sfan5
81f51492ff
Don't silence errorstream in tests (#15629) 2025-01-04 12:39:16 +01:00
JosiahWI
eb512cc36a
Eliminate superfluous null check in CGUIEnvironment::getNextElement 2025-01-04 12:38:38 +01:00
cx384
c4d624083d Main menu server tab search improvements 2025-01-02 15:22:49 +01:00
wozrer
a1b8d20f18 Rename getMapSettingNoiseParams to getNoiseParams 2025-01-02 14:59:19 +01:00
sfan5
0a67e6180d Disable failing unit test for the time being
see #15598
2025-01-02 12:42:19 +01:00
lhofhansl
2db4ad8c77
Fix MSAA and bloom flashing artifacts (#15610)
* Mark varColor and nightratio as centroids
* Leave old workaround in place for GLES
2025-01-01 14:18:05 -08:00
grorp
f54d209bc8
Remove normal map leftovers (#15609)
leftovers from #10487 / ed22260822086f84016aa8384c3174bfc6d1739d
2024-12-31 19:28:57 +01:00
sfan5
a4d2633ac6 Minor improvements in ImageSource code 2024-12-31 14:47:46 +01:00
sfan5
f37f9a6f0b Optimize getImageAverageColor
also fixes a bug with non-square handling

before:
  getImageAverageColor [us] _____________________  804x  11.253

after:
  imageAverageColorInline [us] __________________  804x   0.557
2024-12-31 14:47:46 +01:00
sfan5
ded8c25e34 Change default post_processing_texture_bits to 10
Since the legacy GL driver is no longer the default,
we don't run into a situation where an unintended fallback to 8-bit happens.
2024-12-31 14:47:46 +01:00
sfan5
1a6ae148b7 Update texture_min_size description 2024-12-31 14:47:46 +01:00
sfan5
8c52d5f2dd Implement LODBias in GL3 driver
(currently unused)
2024-12-31 14:47:46 +01:00
sfan5
1ea8763259 Clean up Irrlicht shader API 2024-12-31 14:47:46 +01:00
sfan5
40afc84597 Replace data structure for HW buffer book-keeping
before
  time in endScene ÷ num hw buf ________________  199x   0.128
after
  time in endScene ÷ num hw buf ________________  199x   0.057
2024-12-31 14:47:46 +01:00
sfan5
a2058f7f3a Avoid some inefficiencies when handling ItemStack(Metadata) 2024-12-31 14:47:46 +01:00
sfan5
d884a1624f Show active HW buffers in profiler 2024-12-31 14:47:46 +01:00
grorp
b50b619be7
Add explanation to touchscreen item tooltip code (#15607)
this explains some cryptic inventory code I wrote in #14029 / 771da80bbb85c9fa4f0dcf0f3d04f46a0a20239f
2024-12-31 14:11:17 +01:00
grorp
27c3aade5d
TouchControls: More methods instead of static functions (#15602) 2024-12-30 19:03:32 +01:00
sfan5
f2b1cc3e61
Fix situation around aabbox3d default constructor (#15586)
Co-authored-by: JosiahWI <41302989+JosiahWI@users.noreply.github.com>
2024-12-29 14:36:30 +01:00
wrrrzr
cca65fde08
Controls: extract init_joysticks (#15597) 2024-12-28 22:05:01 +01:00
SmallJoker
35bc217ba8
IrrlichtMt: Move OpenGL 3+ transformation matrix to shaders (#15591)
This replaces annoying calculations on C++-side and eases the
implementation of 2D geometry batch rendering a lot.
2024-12-28 22:04:05 +01:00
Lars Müller
412cc96bc9
Fix some compiler warnings (#15596) 2024-12-26 11:29:00 +01:00
sfan5
d2a7875b5b Group sparse mesh buffers over entire scene for rendering 2024-12-24 15:27:08 +01:00
sfan5
612d4f9656 Improve quicktune feature a bit 2024-12-24 15:27:08 +01:00
sfan5
33b8307119 OpenGL: allow uploads of buffers to hardware ahead-of-time 2024-12-24 15:27:08 +01:00
sfan5
bb550158fc OpenGL: encapsulate VBOs into a class
internal only for now but this will be handy
2024-12-24 15:27:08 +01:00
Lars Müller
b087e2554f
Add glTF STEP interpolation support (#15525) 2024-12-24 15:25:07 +01:00
SmallJoker
d1dd044455
Reorder client initialization (#15554)
Previously, ServerEnv created a player instance before they're fully initialized.
This commit moves all initialization steps and callbacks into TOSERVER_CLIENT_READY
^ which includes StageTwoClientInit for player loading or creation
2024-12-24 15:24:56 +01:00
sfan5
c49ff76955
IGUIFont / CGUITTFont code cleanups (#15581) 2024-12-23 12:49:47 +01:00
sfan5
0bfd9bc09e Condense renderer information into a single string 2024-12-23 12:49:31 +01:00
sfan5
9f52f84f2b Prefer GL3 driver over legacy GL driver 2024-12-23 12:49:31 +01:00
cx384
83bc27d99d Move formspec code from game.cpp to separate file 2024-12-21 18:43:05 +01:00
sfan5
d4ccc8de79 Fix incorrect handling of skinned meshes as mesh nodes
fixes #15576
2024-12-20 19:04:56 +01:00
siliconsniffer
7bf0b1fc7e
Add server url button to main menu (#15536)
Co-authored-by: Zughy <63455151+Zughy@users.noreply.github.com>
2024-12-20 15:04:26 +01:00
sfan5
a6293b9861 Initial refactoring on shader usage and generation
`IShaderSource` was designed with the idea that if you want a shader,
you must want it for a node. So it depends heavily on being given a tile
material and the node drawtype. But this doesn't make sense neither in theory
nor in practice.
This commit takes a small step towards removing the incorrect abstraction.
2024-12-20 15:04:08 +01:00
sfan5
eb8beb335e Fix bloom with post_processing_texture_bits < 16 2024-12-20 15:04:08 +01:00