Commit Graph

94 Commits

Author SHA1 Message Date
RealBadAngel
b44da4916a Cleanup selection mesh code, add shaders for halo and selection boxes 2016-02-08 03:57:42 -05:00
RealBadAngel
bf884e37a0 Use tangent space meshes only when shaders are enabled 2016-02-07 04:12:49 +00:00
David Jones
34b7a147dc Change i++ to ++i 2015-08-25 18:33:52 -04:00
Břetislav Štec
88a6b9f52d Fixed minimap memory leak 2015-07-27 11:06:46 -04:00
RealBadAngel
655fc6010f Fix relief mapping issues 2015-07-16 15:36:48 +02:00
kwolekr
e234d8b378 Clean-up Minimap code
- Fixed race conditions
- Fixed null dereference
- Fixed out-of-bounds array access
- MinimapMapblock is now allocated and added to update queue only when enabled
- Removed dependency on LocalPlayer
- Fixed code style
- Simplified expressions and program logic
- Cleaned minimap object interfaces
2015-07-08 01:50:31 -04:00
RealBadAngel
ffd16e3fec Add minimap feature 2015-06-27 03:42:01 +02:00
est31
ee38bcd307 Automated whitespace error fix for last commit 2015-06-14 23:15:20 +02:00
RealBadAngel
43fcfbfe05 Improved parallax mapping. Generate heightmaps on the fly. 2015-06-14 21:13:36 +02:00
Craig Robbins
9527984dbc Move globals from main.cpp to more sane locations
Move debug streams to log.cpp|h

Move GUI-related globals to clientlauncher

Move g_settings and g_settings_path to settings.cpp|h

Move g_menuclouds to clouds.cpp|h

Move g_profiler to profiler.cpp|h
2015-04-01 23:04:25 +10:00
Aaron Suen
db32e6c5aa Move texture_min_size even further down the pipe. Now, textures are JIT-upscaled using an image transformation, right at the time they're added to a mesh or particle; images used in 2D elements are left unscaled. This should fix any remaining issues with HUD elements. 2015-03-31 16:56:33 +10:00
gregorycu
577701cabd Optimise MapBlockMesh related functions
Directely or indirectly optimises the following functions:

* MapBlockMesh::MapBlockMesh
* MapBlockMesh::getTileInfo
* MapBlockMesh::makeFastFace
* MapBlockMesh::getSmoothLightCombined
2015-02-23 23:20:31 +10:00
Craig Robbins
c8f60bd224 Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
2015-02-11 17:45:49 +10:00
Craig Robbins
f824866686 Revert "Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting"
This reverts commit d25ff8fd2592f457b91e8a61240694af3902d23f.
2015-02-11 17:01:19 +10:00
Craig Robbins
d25ff8fd25 Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting
* Increase performance (client)
* Avoid changing a global value to solve a local problem
2015-02-11 16:02:16 +10:00
Craig Robbins
5e58a95491 Fix potential out-of-bounds array index 2015-01-16 14:35:57 +10:00
TriBlade9
e19dab2622 Added configurable ambient_occlusion_gamma. Default is 2.2 (same as previous hardcoded values). 2015-01-14 23:35:50 +10:00
Craig Robbins
3c8e372119 Removed superfluous facedir check in mapblock_mesh.cpp 2015-01-10 02:06:33 +10:00
unknown
1e8e700ee6 Change TileSpec::frames to be std::vector not std::map
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-12-21 02:41:17 +10:00
Craig Robbins
c5f6f9f77a Increase performance of getLight() by at least 2x
Leads to the following increases:
getSmoothLight() approx.     40% increase
getTileInfo() approx.        25% increase
MapBlockMesh::MapBlockMesh() 25-30%
2014-12-10 00:52:02 +10:00
RealBadAngel
535c473103 Restore finalColorBlend implementation in shaders. 2014-12-07 11:05:00 +01:00
Craig Robbins
cb2d467665 Fix smooth lighting (ambient occlusion)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-22 21:58:00 +10:00
Craig Robbins
d406ac994b Optimise functions from CNodeDefManager and VoxelManipulator
CNodeDefManager::get()
VoxelManipulator::addArea()
2014-11-21 14:56:45 +10:00
Craig Robbins
ea404979e1 Optimise getTileInfo()
getTileInfo() ~1.5x faster
getSmoothLight ~2.0x faster
2014-11-21 14:56:45 +10:00
Kahrl
9b551d5cbc Implement WieldMeshSceneNode which improves wield mesh rendering
- Don't create and cache an extruded mesh for every (non-node) item.
  Instead use a single one per image resolution.

