aboutsummaryrefslogtreecommitdiff
path: root/src/client/clientmap.cpp
Commit message (Collapse)AuthorAge
* Improve shadow filters (#12195)x20482022-05-21
| | | | | | | | | * Rewrite shadow filtering for the new distortion * Calculate penumbra radius using a single sample * Avoid peter-panning effect due to filtering of short shadows * Add adaptive filter quality for soft shadows * Avoid sharp shadows on surfaces without normals (e.g. plants) * Increase default and maximum soft shadow radius * Make line numbers in shader errors match the code
* Spacing fixesShadowNinja2022-04-08
|
* Remove obsolete commented code (follow up to #12166)Dmitry Kostenko2022-04-07
|
* Adjust shadowmap distortion to use entire SM texture (#12166)x20482022-04-07
|
* Add depth sorting for node faces (#11696)x20482022-04-02
| | | | Use BSP tree to order transparent triangles https://en.wikipedia.org/wiki/Binary_space_partitioning
* Improvements to colored shadows (#11516)x20482021-10-01
|
* Order drawlist by distance to the camera when rendering (#11651)x20482021-09-27
|
* Distribute shadow map update over multiple frames to reduce stutter (#11422)x20482021-07-25
| | | | | | | | | | Reduces stutter and freezes when playing. * Maintains double SM and SM Color textures * Light frustum update triggers incremental generation of shadow map into secondary 'future' textures. * Every incremental update renders a portion of the shadow draw list (split equally). * After defined number of frames (currently, 4), 'future' and 'current' textures are swapped, and DirectionalLight 'commits' the new frustum to use when rendering shadows on screen. Co-authored-by: sfan5 <sfan5@live.de>
* Shadow mapping render pass (#11244)Liso2021-06-06
| | | Co-authored-by: x2048 <codeforsmile@gmail.com>
* refacto: protect some RenderingEngine::get_scene_managerLoic Blot2021-05-03
| | | | | * protect it from Camera, Sky, ClientMap object calls * rename Game::sky to Game::m_sky
* Reserve vectors before pushing and other code quality changes (#11161)sfan52021-04-05
|
* Keep mapblocks in memory if they're in range (#10714)hecks2021-02-26
| | | Some other minor parts of clientmap.cpp have been cleaned up along the way
* Minor profiler fixes.Lars2020-12-23
|
* Implement mapblock camera offset correctly (#10702)hecks2020-12-05
| | | | | | Implement mapblock camera offset correctly - reduce client jitter Co-authored-by: hecktest <>
* Fix camera panning glitches (partially revert 10489.)Lars2020-11-25
|
* Minor clientmap improvements.Lars2020-10-19
| | | | | | - Avoid calculating isBlockInSight for blocks without meshes. - Add metric for how many blocks the client has currently loaded. - Make some variables constant.
* Avoid drawing invisible blocks on the client.Lars2020-10-13
|
* Remove unused functions reported by cppcheck (#10463)SmallJoker2020-10-05
| | | | | | | Run unused functions reported by cppcheck This change removes a few (but not all) unused functions. Some unused helper functions were not removed due to their complexity and potential of future use.
* Occlusion: Check for light_propagates and do mapblock bounds checksSmallJoker2019-08-23
|
* Occlusion: Begin cleanupSmallJoker2019-08-23
|
* Fix unnecessary exception use in Map::getSectorXXX (#8792)Jozef Behran2019-08-13
| | | | | | | The Map::getSectorNoGenerate throws an exception but no other code is really dependent on that. Fix the odd instance of misuse in ClientMap::emergeSector and remove the exception throwing version of the method along with the "NoEx" suffixes in the names of these methods.
* Better F6 profiler (#8750)SmallJoker2019-08-13
| | | | | | | Update the profiler names to make more sense of what they actually represent Move the profiler code from header to its source file Use monospace font to align lines Format the statistics line to align better with surrounding values Refresh the profiler each 3 seconds (roughly)
* Merge pull request #8776 from osjc/FixGetNodeJozef Behran2019-08-10
| | | Finish getNode cleanup
* Move client-specific files to 'src/client' (#7902)Quentin Bazin2018-11-28
Update Android.mk Remove 'src/client' from include_directories