X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcylinder.cpp;h=901a0f4b43cf057872a752960e30678a2a980b24;hp=bbc536d7696d484e426f7d016b10847786de261f;hb=c895aa82dd405146f648e5ca3fcfaa326eab9b87;hpb=f14435e58bfa0fa697a06ba9a454bb30cd37d9d8 diff --git a/source/cylinder.cpp b/source/cylinder.cpp index bbc536d7..901a0f4b 100644 --- a/source/cylinder.cpp +++ b/source/cylinder.cpp @@ -1,3 +1,4 @@ +#define _USE_MATH_DEFINES #include #include "cylinder.h" #include "primitivebuilder.h" @@ -18,15 +19,15 @@ CylinderBuilder::CylinderBuilder(float r, float l, unsigned s): void CylinderBuilder::build(PrimitiveBuilder &builder) const { - if(binormal_attr>=0) - builder.attrib(binormal_attr, 0, 1, 0); + if(generate_tbn) + builder.binormal(0, 1, 0); for(unsigned i=0; i<2; ++i) { float z = (i-0.5)*length; builder.normal(0, 0, i*2.0-1.0); builder.texcoord(0.5, 0.5); - if(tangent_attr>=0) - builder.attrib(tangent_attr, (i ? 1 : -1), 0, 0); + if(generate_tbn) + builder.tangent((i ? 1 : -1), 0, 0); builder.vertex(0, 0, z); for(unsigned j=0; j=0) - builder.attrib(binormal_attr, 0, 0, 1); + if(generate_tbn) + builder.binormal(0, 0, 1); for(unsigned i=0; i<2; ++i) { float z = (i-0.5)*length; @@ -54,8 +55,8 @@ void CylinderBuilder::build(PrimitiveBuilder &builder) const float s = sin(a); builder.normal(c, s, 0); builder.texcoord(j*u_scale, i*v_scale); - if(tangent_attr>=0) - builder.attrib(tangent_attr, -s, c, 0); + if(generate_tbn) + builder.tangent(-s, c, 0); builder.vertex(radius*c, radius*s, z); } }