Shader Buildings - fix roof orientation
Correct transformation to make roof ridges match orientation in documentation.
This commit is contained in:
parent
d5957b8c5f
commit
86f3169e4b
@ -595,16 +595,16 @@ typedef QuadTreeBuilder<LOD*, SGBuildingBin::BuildingInstance, MakeBuildingLeaf,
|
|||||||
|
|
||||||
if ((roof_shape == 2) || (roof_shape == 6) || (roof_shape == 10) || (roof_shape == 11)) {
|
if ((roof_shape == 2) || (roof_shape == 6) || (roof_shape == 10) || (roof_shape == 11)) {
|
||||||
// Gabled, gambrel, round, saltbox
|
// Gabled, gambrel, round, saltbox
|
||||||
if (roof_orientation == 0) rooftop_scale = Vec2f(1.0f, 0.0f);
|
if (roof_orientation == 0) rooftop_scale = Vec2f(0.0f, 1.0f);
|
||||||
if (roof_orientation == 1) rooftop_scale = Vec2f(0.0f, 1.0f);
|
if (roof_orientation == 1) rooftop_scale = Vec2f(1.0f, 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((roof_shape == 3) || (roof_shape == 4) || (roof_shape == 7)) {
|
if ((roof_shape == 3) || (roof_shape == 4) || (roof_shape == 7)) {
|
||||||
// Hipped, half-hipped, mansard
|
// Hipped, half-hipped, mansard
|
||||||
// The pitch height expressed as a fraction of the building width/depth such that the hipped
|
// The pitch height expressed as a fraction of the building width/depth such that the hipped
|
||||||
// roof has a pitch of around 45 degrees. A minimum of 0.5 so that they have at least some ridge.
|
// roof has a pitch of around 45 degrees. A minimum of 0.5 so that they have at least some ridge.
|
||||||
if (roof_orientation == 0) rooftop_scale = Vec2f(max(0.5f,(width - 2*pitch_height) / width), 0.0f);
|
if (roof_orientation == 0) rooftop_scale = Vec2f(0.0f, max(0.5f,(depth - 2*pitch_height) / width));
|
||||||
if (roof_orientation == 1) rooftop_scale = Vec2f(0.0f, max(0.5f,(depth - 2*pitch_height) / width));
|
if (roof_orientation == 1) rooftop_scale = Vec2f(max(0.5f,(width - 2*pitch_height) / width), 0.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Pyramidal, dome, onion
|
// Pyramidal, dome, onion
|
||||||
|
Loading…
Reference in New Issue
Block a user