X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcapsule.cpp;h=e4c93ae78bdbd43c85426b21048d264551867645;hb=9efabb345fbcc8fb183597e3a264c9847dd7fa53;hp=86f5d57a8d50d0f42f2cc2c5ea76e6012910c3e1;hpb=bbfb79181f716736df413f463b55825866400ed8;p=libs%2Fgl.git diff --git a/source/capsule.cpp b/source/capsule.cpp index 86f5d57a..e4c93ae7 100644 --- a/source/capsule.cpp +++ b/source/capsule.cpp @@ -43,7 +43,7 @@ void CapsuleBuilder::build(PrimitiveBuilder &builder) const builder.normal(0, 0, -1); builder.texcoord(0.5, 0); - builder.vertex(0, 0, -length/2+radius); + builder.vertex(0, 0, -length/2-radius); for(unsigned i=1; irings/2 ? 0.5 : -0.5); @@ -57,18 +57,17 @@ void CapsuleBuilder::build(PrimitiveBuilder &builder) const float sc = cos(sa); float ss = sin(sa); builder.normal(rs*sc, rs*ss, -rc); - if(tangent_attr) - { + if(tangent_attr>=0) builder.attrib(tangent_attr, -ss, sc, 0); + if(binormal_attr>=0) builder.attrib(binormal_attr, rc*sc, rc*ss, rs); - } builder.texcoord(j*u_scale, v); builder.vertex(rs*sc*radius, rs*ss*radius, cz-rc*radius); } } builder.normal(0, 0, 1); builder.texcoord(0.5, (length+radius*M_PI)*v_scale); - builder.vertex(0, 0, length/2-radius); + builder.vertex(0, 0, length/2+radius); for(unsigned i=0; i