HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 03.04.2014, 15:27
deathBit
Новичок
Регистрация: 21.03.2014
Сообщений: 5
С нами: 6393060

Репутация: 0
По умолчанию

так что я перенесен эту функцию для скриптового языка

но это иногда не работает например, когда точка не видна vecScreen->fX и vecScreen->fY показывает отрицательное значение или больше, чем screen (x,y)-sizes

а когда смотрю в противоположное направление функця показывает что точка на экране, но она вообще не видна

Код:





Код:
void CGraphics::CalcScreenCoors ( CVector * vecWorld, CVector * vecScreen )
{
    /** C++-ifyed function 0x71DA00, formerly called by CHudSA::CalcScreenCoors **/
 
    // Get the static view matrix as D3DXMATRIX
    D3DXMATRIX m ( (float*)(0xB6FA2C) );
 
    // Get the static virtual screen (x,y)-sizes
    DWORD *dwLenX = (DWORD*)(0xC17044);
    DWORD *dwLenY = (DWORD*)(0xC17048);
 
    // Do a transformation
    vecScreen->fX = vecWorld->fZ * m._31 + vecWorld->fY * m._21 + vecWorld->fX * m._11 + m._41;
    vecScreen->fY = vecWorld->fZ * m._32 + vecWorld->fY * m._22 + vecWorld->fX * m._12 + m._42;
    vecScreen->fZ = vecWorld->fZ * m._33 + vecWorld->fY * m._23 + vecWorld->fX * m._13 + m._43;
 
    // Get the correct screen coordinates
    float fRecip = 1.0f / vecScreen->fZ;
    vecScreen->fX *= fRecip * (*dwLenX);
    vecScreen->fY *= fRecip * (*dwLenY);
}
 
Ответить с цитированием

  #2  
Старый 03.04.2014, 15:40
Mf[R]O
Участник форума
Регистрация: 24.03.2013
Сообщений: 116
С нами: 6913861

Репутация: 0
По умолчанию

Please, write in English.
 
Ответить с цитированием

  #3  
Старый 03.04.2014, 16:54
deathBit
Новичок
Регистрация: 21.03.2014
Сообщений: 5
С нами: 6393060

Репутация: 0
По умолчанию

so I ported this function to a scripting language.

but its sometimes doesn't work correctly, for example if the world point is not visible on my screen the function returns strange values

they are bigger than my screen values or if I look in opposite direction of the point the function returns that the point is on my screen, but the point is obviously not visible...
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...