Другое С/С++ Вопрос - Ответ

kawa operand

перерывпятьминут
602
333
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
val = 5
 

ALF

Известный
Проверенный
320
545
Как вернуть значение из потока?
Например:
C++:
void getText(int *&val)
{
    *val = 5;
}

void main()
{
    int val = 2;
    DeleteObject(CreateThread(0, 0, (LPTHREAD_START_ROUTINE)getText, &val, 0, 0));
    printf("%d\n", val); 
}
Должно вывести в консоль 5, но выводит 2.
вообще какой то бред делаешь.
 
  • Нравится
Реакции: kawa operand

vasiliy130198

Новичок
27
0
C++:
stTextureInfo *texture;
ImGui::Image((void *)texture->pTexture, ImVec2(40, 40));
Конечно переменная texture должна быть иницилизированная
stTextureInfo - это структура внутри SF, который я не использую в своем проекте.. Есть вариант без него показать картинку через ImGui::Image из папки гта?
 

BlackKnigga

Известный
BH Team
922
449
stTextureInfo - это структура внутри SF, который я не использую в своем проекте.. Есть вариант без него показать картинку через ImGui::Image из папки гта?
IDirect3DTexture9

Как вернуть значение из потока?
Например:
C++:
void getText(int *&val)
{
    *val = 5;
}

void main()
{
    int val = 2;
    DeleteObject(CreateThread(0, 0, (LPTHREAD_START_ROUTINE)getText, &val, 0, 0));
    printf("%d\n", val);  
}
Должно вывести в консоль 5, но выводит 2.
Поток может выполнится и после printf'а. И передаешь ссылку неправильно. И хер пойми зачем какой то DeleteObject юзаешь.
Вообще используй глобалки и не парься.
 

BlackKnigga

Известный
BH Team
922
449
@lol123
Вообще ничего не дал мне этот отрывок.
Как тебе помочь если ты не можешь код дать? Он тут энивей никому не нужен
 
  • Нравится
Реакции: CleanLegend

jenekbueno

Известный
156
71
как получить ид машины на которой стоишь?
пытался в исходящем ID_PLAYER_SYNC хукнуть sSurfingVehicleID, но там всегда значение равно нулю.
 

jenekbueno

Известный
156
71
да, все понял теперь, если за рулем тачки на которой стоишь никто не сидит, то будет всегда 0 равняться, а если уже кто то сел, то все как надо отображает.
 

vasiliy130198

Новичок
27
0
При рендере (directX) двух и больше картинок начинает зависать игра.. Как можно этого избежать, если мне нужно будет одновременно рендерить 3+ штук?
Пытался весь код из ф-ции Present перекинуть в отдельную, создаваемую потоком -- в игре ни одна не рендерится..
 

BlackKnigga

Известный
BH Team
922
449
При рендере (directX) двух и больше картинок начинает зависать игра.. Как можно этого избежать, если мне нужно будет одновременно рендерить 3+ штук?
Пытался весь код из ф-ции Present перекинуть в отдельную, создаваемую потоком -- в игре ни одна не рендерится..
Криво рисуешь мб.
Пытался весь код из ф-ции Present перекинуть в отдельную, создаваемую потоком -- в игре ни одна не рендерится..
Так вообще нельзя делать, все рендерится только между BeginScene и EndScene.
 
  • Нравится
Реакции: vasiliy130198

SR_team

like pancake
BH Team
4,919
6,624
При рендере (directX) двух и больше картинок начинает зависать игра.. Как можно этого избежать, если мне нужно будет одновременно рендерить 3+ штук?
Пытался весь код из ф-ции Present перекинуть в отдельную, создаваемую потоком -- в игре ни одна не рендерится..
Плюсую ответ книги. Ты делаешь что-то не так. У меня каждый asi плагин рисует минимум по 5 изображений и норм
 
  • Нравится
Реакции: vasiliy130198

vasiliy130198

Новичок
27
0
Плюсую ответ книги. Ты делаешь что-то не так. У меня каждый asi плагин рисует минимум по 5 изображений и норм
Тогда если не секрет, как именно рисуется изображение через сам SF? Через другой поток, или в основном -- перед вызовом EndScene() ?
Вот как раз по такому примеру, как вот тут: SA-MP-Plus/CD3D9DeviceProxy.cpp at master · Hual/SA-MP-Plus · GitHub(https://github.com/Hual/SA-MP-Plus/blob/master/Client/Proxy/CD3D9DeviceProxy.cpp#L222)
... нужно делать, чтобы не лагала игра при рендере нескольких изображений? :scratch:
(Интересует где именно нужно инициализировать текстуру, и где рисовать. Инициализировать нужно же каждый раз, и после рисовать, так?)

Главное ответьте пожалуйста насчёт ссылки выше -- там правильная реализация рендера, как говорили выше, или не совсем?
Заранее спасибо) :drink:
 
Последнее редактирование:

SR_team

like pancake
BH Team
4,919
6,624
Тогда если не секрет, как именно рисуется изображение через сам SF? Через другой поток, или в основном -- перед вызовом EndScene() ?
Вот как раз по такому примеру, как вот тут: SA-MP-Plus/CD3D9DeviceProxy.cpp at master · Hual/SA-MP-Plus · GitHub(https://github.com/Hual/SA-MP-Plus/blob/master/Client/Proxy/CD3D9DeviceProxy.cpp#L222)
... нужно делать, чтобы не лагала игра при рендере нескольких изображений? :scratch:
(Интересует где именно нужно инициализировать текстуру, и где рисовать. Инициализировать нужно же каждый раз, и после рисовать, так?)

Главное ответьте пожалуйста насчёт ссылки выше -- там правильная реализация рендера, как говорили выше, или не совсем?
Заранее спасибо) :drink:
Инициализируй текстуру в конструкторе и рисуй в Present