1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Shaders rework.

This commit is contained in:
RealBadAngel 2013-12-03 17:21:40 +01:00 committed by PilzAdam
parent 60113bde74
commit 2330267d22
37 changed files with 918 additions and 543 deletions

View file

@ -225,6 +225,7 @@ void ContentFeatures::reset()
damage_per_second = 0;
node_box = NodeBox();
selection_box = NodeBox();
waving = 0;
legacy_facedir_simple = false;
legacy_wallmounted = false;
sound_footstep = SimpleSoundSpec();
@ -292,6 +293,7 @@ void ContentFeatures::serialize(std::ostream &os, u16 protocol_version)
writeU8(os, liquid_range);
// Stuff below should be moved to correct place in a version that otherwise changes
// the protocol version
writeU8(os, waving);
}
void ContentFeatures::deSerialize(std::istream &is)
@ -359,6 +361,7 @@ void ContentFeatures::deSerialize(std::istream &is)
try{
// Stuff below should be moved to correct place in a version that
// otherwise changes the protocol version
waving = readU8(is);
}catch(SerializationError &e) {};
}
@ -618,6 +621,9 @@ public:
}
bool is_liquid = false;
u8 material_type;
material_type = (f->alpha == 255) ? TILE_MATERIAL_BASIC : TILE_MATERIAL_ALPHA;
switch(f->drawtype){
default:
case NDT_NORMAL:
@ -669,10 +675,14 @@ public:
tiledef[i].name += std::string("^[noalpha");
}
}
if (f->waving == 1)
material_type = TILE_MATERIAL_LEAVES;
break;
case NDT_PLANTLIKE:
f->solidness = 0;
f->backface_culling = false;
if (f->waving == 1)
material_type = TILE_MATERIAL_PLANTS;
break;
case NDT_TORCHLIKE:
case NDT_SIGNLIKE:
@ -683,11 +693,8 @@ public:
break;
}
u8 material_type;
if (is_liquid)
material_type = (f->alpha == 255) ? TILE_MATERIAL_LIQUID_OPAQUE : TILE_MATERIAL_LIQUID_TRANSPARENT;
else
material_type = (f->alpha == 255) ? TILE_MATERIAL_BASIC : TILE_MATERIAL_ALPHA;
// Tiles (fill in f->tiles[])
for(u16 j=0; j<6; j++){