Солнечный блик

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

VladPro
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 15.10.2005 (Сб) 23:52

Солнечный блик

Сообщение VladPro » 11.03.2007 (Вс) 15:19

Нужно сделать засветку - чтобы когда поворачиваешься к Солнцу, экран становился светлым, и появлялся блик. Сам блик у меня есть. Трудность в том, чтобы определить, видно ли камерой Солнце - точка в трёхмерном пространстве - и спроецировать его трёхмерные координаты в X и Y экрана. Помогите, кто знает.

VladPro
Новичок
Новичок
 
Сообщения: 43
Зарегистрирован: 15.10.2005 (Сб) 23:52

Сообщение VladPro » 15.03.2007 (Чт) 2:22

Вот нашёл статью:
Direct3D 9.0: Камера и Frustum Culling
http://www.mirgames.ru/articles/directx/d3dcamera.html

Но она для 9-го DX и кроме того на языке С. Мне хотелось бы вот этого:

//Проверка точки на попадание в кадр, т.е. в viewing frustum
// (Точка – в усеченной пирамиде, если она находится перед
// каждой из плоскостей этой усеченной пирамиды)
bool D3DCamera::PointInFrustum(float x, float y, float z)
{
for (int i=0; i<6; i++)
if (m_frustumPlanes[i].m_normal[0]*x + m_frustumPlanes[i].m_normal[1]*y
+ m_frustumPlanes[i].m_normal[2]*z + m_frustumPlanes[i].m_distance <= 0)
return false;
return true;
}

Если кто разберётся или уже сделал что-то подобное, ответьте плиз.

Bonesnapper
Постоялец
Постоялец
 
Сообщения: 434
Зарегистрирован: 12.09.2004 (Вс) 15:39

Сообщение Bonesnapper » 15.03.2007 (Чт) 9:45

не знаю как спроецировать
но блик то у тебя не постоянно на экране (если отвернутся его не будет)
так же у тебя есть углы поворота этого блика (так как он сначала появляется сбоку и при дальнейшем повороте камеры к солнцу идет к центру)
так может просто использовать эти углы и в зависимости от них менять яркость


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11

    TopList  
cron