Показать сообщение отдельно
Старый 20.10.2014, 00:14   #539
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Хм. Проекция текстуры пятна от источника не масштабируется. В реале когда фонарь подносишь близко к объекту то пятно пропорционально уменьшается, и наоборот. Матрицу проекции строю через D3DXMatrixLookAtRH.
void Light::BuildSpotProjectionMatrix() {
    btVector3 bEye = globalTransform.getOrigin();
    btVector3 bLookAt = bEye + ( globalTransform.getBasis() * btVector3( 0, 1, 0 )).normalize();
    btVector3 bUp = ( globalTransform.getBasis() * btVector3( 0, 0, -1 )).normalize();

    D3DXVECTOR3 dxEye( bEye.x(), bEye.y(), bEye.z() );
    D3DXVECTOR3 dxLookAt( bLookAt.x(), bLookAt.y(), bLookAt.z() );
    D3DXVECTOR3 dxUp( bUp.x(), bUp.y(), bUp.z() );

    D3DXMatrixLookAtRH( &spotProjectionMatrix, &dxEye, &dxLookAt, &dxUp );
}
Что я делаю не так?
__________________

(Offline)
 
Ответить с цитированием