- For cubic nodes reuse a single wield mesh too

- Improve lighting of the wielded item

- Increase far value of wield mesh scene camera, fixes #1770

- Also includes some minor refactorings of Camera and GenericCAO.
2014-11-08 23:11:57 +01:00
Craig Robbins
076c5ee223 Various uninitialised variable fixes
sky.cpp: m_bgcolor.getAlpha() was being used before initialised

mesh related: m_highlight_mesh_color was being used uninitialised
2014-10-19 15:33:08 +02:00
RealBadAngel
0066bd77d2 Add meshnode drawtype. 2014-10-18 16:42:23 +02:00
RealBadAngel
58e6d25e03 Node highlighting. 2014-09-17 22:06:13 +02:00
RealBadAngel
d9df592da8 Pass light sources in blue channel of vertex color instead of decoded light for all special drawtypes.
Plus some style fixes and optimizations.
2014-08-21 23:28:01 +02:00
RealBadAngel
bf91d623c8 Let lighting be done only CPU side. Remove finalColorBlend implementation from shaders. 2014-08-16 14:48:52 +02:00
RealBadAngel
5e54bf1472 Make faces shading correct for all possible modes.
Skip shading for lightsources and top of the nodes.
Fixes liquid sources and flowing surfaces having different brightness.
2014-08-14 06:43:47 +02:00
RealBadAngel
f0db6c4423 Speedup mapblock_mesh 2014-07-17 22:28:14 +02:00
RealBadAngel
c9ba92c4ad Faces shading fixes 2014-07-07 18:06:20 +02:00
Perttu Ahola
9b44bbd0a6 Fix non-smooth non-shader node shading (Fixes #1436, regression by commit a0f78659f31abd) 2014-07-06 22:01:03 +03:00
sapier
bfaba2c12a Fix regression in light calculation 2014-06-30 22:56:08 +02:00
sapier
d5de0cbf71 Minor fix in check order 2014-06-23 00:13:41 +02:00
sapier
496cb115b1 Speedup getTileInfo by up to 30% 2014-06-23 00:13:41 +02:00
RealBadAngel
a0f78659f3 Improved faces shading with and without shaders. 2014-06-17 00:56:17 +02:00
RealBadAngel
6c98fd6658 Unite nodes shaders.
Pass drawtype and material type to shaders.
Move shaders generation to startup only.
Allow assign shaders per tile.
Initial code to support water surface shader.
2014-06-15 05:40:33 +02:00
MetaDucky
9ec281c712 Fixed wrong node texture rotation for facedirs 5 and 7 2014-04-23 12:11:56 +02:00
sapier
556bdc260a Pass pointer to nodedef directly to avoid recalculation in quite often called function 2014-04-06 10:32:57 +02:00
RealBadAngel
0dc1aec509 Normal maps generation on the fly.
Parallax mapping with slope information.
Overriding normal maps.
2014-03-21 01:32:00 +01:00
Novatux
062de11b4c Fix rendering glitches when far from the center of the map 2014-03-04 20:12:10 +01:00
RealBadAngel
dae03382bf Optimize shaders code. Add settings at compile time. 2013-12-09 13:28:50 +01:00
RealBadAngel
2330267d22 Shaders rework. 2013-12-03 18:55:25 +01:00
kwolekr
a92fc3563c Prevent shaders from being created when disabled 2013-11-17 02:46:05 -05:00
Kahrl
af490330e7 Fix remnants of s32 enable_shaders 2013-09-04 00:16:33 +02:00
PilzAdam
56b9377c1c Dont crash if facedir > 23 2013-08-10 16:26:02 +02:00
Kahrl
96c34d369e Fix crack overlay for animated textures 2013-08-05 01:52:09 +02:00
RealBadAngel
0850d3fcf8 Fix light issue in 6d facedir. 2013-07-21 14:06:18 +02:00