X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2F3d%2Ftracktype.cpp;h=94a941a983f94fcd0392d4bb0b2237d5e32f60e2;hb=a861c2729a356173059177a0b800de2b31c9b49c;hp=26be52796dc4d827a221ab64bc788ae53388d208;hpb=7e382cc3cad8c4f6945b0c9d89e2ca917b42b740;p=r2c2.git diff --git a/source/3d/tracktype.cpp b/source/3d/tracktype.cpp index 26be527..94a941a 100644 --- a/source/3d/tracktype.cpp +++ b/source/3d/tracktype.cpp @@ -72,6 +72,7 @@ Iter graham_scan(Iter begin, Iter end) namespace Marklin { TrackType3D::TrackType3D(const Catalogue3D &cat3d, const TrackType &tt): + catalogue(cat3d), ballast_mesh((GL::NORMAL3, GL::COLOR4_UBYTE, GL::VERTEX3)), rail_mesh((GL::NORMAL3, GL::COLOR4_UBYTE, GL::VERTEX3)) { @@ -137,10 +138,15 @@ void TrackType3D::get_bounds(float angle, Point &minp, Point &maxp) const } } -void TrackType3D::render() const +void TrackType3D::render(const GL::Tag &tag) const { - ballast_mesh.draw(); - rail_mesh.draw(); + if(tag==0) + { + catalogue.get_ballast_material().bind(); + ballast_mesh.draw(); + catalogue.get_rail_material().bind(); + rail_mesh.draw(); + } } void TrackType3D::build_part(const TrackPart &part, const Profile &profile, const Point &offset, GL::MeshBuilder &bld, unsigned &base_index)