75 Commits

Author SHA1 Message Date
Craig Robbins
1995bfbbcc 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
0e340a5753 Restore finalColorBlend implementation in shaders. 2014-12-07 11:05:00 +01:00
Craig Robbins
26b19607d9 Fix smooth lighting (ambient occlusion)
Signed-off-by: Craig Robbins <kde.psych@gmail.com>
2014-11-22 21:58:00 +10:00
Craig Robbins
47d1207aa8 Optimise functions from CNodeDefManager and VoxelManipulator
CNodeDefManager::get()
VoxelManipulator::addArea()
2014-11-21 14:56:45 +10:00
Craig Robbins
680a729b90 Optimise getTileInfo()
getTileInfo() ~1.5x faster
getSmoothLight ~2.0x faster
2014-11-21 14:56:45 +10:00
Kahrl
c33891174d 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
df5491d040 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
1c09928344 Add meshnode drawtype. 2014-10-18 16:42:23 +02:00
RealBadAngel
61b86590fc Node highlighting. 2014-09-17 22:06:13 +02:00
RealBadAngel
2b4ddb217a 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
eac3364d18 Let lighting be done only CPU side. Remove finalColorBlend implementation from shaders. 2014-08-16 14:48:52 +02:00
RealBadAngel
2d97d0619f 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
ff1e7d78c9 Speedup mapblock_mesh 2014-07-17 22:28:14 +02:00
RealBadAngel
592c5d9a94 Faces shading fixes 2014-07-07 18:06:20 +02:00
Perttu Ahola
eb8008eb6a Fix non-smooth non-shader node shading (Fixes #1436, regression by commit a0f78659f31abd) 2014-07-06 22:01:03 +03:00
sapier
1e7124b365 Fix regression in light calculation 2014-06-30 22:56:08 +02:00
sapier
b656d38e55 Minor fix in check order 2014-06-23 00:13:41 +02:00
sapier
58da0c5af7 Speedup getTileInfo by up to 30% 2014-06-23 00:13:41 +02:00
RealBadAngel
e1be24b0dc Improved faces shading with and without shaders. 2014-06-17 00:56:17 +02:00
RealBadAngel
068b1ca61d 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
1a7db07648 Fixed wrong node texture rotation for facedirs 5 and 7 2014-04-23 12:11:56 +02:00
sapier
4b548c6c2c Pass pointer to nodedef directly to avoid recalculation in quite often called function 2014-04-06 10:32:57 +02:00
RealBadAngel
9cf4f96fa7 Normal maps generation on the fly.
Parallax mapping with slope information.
Overriding normal maps.
2014-03-21 01:32:00 +01:00
Novatux
a662fe9fc4 Fix rendering glitches when far from the center of the map 2014-03-04 20:12:10 +01:00
RealBadAngel
9d6015b41d Optimize shaders code. Add settings at compile time. 2013-12-09 13:28:50 +01:00
RealBadAngel
c18af13697 Shaders rework. 2013-12-03 18:55:25 +01:00
kwolekr
032913f408 Prevent shaders from being created when disabled 2013-11-17 02:46:05 -05:00
Kahrl
a29d5a37a7 Fix remnants of s32 enable_shaders 2013-09-04 00:16:33 +02:00
PilzAdam
e0e040f464 Dont crash if facedir > 23 2013-08-10 16:26:02 +02:00
Kahrl
2328255b7b Fix crack overlay for animated textures 2013-08-05 01:52:09 +02:00
RealBadAngel
3ccc4f8dbc Fix light issue in 6d facedir. 2013-07-21 14:06:18 +02:00
kwolekr
f862a37e19 Clean up bumpmap code a bit 2013-07-12 00:11:46 -04:00
sapier
4f7abcbafa Fix many formspec menu bugs 2013-07-07 19:49:52 -04:00
RealBadAngel
e0d877e097 Add texture bumpmapping feature. 2013-07-04 02:36:32 +02:00
Kahrl
46340cbbe0 Remove texture atlas / AtlasPointer, rename getTextureRaw to getTexture 2013-07-02 03:03:10 +02:00
Esteban I. Ruiz Moreno
36969d253a Remove useless recalculation of bounding box (mapblock_mesh) 2013-06-18 01:11:46 +02:00
sweetbomber
0b258a3646 Removed a redundant step which degraded performance 2013-06-15 21:41:30 +04:00
Kahrl
278aacdb57 Remove 'Meshbuffer ran out of indices' limitation 2013-05-06 19:06:18 +02:00
kwolekr
c94faffbf8 Add option to use texture alpha channel 2013-04-23 22:15:51 -04:00
RealBadAngel
4a390e8696 6d facedir 2013-03-23 21:31:05 +01:00
Ilya Zhuravlev
a12df55f29 Migrate to STL containers/algorithms. 2013-03-11 19:08:39 -04:00
Sfan5
3fab3825aa Update Copyright Years 2013-02-24 20:15:24 +01:00
PilzAdam
269f01224b Change Minetest-c55 to Minetest 2013-02-24 18:49:03 +01:00
Perttu Ahola
3c4069215e Try to add a bit of topside brightness when not using shaders 2012-12-02 23:48:11 +02:00
Perttu Ahola
a4ca9f7699 Handle day-night transition in shader and make light sources brighter when shaders are used 2012-12-02 14:24:58 +02:00
Perttu Ahola
a3d07efffd Fix tile MaterialType to make sense and make lava surface be shader'd lower like water 2012-12-02 02:59:15 +02:00
Perttu Ahola
f24ea38744 Implement a global shader parameter passing system and useful shaders 2012-12-02 00:46:18 +02:00
Kahrl
c9e7e8ba3c ShaderSource and silly example shaders 2012-12-02 00:46:18 +02:00
Perttu Ahola
e890e433ce Fix mesh glitches on MapBlock boundaries 2012-11-27 19:00:09 +02:00
Perttu Ahola
2ad03149a0 Rotate facedir-rotated top and bottom textures too, and re-implement nodebox side rotation 2012-07-21 20:23:32 +03:00