Создание аттрактора частиц в DirectX - PullRequest
0 голосов
/ 29 июля 2009

Редактировать: Решил сам, имел одну из тех маленьких опечаток, которые трудно заметить в другом разделе, теперь отлично работает.

У меня есть генератор частиц в C ++, который я отключил от интернета. В основном это был пример того, что вы можете сделать, поэтому я изучил его и знаю, что происходит и что мне нужно сделать, чтобы добавить в него нужные мне функции. Я работаю над этим прямо сейчас. У меня есть другой метод, который я использую для создания GravPoint, а затем этот выполняет математические расчеты. Комментарии описывают, что происходит и где моя ошибка.

// Update velocity with respect to any GravPoints in range
// Start at the head of the list
ppGravPoint = &m_pGravPoints;

// Temporary D3DXVECTOR3
D3DXVECTOR3 vTemp;

// While there is still a node on the list
while ( *ppGravPoint )
{
    pGravPoint = *ppGravPoint;
    // vTemp becomes a vector pointing from m_vCurPos to m_vPoint
    // I'm getting an error at this line, it opens up d3dx9math.inl
    // and points at this piece of code:
    // D3DXINLINE D3DXVECTOR3
    // D3DXVECTOR3::operator - ( CONST D3DXVECTOR3& v ) const
    // {
    //     return D3DXVECTOR3(x - v.x, y - v.y, z - v.z);
    // }
    vTemp = pGravPoint->m_vPoint - pParticle->m_vCurPos;
    // if ||vTemp|| (length of vTemp) < m_fMaxDist (FLOAT m_fMaxDist)
    if((sqrt((vTemp.x * vTemp.x) + (vTemp.y * vTemp.y) + (vTemp.z * vTemp.z)) < pGravPoint->m_fMaxDist))
    {
        // Then the velocity of the current particle being rendered is adjusted
        // to be attracted towards the gravpoint. Pretty sure this is right
        pParticle->m_vCurVel += (vTemp * (pGravPoint->m_fStrength * fElpasedTime));
    }
    // Go to next point if there is one.
    ppGravPoint = &pGravPoint->m_gpNext;
}

1 Ответ

0 голосов
/ 29 июля 2009

Что является сообщением об ошибке? Ваш пример предполагает, что pParticle->m_vCurPos равно NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...