• Почему статическая переменная инициализируется дважды?

    @Quark_Hell Автор вопроса
    Евгений Шатунов, я знаю что это не конструктор, я просто опустил его реализацию. Этот метод вызывается в конструкторе
    Написано
  • Почему проект не видит функции main?

    @Quark_Hell Автор вопроса
    orfelin, спасибо, смена типа библиотеки с shared на static помогла
    Написано
  • Почему проект не видит функции main?

    @Quark_Hell Автор вопроса
    orfelin, Однако в гайде, который я закрепил, у автора как раз таки нет мейна в приложении, при этом он пол видео делает акцент на этом.

    Так что я думаю, что это возможно, тем более что игровые движки как раз идут по такому сценарию, забирая мейн функцию себе.
    Написано
  • Как параллельно подгружать файлы в C++?

    @Quark_Hell Автор вопроса
    Ну я себе процесс представляю примерно так:

    Доходит игрок до некого триггера, чем инициализирует процесс подгрузки уровня(в целом он может подгрузиться и не сразу, я допускаю что этот процесс займёт какой-то время). После чего создаётся второй поток, внутри которого создаются буферы, в них и будем выгружать данные с харда. После окончания загрузки ждём когда первый поток доложит об окончании итерации, после чего просто скидываем буферы из второго потока в первый(так как у меня используется список, то процесс этот займёт константное время. После подвязки данных убиваем второй поток и продолжаем дальше.
  • Как параллельно подгружать файлы в C++?

    @Quark_Hell Автор вопроса
    Dmitrii, Больше похоже на костыль, чем на адеквтное решение. Тем более что игровая сцена целиком легко может весить несколько гигабайтов или даже больше. Хранить её мёртвым грузом такое себе решение. В играх как раз и используются подгрузки кусков сцены по необходимости
  • Почему объект не ремонтируется в Unity3D?

    @Quark_Hell
    У вас, случайно, не несколько объектов, которые можно отремонтировать?

    Статичное значение для всех будет одинаково. В таком случае значение repairing будет равно последней проверке.

    Также в этом месте вашу десятку лучше умножить на дельту времени, в противном случае скорость починки будет зависеть от количество кадров в секунду:
    if (Repair.repairing)
    {
          slider.value += 10f;
    }
  • Почему ближайшие точки определяются неправильно?

    @Quark_Hell Автор вопроса
    Wataru, а как тогда выглядит правильный ответ?
  • Почему ближайшие точки определяются неправильно?

    @Quark_Hell Автор вопроса
    решил привлечь чат гпт к этому, так как у самого проблемы с алгоритмизацией школьных формул.
  • Какие есть хорошие пдф читалки?

    @Quark_Hell Автор вопроса
    Здравствуйте, словарик у меня уже и так есть, пользуюсь lingvo, самый удобный из тех, что встречал. Но всё-таки это словарь и переводить предложения он не может.

    На счёт жанра литературы то да, это именно техническая
  • Какие есть хорошие пдф читалки?

    @Quark_Hell Автор вопроса
    Спасибо за то что указали на опечатку)

    На счёт читать текст, который хорошо знаком на русском. Проблема в том, что нужные мне книги есть только в англоязычной версии и полны научных терминов, понимание которых и на русском языке даётся с большим трудом
  • Почему в winforms иногда выкидывает indexOutOfRange ошибку при срабатывании Application.Exit()?

    @Quark_Hell Автор вопроса
    Так и не понял причину возникновения ошибки, но это действительно помогло
  • Как исправить баг рендера дживущегося объекта в windows forms?

    @Quark_Hell Автор вопроса
    Здравствуйте. Извиняюсь, но не совсем понял что я должен сделать(в формах недавно).

    Я использую Guna2 для упрощения работы. Так,этот ползунок является градиентной панелью оттуда.

    Насколько я понял вы предлаете полностью рисовать скрролбар из кода, не используя готовые пресеты?
  • Как в игровых движках реализованы отскоки?

    @Quark_Hell Автор вопроса
    Разрешение коллизий не совсем то, что мне нужно. К тому же я уже раз 100 перечитал статью винтера о GJK + EPA алгоритме :)

    Wataru уже написал именно то, что я и хотел. Правда объекты ведут себя немного не так, как ожидается, но это из-за того, что алгоритм EPA в принципе возвращает не реальную нормаль проникновения, а ближайшую. Но у меня уже есть несколько идей как можно решить эту проблему.
  • Как в игровых движках реализованы отскоки?

    @Quark_Hell Автор вопроса
    и фразу "проецируете скорость на нормаль" тоже не понял. Как можно число спроецировать на вектор?
  • Как в игровых движках реализованы отскоки?

    @Quark_Hell Автор вопроса
    Да и в конце там косинус фи + пи/2. Тоже на скалярное произведение векторов не заменить
  • Как в игровых движках реализованы отскоки?

    @Quark_Hell Автор вопроса
    я так понимаю вы предлагаете заменить фи на нормаль плоскости контакта соприкосновения, а вместо углов движения использовать вектор движения. Но ведь в формуле есть косинус из фи. Я ведь не могу скалярно умножить 1 вектор
  • Как в игровых движках реализованы отскоки?

    @Quark_Hell Автор вопроса
    я пиши свой 3д игровой движок и в данный момент пишу для него физику. Задача реализовать физику этих столкновений. Для разрешения коллизий я уже использую GJK + EPA алгоритмы.

    Просто мне сказали, что эти формулы слишком сложны для игровых симуляций и лучше придумать что-то попроще.
  • Какие есть хорошие уроки по OpenCL в C++?

    @Quark_Hell Автор вопроса
    задача умножения матриц реализована в сонме готовых библиотек, начать поиск можно с них.


    Все необходимые операции с матрицами у меня уже есть. Писал я их сам, хоть и знаю о существовании всяких там glm библиотек. Задача перенести эти перемножения на видеокарту, так как умножать приходиться очень много.

    А на счёт поиска, я находил презентации, по типу этой, но предпочел бы уроки в текстовом формате.
  • Почему доступ к элементам vector-а O(1)?

    @Quark_Hell Автор вопроса
    Dmitrii, на самом деле в моём случае однозначно лучше обычный статический массив. Просто ранее я использовал вектор, но после перехода заметил значительное снижение расхода памяти.

    Просто стало интересно, а есть ли ускорение в плане производительности. Ведь вектор я использовал для хранения вершин моей 3д геометрии, соответственно обращался к нему постоянно и не выборочно, а ко всем элементам.
  • Почему доступ к элементам vector-а O(1)?

    @Quark_Hell Автор вопроса
    я говорил о std::vector

    Но если он основан на динамическом массиве, то как тогда выполняется вставка элементов?

    Массив, хранящийся в оперативной памяти, я представляю себе так:
    [какие-то даннные]-[наш массив]-[какие-то данные]

    Благодаря этому доступ к элементам постоянный.

    std::vector я представляю себе так:
    [какие-то даннные]-[наш вектор]-[какие-то данные]-[ещё данные с вектора]-[какие-то данные]-[и ещё данные с того же вектора]

    В таком случае чтобы найти данные по определённому индексу нужно сначала понять где они хранятся физически