X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Fcylinder.cpp;h=901a0f4b43cf057872a752960e30678a2a980b24;hp=30c3530c85b3ab63e068eeb6891d78922b58de7b;hb=a4549c55a6d47129bd9e42c6a49a671b759ce6d9;hpb=aa9884e69bc543682d1fe36ec5d054fdf11bcfac diff --git a/source/cylinder.cpp b/source/cylinder.cpp index 30c3530c..901a0f4b 100644 --- a/source/cylinder.cpp +++ b/source/cylinder.cpp @@ -1,10 +1,4 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2011 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - +#define _USE_MATH_DEFINES #include #include "cylinder.h" #include "primitivebuilder.h" @@ -25,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; @@ -61,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); } }