Commit Graph

751 Commits

Author SHA1 Message Date
lhofhansl
3e148e2810
Fix infinite viewing_range (#13225)
Use a simplified version of the old loops culler for infinite viewing range.
2023-03-12 09:37:47 -07:00
x2048
705195b43e
Scale culler steps proportionally to the mesh sizes (#13250) 2023-03-11 14:10:26 +01:00
SmallJoker
847ed04e0a Tile: Fix segfault caused by invalid PNG data 2023-03-05 14:41:55 +01:00
numzero
d6be6682ec Drop dependency on IrrCompileConfig
The only remaining thing is IRRLICHT_SDK_VERSION via irrlicht.h
2023-03-01 09:06:23 +01:00
rubenwardy
39f4d26177
Add minetest.get_player_window_information() (#12367) 2023-02-27 22:58:41 +00:00
sofar
2083252c05
Sky: transmit body_orbit_tilt to client. (#13193)
This obsoletes the current client-side setting entirely. The server can
transmit the tilt to the client directly and will send 0.0f as default
value.

Co-authored-by: x2048 <codeforsmile@gmail.com>
Co-authored-by: sfan5 <sfan5@live.de>
2023-02-26 01:08:33 +01:00
DS
6e1c70e02b
Fix a -Wreorder warning 2023-02-22 11:06:48 +01:00
lhofhansl
63c378fb5b
Reduce client's packet processing budget per iteration from 100 to 10ms. (#13237) 2023-02-21 16:33:21 -08:00
x2048
2553db5c81
Fix rounding errors when slicing the shadow draw list (#13226) 2023-02-20 21:01:05 +01:00
Alex
af4009d924
Add chat HUD flag (#13189) 2023-02-20 21:00:37 +01:00
sfan5
3bafbaac49 Remove dead code behind Irrlicht version checks 2023-02-18 16:46:51 +01:00
20kdc
75e6cc190a
Source image tracking in tile generation (#12514) 2023-02-18 00:03:03 +01:00
lhofhansl
2a8becd650
Add mesh-holding blocks to shadow drawlist. (#13203)
When mesh chunking and shadows are enabled, make sure that the mesh-holding blocks are added to the shadow drawlist.
Otherwise those portions of the shadows will not be rendered.
2023-02-16 15:43:08 -10:00
lhofhansl
d3a6ee00e6
Generalize mesh chunking, and make it configurable. (#13179)
* Generalize mesh chunking. Set 3x3x3 chunks.

* Make mesh chunk size configurable... Default to 1 (off).

* Extract all mesh grid maths into a dedicated class

---------

Co-authored-by: x2048 <codeforsmile@gmail.com>
2023-02-08 13:42:12 -08:00
lhofhansl
56d2567b5d
Separate drawlist from non-rendered blocks. (#13176) 2023-02-01 08:41:23 -08:00
x2048
69fc206109
8x block meshes (#13133)
Reduce the number of drawcalls by generating a mesh per 8 blocks (2x2x2). Only blocks with even coordinates (lowest bit set to 0) will get a mesh.

Note: This also removes the old 'loops' algorithm for building the draw list, because it produces visual artifacts and cannot be made compatible with the approach of having a mesh for every 8th block without hurting performance.

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
Co-authored-by: Lars <larsh@apache.org>
Co-authored-by: sfan5 <sfan5@live.de>
2023-01-31 17:30:59 +01:00
x2048
b8aaad4f1e
Remove the 'loops' occlusion culler (#13169) 2023-01-23 10:58:29 +01:00
DS
8478796226
Decrease minimum for repeat_place_time (#13165) 2023-01-23 00:20:12 +01:00
x2048
6f5703baf1
Clear exposure compensation state textures on creation (#13151) 2023-01-23 00:18:48 +01:00
x2048
ca13c51024
Fix concurrency in texture source (#13150) 2023-01-19 21:44:27 +01:00
SmallJoker
ecd6d61697
Revisit F6 statistics formatting (#13126) 2023-01-16 20:16:23 +01:00
x2048
139db66901
Remove mapblock cache for mesh generation. (#13124)
Reduces memory consumption and improves performance
2023-01-09 21:40:08 +01:00
ROllerozxa
390b5caaaa
Fix crash on Android with IrrlichtMt9 (#13123)
Caused by mouse control
2023-01-08 14:04:17 +01:00
iliekprogrammar
fb28ca463e
Clamp player wieldindex when processing hotbar item selection (#13098) 2023-01-08 14:03:16 +01:00
x2048
6d45c243f8
Add dynamic exposure correction (#12959)
* Add uniform for frame delta time
* Adjust exposure in logarithmic (EV) space
* Add network support and LUA API
* Add testing mod
2023-01-06 22:33:25 +01:00
x2048
2715cc8bf6
Occlusion culling algorithm based on recursive descend (#13104)
Co-authored-by: DS <vorunbekannt75@web.de>
2023-01-06 22:31:06 +01:00
x2048
89e7f72c92
Use multiple threads for mesh generation (#13062)
Co-authored-by: sfan5 <sfan5@live.de>
2022-12-27 18:44:18 +01:00
lhofhansl
1e7804aaf6
Allow saturation to be controlled by the server. (#13075) 2022-12-25 16:15:32 -08:00
ROllerozxa
afd5caa26a
Fully remove pageflip 3D mode (#13074) 2022-12-25 10:57:39 -05:00
Jean-Patrick Guerrero
33363c2a7e
Fix progress bar look on HiDPI displays (#13055) 2022-12-24 12:26:56 -05:00
ndren
62ee02b8ba
Set and unset relative mouse mode where necessary (#12636)
* Set and unset relative mouse mode where necessary

Co-authored-by: sfan5 <sfan5@live.de>
2022-12-24 09:38:30 +01:00
Jude Melton-Houghton
c18c082059
Prevent air acceleration with 0 jump speed (#13036) 2022-12-10 09:08:50 -05:00
Jude Melton-Houghton
1798ad0ec4
Avoid out-of-bounds memory access in attached node placement prediction (#13038) 2022-12-10 09:00:27 -05:00
lhofhansl
e84d259ec7
Remove shader caching hack. (#12991) 2022-11-30 13:56:14 -08:00
Muhammad Rifqi Priyo Susanto
281f9a9f88
Android: Segmentation fault fix, PendingIntent flag, and other fixes (#12960)
* Android: Segmentation fault fix, PendingIntent flag, and other fixes

- Information about the crosshair is sent after camera initialization.
- Since API 31, PendingIntent requires mutability flag.
- super (class) is called in onRequestPermissionsResult().
- GameActivity suppresses "unused" warning since most of its methods are called from native code.
- Non-null safety is added for nullable function calls.
- Warning/error logging is added for various function calls' return value.

* Move utility functions into Utils.java

- Some nullable functions are changed to be non-null functions.
- Some null checking outside it is removed.
- More annotations are added to functions and parameters.
2022-11-30 10:50:06 -05:00
Jude Melton-Houghton
38169db765
Wrap debug text on screen (#12978) 2022-11-28 12:17:36 -05:00
Jude Melton-Houghton
7c21347a40 Rename "mod metadata" to "mod storage" everywhere 2022-11-24 17:58:25 -05:00
Wuzzy
3c7f26d937
Add support for attached facedir/4dir nodes (#11432) 2022-11-24 17:56:07 -05:00
x2048
1c10988d6a
Fix entity visiblity in bright artificial light (#12906) 2022-11-23 22:40:26 +01:00
x2048
70a82b0784
Avoid shadow flicker at certain angles (#12961)
Change the way look direction and camera position are quantized when calculating light frustum
2022-11-20 21:28:01 +01:00
DS
5f24a3c0c7
Object selection: Improve distance checks (#12974) 2022-11-20 21:27:47 +01:00
lhofhansl
7bf64fc61a
Add configurable saturation (#12865)
* Add configurable saturation

Co-authored-by: Pevernow <3450354617@qq.com>
Co-authored-by: x2048 <codeforsmile@gmail.com>

Author:    Lars <larsh@apache.org>
2022-11-18 11:49:52 -08:00
x2048
81bfc9c7a2
Resize hotbar immediately before drawing (#12930) 2022-11-09 11:57:55 -05:00
Abdou-31
d1b80b462e
Fix typos and en_US/en_GB inconsistency in various files (#12902) 2022-11-09 11:57:19 -05:00
Loïc Blot
322c8cf270
Reduce exposure of various internals (#12885)
* refactoring(StaticObjectList): don't expose m_active and m_stored anymore

This prevents our old crap code where anyone can access to StaticObjectList. use proper modifiers. It also permits to do a short cleanup on MapBlock using a helper

* refactoring(MapBlock): reduce a bit exposed m_active_blocks variable

* refactoring: MapBlock::m_node_timers is now private

We already had various helpers to perform this privatization, just use it. Also factorize the MapBlock stepping code for timers using already existing code and importing them from ServerEnvironment to MapBlock.

It's currently done pretty straight forward without any inheritance as MapBlock is just used everywhere, maybe in a future we'll have ServerMapBlock over MapBlock. Currently for a simple function let's just use proper objects and add a comment warning

* refactoring(Server): fix duplicated function for add/remove node

* refactoring(guiFormSpecMenu): add removeAll function to prevent duplicated code

* refactoring(ShadowRenderer) + perf: code quality  + increase performance

* All callers are already using the point and we should never test a function with nullptr node, it's a bug. Removed workaround which was hacky and fix the bug
* Drop clientmap lookup from shadowrendered, just use directly its
  pointer and forbid to push it in the generic list
* Reduce memory pressure on the renderShadowObject by preventing
  deallocating and reallocating multiple vectors on each node

* refactoring(MapBlock): reduce exposure of MapBlock::m_static_objects

It's not complete as some parts of the code are pretty nested, but it's better than before :)

* fix: better working on new functions & drop unwanted 2 lines

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>

Co-authored-by: Jude Melton-Houghton <jwmhjwmh@gmail.com>
2022-11-03 17:35:31 +01:00
x2048
9b24041394
Improve bloom effect (#12916)
* Remove the built-in exposure factor of 2.5
* Add physics-based bloom (https://learnopengl.com/Guest-Articles/2022/Phys.-Based-Bloom)
* Add luminance scaling for bloom layer to simulate HDR
* Add setting to control bloom strength
2022-11-02 09:09:48 +01:00
Muhammad Rifqi Priyo Susanto
987277de52
Send crosshair setting after the touch screen GUI has been initialized (#12910) 2022-10-31 14:17:50 +01:00
x2048
260de1c2b5
Enable negative values for sun/moon orbit tilt (Northern hemisphere) (#12904) 2022-10-30 16:54:06 +01:00
x2048
485b3b1203 Add comments explaining use of entity glow 2022-10-30 16:53:45 +01:00
x2048
bf1cc1bb84 Apply entity glow before translating to color space 2022-10-30 16:53:45 +01:00