Профиль пользователя заблокирован сроком «навсегда» без указания причины
  • Как хранятся данные в переменных Си, little-endian or big-endian?

    @Wexter
    Зависит сугубо от архитектуры и компилятора под которую собирается код
    Ответ написан
    Комментировать
  • В файловой системе FAT16 что из себя представляет папка?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Комментировать
  • "undefined reference to" при линковке, что делать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Хотелось бы скинуть на русском или на английском но увы, у меня линковщик почему-то говорит на украинском

    export LANG=C в консоли где выполняется линковка должен решить эту проблему.

    невизначене посилання __stack_chk_fail_local

    можно компилировать исходник на C с ключами -fno-stack-protector -fstack-check=no чтобы компилятор не вставлял проверки и вызовы этой функции. См.
    Ответ написан
    Комментировать
  • Как правильно учить OpenGL?

    @konraddd
    Я вот тоже только начал (чисто в качестве хобби) пытаться приобщиться к ОГЛу и для себя решил (собсна, на сайте хроноса это чётко написано), что в 2020-м нет смысла изучать 2.х -- только 3.0 и выше. Собственно, желательно бы 3.2 и выше, но у меня вот, например, относительно старый ноут (однако вполне справляющийся с повседневными задачами: четыре потока по 2.5ГГц, 8ГБ ОЗУ), который поддерживает только OpenGL 3.0 - а я ориентируюсь не на "игры", а всякие полу-инженерный софт (где не "красота" важна, а просто динамичная отрисовка сложных моделек с незамысловатыми текстурами, или вообще без текстур), так что я для себя выбрал "началом" именно 3.0
    Вот кусочек про фундаментальное различие версий 2.х и 3.х: https://www.khronos.org/opengl/wiki/OpenGL_Context...
    Вот у этого мужичка на хабре есть классная серия про ОГЛ: https://habr.com/ru/users/haqreu/posts/ - он там умную мысль говорит: сначала разобраться как воощзе 3Ж-графика рендерится (на примере софтового рендера - у него по нему отдельный курс статеек есть) и потом уже переложить эти знания на железо
    Ответ написан
    Комментировать
  • "undefined reference to" при линковке, что делать?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    неопределенная ссылка __stack_chk_fail_local
    скрытый символ __stack_chk_fail_local не определен
    попытка окончательной компоновки потерпела неудачу: ошибочное значение
    (переведено гуглом)

    Где-то используется функция или внешняя переменная __stack_chk_fail_local, но ни в одном из обьектных файлов, переданных компоновщику данная функция/переменная не обнаружена
    Ответ написан
    3 комментария
  • Борьба с наркотой и сайтами в onion?

    Zoominger
    @Zoominger
    System Integrator
    Непопулярность и распределённость этой системы, отсутствие централизованного сервера, где всё это хранилось бы.
    В теории, проблема решается блокировкой системы Tor, но тогда барыги и педофилы взвоют из-за нарушения их интернет-швабодки и поднимут визг о тоталитарном контроле.
    Ответ написан
    Комментировать
  • Как собрать бинар с точкой входа на ассемблере, для ядра на Си?

    @iBott
    Вот в этом источнике рассказывается как вызвать код, написанный на C из ассемблера:
    https://wiki.osdev.org/Bare_Bones_with_NASM
    Полный гайд:
    https://wiki.osdev.org/Bare_Bones
    Вам нужно определить функцию, которую вы хотите вызвать, как extern (если используете NASM) в ассемблерном коде (насколько я понял, у вас эта функция находится в другом объектном файле, скомпилированного из C кода). Затем просто вызовите ее. (Только не забудьте все правильно скомпоновать.)
    Вроде бы то, что вам нужно.
    Ответ написан
    Комментировать
  • C++ OpenGL реализация физики, с чего начинать?

    @FarNear
    Брать учебник физики и изучать механику.
    Физика ведь не только из коллизий состоит.

    Конечно пишут и свою физику. (в том же Сryengine своя реализация физики, довольно продвинутая)
    Игр с самописной физикой не мало.

    Но в основном берут готовые физические движки и дописывают нужный функционал (изменяют имеющийся под свои задачи) (физика транспорта и т.д)

    Физических движков много ODE, Bullet, Havok, PhysX и др.
    Ответ написан
    Комментировать
  • OpenGL и C++. Как лучше отсортировать полигоны?

    @MarkusD
    все время мелю чепуху :)
    Честно говоря, странно видеть в заголовке и тегах вопрос об OpenGL, а в теле вопроса - про коллизии и, возможно, физику.

    Видимое пространство и коллизионное пространство - это два абсолютно разных, но одновременно существующих пространства. Вершины видимого пространства являются крайне избыточными для работы в пространстве коллизий, самих вершин для качественной передачи визуальной информации требуется многократно больше, чем необходимо для точной симуляции коллизий. Для качественной симуляции коллизий вершины должны обладать совсем другими атрибутами, которые точно так же будут излишне перегружать размер вершины для пространства визуализации. И OpenGL к теме симуляции коллизий не имеет никакого отношения.

    Тебе надо иметь два набора вершин. Один - набор вершин для визуализации объекта. Второй - набор вершин для симуляции его физики, не только коллизий. И таких наборов может быть много. Для симуляции повреждений и деформаций, для скиннинга, для хитбоксов, для постройки маршрутов перемещений, для звуков...
    BSP подходят больше для отсечения видимой геометрии. В наши дни этот подход не оправдывает своих затрат, его не используют. Для эффективной симуляции коллизий лучше подходят QTree, OTree или KD-списки.

    Почитать начать можно отсюда: Study path for game programmer. Твой раздел: 9. Game Physics and Animation.
    Далее, тебе сюда: https://gamedev.ru/code/articles/?physics
    Да, геймдев все еще жив, хоть уже и не принадлежит Сереге Ваткину.
    Следом лучше пойти на хабр: [1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11].
    У Фабьена Сангларда есть набор статей о внутреннем устройстве DOOM 3 и Quake 3, там есть материал и про столкновения.

    На этом этапе у тебя уже должно сформироваться представление о предметной области симуляции коллизий.
    Ответ написан
    Комментировать
  • В чем моя ошибка в AVR, где я должен зациклить, или что вообще сделать?

    @evgeniy_lm
    Если ваши команды должны выполнятся однократно поставьте вместо nop затычку типа
    Stop: rjmp Stop

    Если вам нужно выполнять эту хрень в цикле то после out sph, r16 поставьте метку Loop: , а вместо nop поставьте rjmp Loop
    Ответ написан
    Комментировать
  • В чем моя ошибка в AVR, где я должен зациклить, или что вообще сделать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    Вот где код вырывается в память 0xfffff

    Вот в конце же, после последнего nop.
    Ответ написан
    Комментировать
  • В чем моя ошибка в AVR, где я должен зациклить, или что вообще сделать?

    @Alexeyslav
    Программирование, электроника
    Неправильно интерпретировали сообщнние об ошибке. Там говорится что есть попытка исполнить инструкцию с кодом 0xFFFF по адресу 0x0E, со всей очевидностью можно сказать что это область чистой памяти сразу за по ледним nop. Что надо сделать целиком зависит от того что вам нужно по алгоритму. Либо зациклить ваш код переходом из конца в начало, либо зациклить на месте переходом на саму же инструкцию перехода. Поймите одну важную вещь - для контроллера не существует такого понятия как конец программы - он постоянно что-то исполняет либо ждет условия окончания команды sleep.
    Ответ написан
    Комментировать
  • Не могу создать образ с ядром и загрузчиком...?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    MegaCraZy6 смотри, вот вопрос похожий на твой: Как загрузить код с диска в оперативную память в реальном режиме ассемблера?
    Прочувствуй отличие в том, как он был задан.
    Ответ написан
    Комментировать
  • Программа не нагружает ни процессор ни видеокарту на 100%, что делать (openGL)?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Программа написана на старорежимном OpenGL, не использует дисплейные списки - куча времени уходит на пересылку команд по шине.

    Используйте шейдеры.
    Ответ написан
    1 комментарий
  • Программа не нагружает ни процессор ни видеокарту на 100%, что делать (openGL)?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Загрузка процессора на 100% обычно означает загрузку всех ядер. В вашем случае приложение однопоточное, и может загрузить только одно.
    Вполне вероятно что даже одно ядро будет большую часть времени ожидать отправки данных в видеокарту и не будет загруженно на все 100.

    Загрузка GPU еще более сложное понятие. Там уже могут быть сотни ядер и распределение нагрузки на них зависит от кучи параметров.

    Есть программы профайлеры, которые могут показать некоторую дополнительную информацию о вашей программе.
    Для NVIDIA есть https://developer.nvidia.com/nsight-systems
    С их помощью можно увидеть что именно делает программа большую часть времени.
    5e038ffec81ce497045236.png
    Тут еще вмешивается Vsync который ограничивает fps скоростью обновления монитора. Так что большую часть времени происходит ожидание.
    Ответ написан
    Комментировать
  • Какие есть open source игры с кодом которых мог бы поиграть новичок?

    gbg
    @gbg
    Любые ответы на любые вопросы
    Quake, Quake II, Quake III

    Проблема в том, что новички бывают разные.
    Ответ написан
    Комментировать
  • Что выбрать новичку: DirectX или OpenGL?

    OpenGL однозначно, вам и его хватит с головой.

    Изучая DirectX вы иссохнете от того, сколько сопутствующий вещей придётся узнать хотя бы поверхностно - COM например. Возможно кто-то скажет что это не обязательно - да, пока вам не понадобится более-менее серьёзно подебажиться.

    OpenGL выглядит сейчас как самое простое (проще Vulkan, т.к. более высокоуровневый), но при этом полноценное (т.е. достаточно близкое к железу) графическое API без всяких Windows-specific наворотов. DirectX это по сути для профессионалов которые работают в индустрии, получают за это хорошие деньги и для них не проблема разобраться с какой-то сопутствующей технологией.
    Ответ написан
    Комментировать
  • Что выбрать новичку: DirectX или OpenGL?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Vulkan
    Ответ написан
    Комментировать
  • Что выбрать новичку: DirectX или OpenGL?

    GavriKos
    @GavriKos
    И не знаю что выбрать, мне нужно что-то что проще выучить, и первый результат будет быстрее..

    Лучше тогда выбрать готовый движок или обертку над API.

    Так в целом основы одинаковы.
    Ответ написан
    Комментировать
  • Как поступить с данным кодом переписать или можно оптимизировать?

    maaGames
    @maaGames
    Погроммирую программы
    SetPixel очень плохая сточки зрения производительнсоти функция. У тебя есть буфер (битмап), верни из него массив байт и записывай значения непосредственно в него, это сразу сильно ускорит отрисовку. Только учти, что ширина строки не равна числу пикселей в этой строке и величину смещения нужно запросить отдельно.
    Ответ написан
    Комментировать