Auteur Sujet: Orienter un quad selon un vecteur  (Lu 4473 fois)

0 Membres et 1 Invité sur ce sujet

Quand tu utilises des triangles, pourquoi tu envoies autant de points ? 4 suffisent (triangle strip).

Je voulais mettre l'option de faire des strips mais je me suis foiré en générant les triangles dégénérés alors je l'ai enlevée... J'avais pas envie d'y passer trop de temps, je les remettrai plus tard quand j'aurai du temps pour ça...

Je mets mon code, au cas où quelqu'un voudrait faire pareil:
// Returns a rotation matrix that transforms the (0,1,0) axis to N.
kT::Matrix4f32 GetRotation( const kT::Vector3f32& N )
{
    float cosp = N.y;
    float sinp = sqrt( 1.0f - cosp * cosp );
    float coso = 1.f;
    float sino = 0.f;

    float l = sqrt(N.z * N.z + N.x * N.x);
    if( l > 0.f )
    {
        coso = N.z / l;
        sino = sqrt( 1.0f - coso * coso );
        if( N.x < 0 )
            sino *= -1.0f;
    }

    // column-major
    kT::Matrix4f32 m;
    m.LoadIdentity();
    m._11 = coso;
    m._21 = sino*sinp;
    m._31 = sino*cosp;
    m._22 = cosp;
    m._32 = -sinp;
    m._13 = -sino;
    m._23 = coso*sinp;
    m._33 = coso*cosp;
    return m;
}

Tu as un groupe Ziple ? Tu as déjà proddé ?