Triple Distillation
Triple Distillation
  • Видео 27
  • Просмотров 89 806
Как разбить строку на токены? Язык C
Пример разбиения строки на токены с использованием функции стандартной библиотеки. Некоторые особенности хранения строк показаны с помощью дизассемблирования.
notabug.org/vetal/Tokens
Просмотров: 282

Видео

Wavefront OBJ в OpenGL на языке C
Просмотров 1602 месяца назад
Эксперименты с загрузкой Wavefront OBJ файлов в свой проект на языке C. Нюансы отображения и текстурирования моделей Модели: 3d.si.edu/object/3d/alto-saxophone-owned-and-played-charlie-parker:c7c58ff8-fd1f-4cf6-9813-6bca3cd0b8b3 opengameart.org/content/halloween-pumpkin-0 renderpeople.com/free-3d-people/#eluidb2b1d7da Содержание: 00:15 Makefile, исходники 01:55 Откуда скачать OBJ файлы? 02:55 П...
Wavefront Object. Часть 4. Отдельный исходник для чтения файлов
Просмотров 1423 месяца назад
Создание отдельного модуля на языке C для чтения файлов .obj (3D). 00:26 Обзор первого исходника 05:19 Тест 06:08 Лишний вывод 08:25 Предупреждение компилятора 10:25 marray.c 11:59 Ошибка в директиве 13:22 marray.h 15:46 Makefile 17:02 objmtl.c 30:54 objmtl.h 33:24 objmtl.c 34:15 main.c 36:17 Устраняем ошибки 38:49 Основной исходник
Wavefront Object. Часть 3. Данные для OpenGL VBO и разбиение полинома на треугольники
Просмотров 1333 месяца назад
Как разбить многоугольник на серию треугольников, сохраняя порядок следования вершин? Каким образом по набору индексов воссоздать структуру вершины для буфера вершин из OpenGL (VBO)? Обо всём этом рассказано в данном видео. Кроме того, показан алгоритм получения серии треугольников для видео "От 2D к 3D на JavaScript. Часть 2"
Wavefront Object. Часть 2. Текстуры, нормали, поверхности
Просмотров 1183 месяца назад
Продолжение темы чтения файла Wavefront OBJ на C. Формируем массив координат текстур и массив нормалей к поверхности. Изучем способ описания плоскостей, из которых складывается поверхность 3D-объекта.
Wavefront Object. Часть 1. Вершины
Просмотров 2423 месяца назад
Читаем координаты вершин из файла Wavefront OBJ на языке C. Есть пара слов о динамических массивах и разбиении строк на токены (отдельные слова). 00:28 Makefile 00:44 Wavefront Object 02:00 Аргументы приложения 02:40 Чтение файла 03:45 Токены 06:00 Комментарии 07:12 Динамический массив 10:46 Вершины
От 2D к 3D на JavaScript. Часть 2
Просмотров 30510 месяцев назад
Отображение поверхности 3D объектов. Роль скалярного и векторного произведения 00:35 - Треугольник на плоскости 01:30 - Основной цикл 02:45 - Результат 1 03:30 - Пирамида в Blender 04:00 - Поверхность в файле .obj 06:38 - Результат 2 07:52 - Векторное произведение 08:56 - Нормирование вектора 09:11 - Скалярное произведение 09:46 - Результат 3 10:25 - Влияние угла зрения на цвет грани 11:34 - Ре...
От 2D к 3D на JavaScript. Часть 1
Просмотров 48210 месяцев назад
Как работают матрицы перспективы, переноса, поворота. Практика. 02:03 - Рисуем точку 03:41 - Фон сцены 04:10 - Массив вершин 05:25 - Перспектива 07:27 - Вычисление 2D координат 09:14 - Основной цикл 12:02 - Результат 1 12:26 - Перенос объекта 12:55 - Управление сценой 14:06 - Результат 2 14:34 - Поворот объекта 16:51 - Результат 3 17:14 - Используем Blender 21:22 - Результат 4 23:19 - Результат...
Матрицы масштабирования, переноса и поворота
Просмотров 1,5 тыс.10 месяцев назад
Преобразования 3D-обектов. Особенности поворота вокруг осей координат. Влияние начала системы координат объекта на его преобразования. Немного о свойствах матричного умножения
Матрица перспективы
Просмотров 57510 месяцев назад
Рассчет матрицы перспективы. Преобразование координат точек в системе координат камеры к координатам в системе NDC (Normalized device coordinates).
Функции обратного вызова (CALLBACK) в языке C
Просмотров 2,6 тыс.11 месяцев назад
Продолжение ролика про указатели в C. На этот раз речь пойдет про указатели на функции. 00:24 - Определение/описание механизма CALLBACK 01:09 - Вызов функции в объектном коде 02:16 - Пример функции сортировки 03:24 - Сравнение элементов массива с помощью CALLBACK 06:19 - Выбор вариантов сортировки 07:17 - Массив указателей на функции как замена switch ... case 08:20 - Чтение выражения, определя...
TETRIS на JavaScript с нуля
Просмотров 71711 месяцев назад
Ещё одна интерпретация игры Tetris. На этот раз на языке JavaScript и в рамках одной интернет-страницы index.html. Смысл ролика в демонстрации принципа разбиения сложной задачи на более простые. Язык и среда выбраны с рассчетом на доступность. В предыдущем ролике на тему тетриса использовался язык C и часть времени была отведена поиску способов отображения игровой ситуации, что повышало сложнос...
Указатели в языке C
Просмотров 1 тыс.Год назад
Небольшое видео об указателях в языке C. Материал по просьбе одного из подписчиков. Изложение затрагивает те нюансы, которые так или иначе учитываются в других проектах на канале.
Стек. Часть 3. Простой парсер для файлов .ini
Просмотров 845Год назад
Продолжение разработки модуля для чтения файлов конфигурации. В этой части рассматривается функция matchSymbol и варианты её применения. Продемонстрирован способ проверки синтаксиса и нахождения строки с ошибкой. Всё вышеназванное в конечном итоге показано на примере чтения конфигурации из файла в формате .ini. Помимо всего прочего запрограммирован пропуск комментариев в теле файла конфигурации.
Стек на языке C. Часть 2. Инструмент для чтения конфигурационных файлов
Просмотров 1,1 тыс.Год назад
Стек на основе линейного списка из именованных элементов используется для чтения конфигурационных файлов. Кроме того, показано - как работает ключевое слово "static" для функций. Затронута тема синтаксического анализатора
Стек на языке C
Просмотров 11 тыс.Год назад
Стек на языке C
Линейный список на языке C
Просмотров 1,7 тыс.Год назад
Линейный список на языке C
Динамический массив на языке C
Просмотров 2,3 тыс.Год назад
Динамический массив на языке C
OpenGL. Проект-шаблон. Система координат
Просмотров 522Год назад
OpenGL. Проект-шаблон. Система координат
Чтение растровых изображений формата BMP на языке C. 24-битное и 32-битное изображения
Просмотров 6 тыс.Год назад
Чтение растровых изображений формата BMP на языке C. 24-битное и 32-битное изображения
Tetris с нуля на языке C
Просмотров 13 тыс.Год назад
Tetris с нуля на языке C
Индексы вершин в OpenGL. Elements Buffer Object
Просмотров 3542 года назад
Индексы вершин в OpenGL. Elements Buffer Object
Текстуры в OpenGL
Просмотров 1,1 тыс.2 года назад
Текстуры в OpenGL
Шейдеры в OpenGL
Просмотров 6 тыс.2 года назад
Шейдеры в OpenGL
Makefile. Компиляция нескольких файлов с исходным кодом
Просмотров 35 тыс.2 года назад
Makefile. Компиляция нескольких файлов с исходным кодом
OpenGL и X11 Первый проект
Просмотров 2,1 тыс.2 года назад
OpenGL и X11 Первый проект
In the style of "Something Wicked Comes This Way" by 100 Watt Vipers
Просмотров 2623 года назад
In the style of "Something Wicked Comes This Way" by 100 Watt Vipers

Комментарии

  • @_fffffffff
    @_fffffffff 4 дня назад

    S21 есть тут такие ?

  • @DanielAstro
    @DanielAstro 8 дней назад

    Круто 👍

  • @kotvkvante22
    @kotvkvante22 10 дней назад

    Привет, похоже утечка памяти в строке s = getGroupName(...) Мы в функции getToken выделяем память под имя группы и вписываем его в по указателю в переменную group. Эту память мы нигде не освобождаем. Мне кажется, это важный момент, можешь сделать видео, как можно это исправить (для целостности повествования? 😀 )? p.s. Ещё раз скажу что видос топ!! p.s2. Я в блоке if добавил очистку предыдущей группы, если читаем новую группу (group != NULL). И после цикла while очистку последней группы.

    • @tripledistillation1755
      @tripledistillation1755 8 дней назад

      Привет. Спасибо за внимание и анализ кода. Как только найду время, запишу дополнение

  • @user-tp1qn2wt6t
    @user-tp1qn2wt6t 13 дней назад

    Вау ты крутой! Мощный контент делаешь!

  • @user-dn4wh3be7u
    @user-dn4wh3be7u 13 дней назад

    Пожалуйста, сделайте видео про такие структуры данных, как деревья! Вы чудесно обьясняете

  • @Guerrero_Blanco
    @Guerrero_Blanco 18 дней назад

    Оказывается Make не такой сложный, хотя это всё можно и в простом скрипте описать )

  • @fuyuzed4781
    @fuyuzed4781 19 дней назад

    Может кто-то подсказать почему копия мейка из проекта выдает ошибку: make: *** No rule to make target 'src/tetris', needed by 'SimpleTetris'. Stop.

  • @Standoff-yg1hl
    @Standoff-yg1hl 29 дней назад

    можете скинуть код пожалуйста

  • @DamirAlyukov
    @DamirAlyukov Месяц назад

    Очень полезно! Спасибо! Основной ход мыслей и математика мне ясна, но недопонимпние все езе остается!

  • @easy-bot
    @easy-bot Месяц назад

    Интересно не про калбек, а тот факт что пример показан на 'C', ещё и стек вызова рассмотрен.

  • @Ocak-ok1li
    @Ocak-ok1li Месяц назад

    Смотрю пока только первые 5 минут и уже хочу сказать респект автору без воды и всякой чуши, пока все по делу, и что самое главное понятно и доступно 👍

  • @zodiac4072
    @zodiac4072 Месяц назад

    где можно найти код?? на сайте в описании нету

    • @tripledistillation1755
      @tripledistillation1755 Месяц назад

      notabug.org/vetal/OpenGL_Start Тут есть bmp_reader.c и bmp_reader.h

  • @user-fp7fv2je9v
    @user-fp7fv2je9v Месяц назад

    Да, впечатляет. Простота объяснения, а значит, глубина понимания и умение рассказать. Есть куча книг, мутно описывающих математическую суть графики, а тут просто, прям изяшна. Здорово было бы, если бы автор весь общий видеокурс по компьютерной графике сделал. Наверняка он был бы лучшим в ютубе.

  • @user-yg8yp8kx5e
    @user-yg8yp8kx5e 2 месяца назад

    Хороший гайд. Но не все вопросы решены. Что делать, если в проекте есть код на нескольких языках? А ещё проект состоит из десятка других проектов, и вообще не ясно, что где лежит. У кого-то cmake прикручен, у кого-то makefile, а некоторые вообще sln. И ещё некоторые любят писать #include <sdl2/sdl.h>, а кто-то просто пишет #include <sdl.h>, кто-то #include "C:\васян\sdl. h" , и плевать они хотели на то, что это один файл. Кому-то так удобнее, кому-то так. А тебе все это читать и переписывать не надо, тебе бы только скомпилировать. Под виндой кто-то уже для всего этого цирка сделал sln, и это работает. А makefile нет. Конкретно в моём случае это ещё и статическая библиотека name.lib, которую надо бы пересобрать для линукса в name.a. Если будет настолько обширный гайд, то тема уже будет освещена полностью

    • @tripledistillation1755
      @tripledistillation1755 2 месяца назад

      Да, есть над чем подумать. Для заголовочных файлов можно добавить место поиска с помощью опции -I. Makefile очень часто бывает результатом работы скрипта "configure" в случае Linux. Поэтому имеет смысл этот скрипт разобрать. Ещё подкинули вопрос насчет изменения содержимого .h файлов - мол, нужно добавить зависимость. Тут гайд скорее ситуационный: мне нужно было решить конкретную задачу - вот решил до определенной степени и поделился)

  • @berry_v1bes
    @berry_v1bes 2 месяца назад

    можно исходники, пожалуйста ? 🥺

    • @tripledistillation1755
      @tripledistillation1755 2 месяца назад

      Всё будет в ближайшее время (я надеюсь), на ресурсе notabug.org/vetal

  • @tripledistillation1755
    @tripledistillation1755 2 месяца назад

    Добавлена ссылка на исходники: notabug.org/vetal/OpenGL_VAO

  • @Timur-xv5nm
    @Timur-xv5nm 2 месяца назад

    сделайте видео, пожлалуйста, реализация утилиты cat на СИ🙏

    • @tripledistillation1755
      @tripledistillation1755 2 месяца назад

      Это, наверное, задача от вашего преподавателя?)

    • @Timur-xv5nm
      @Timur-xv5nm 2 месяца назад

      дааа) надо скоро уже сдать🥲@@tripledistillation1755

    • @Timur-xv5nm
      @Timur-xv5nm 2 месяца назад

      даа) @@tripledistillation1755

    • @Timur-xv5nm
      @Timur-xv5nm 2 месяца назад

      ага) @@tripledistillation1755

    • @Timur-xv5nm
      @Timur-xv5nm 2 месяца назад

      ага)

  • @bogdanwitcher3226
    @bogdanwitcher3226 2 месяца назад

    Спасибо большое за видео, а можно вас попросить, если будет время и желание какой-нибудь жесткий контент по С++? Ну там по типу какого-нибудь проекта как вы раньше на С делали (тетрис, например) или по алгосам что-нибудь, реализация и практическое применение avl / rb / b деревьев, было бы очень полезно. Кстати еще заметил, что на русскоязычном ютубе нет нормальных видео с использованием в том же С функция ftw или там какая-либо работа с каталогами, просто помню как была соответствующая задача на 1 курсе, а ничего полезного на ютубе не было)

    • @tripledistillation1755
      @tripledistillation1755 2 месяца назад

      Вопросов много, конечно. Постараюсь что-нибудь из этого осилить. А задачку с 1 курса скиньте, если можно. По C++ есть желание с ECS разобраться, да и вообще с паттернами как таковыми

    • @bogdanwitcher3226
      @bogdanwitcher3226 2 месяца назад

      @@tripledistillation1755 ну можно ваши контакты, я вам могу много всякого скинуть, что у нас было

  • @nRADRUS
    @nRADRUS 2 месяца назад

    однобайтовые токены это такое себе

  • @vladrootgmailcom
    @vladrootgmailcom 2 месяца назад

    Спасибо за видео, Веталь :)

  • @beastdope1652
    @beastdope1652 2 месяца назад

    Спасибо тебе большое, добрый человек, за такой полный и грамотный курс. Можешь ли порекомендовать какой-нибудь материал для развития такого навыка мышления как у тебя? Чтобы так по полочкам грамотно выходило одно из другого, литература, практика, всё что угодно, буду благодарен)

    • @tripledistillation1755
      @tripledistillation1755 2 месяца назад

      Спасибо! На мышление повлиял предмет "математический анализ". Можно посмотреть разные схемы доказательств теорем. Например, критерия Коши о равномерной сходимости числовой последовательности. Это поможет понять - что такое критерий вообще. Любые теоремы с первого курса мехмата подойдут. Полезно почитать о структуре математических определений. Тогда станет ясно - как строить определение чего угодно. Про "программирование сверху" - это Стив Макконел "Совершенный код". По-моему, из этой книги. В общем, математика - наше всё)

  • @muchas_gracias
    @muchas_gracias 2 месяца назад

    Наконец-то я понял откуда эти формулы поворота😎 Больше таких подробных роликов!

    • @tripledistillation1755
      @tripledistillation1755 2 месяца назад

      Рад, что помог с этим. Предлагайте темы или смежные вопросы, если таковые имеются. Спасибо за коммент!

  • @vladilslavdurnev5083
    @vladilslavdurnev5083 2 месяца назад

    Отличные материал и подача! Спасибо огромное за ваш труд!

  • @my_asceza
    @my_asceza 2 месяца назад

    Круто получилось. Здесь я генерирую bmp файл на языке Си m.ruclips.net/video/wdjd4WStlmU/видео.html

  • @user-uc5mw1wq3j
    @user-uc5mw1wq3j 2 месяца назад

    #include <stdio.h> #include <stdlib.h> #include <string.h> int del(int a) { return a/2; } char* buf = "\x55" "\x48\x89\xe5" "\x89\x4d\x10" "\x8b\x45\x10" "\x89\xc2" "\xc1\xea\x1f" "\x01\xd0" "\xd1\xf8" "\x5d" "\xc3"; int main(int argc, char* argv[]) { int(*f)(int) = (int(*)(int))buf; printf("%d", f(90)); return 0; } /* Disassembly of section .text: 0000000000000000 <printf>: 0: 55 push %rbp 1: 53 push %rbx 2: 48 83 ec 38 sub $0x38,%rsp 6: 48 8d 6c 24 30 lea 0x30(%rsp),%rbp b: 48 89 4d 20 mov %rcx,0x20(%rbp) f: 48 89 55 28 mov %rdx,0x28(%rbp) 13: 4c 89 45 30 mov %r8,0x30(%rbp) 17: 4c 89 4d 38 mov %r9,0x38(%rbp) 1b: 48 8d 45 28 lea 0x28(%rbp),%rax 1f: 48 89 45 f0 mov %rax,-0x10(%rbp) 23: 48 8b 5d f0 mov -0x10(%rbp),%rbx 27: b9 01 00 00 00 mov $0x1,%ecx 2c: 48 8b 05 00 00 00 00 mov 0x0(%rip),%rax # 33 <printf+0x33> 33: ff d0 call *%rax 35: 48 89 c1 mov %rax,%rcx 38: 48 8b 45 20 mov 0x20(%rbp),%rax 3c: 49 89 d8 mov %rbx,%r8 3f: 48 89 c2 mov %rax,%rdx 42: e8 00 00 00 00 call 47 <printf+0x47> 47: 89 45 fc mov %eax,-0x4(%rbp) 4a: 8b 45 fc mov -0x4(%rbp),%eax 4d: 48 83 c4 38 add $0x38,%rsp 51: 5b pop %rbx 52: 5d pop %rbp 53: c3 ret 0000000000000054 <del>: 54: 55 push %rbp 55: 48 89 e5 mov %rsp,%rbp 58: 89 4d 10 mov %ecx,0x10(%rbp) 5b: 8b 45 10 mov 0x10(%rbp),%eax 5e: 89 c2 mov %eax,%edx 60: c1 ea 1f shr $0x1f,%edx 63: 01 d0 add %edx,%eax 65: d1 f8 sar %eax 67: 5d pop %rbp 68: c3 ret 0000000000000069 <main>: 69: 55 push %rbp 6a: 48 89 e5 mov %rsp,%rbp 6d: 48 83 ec 20 sub $0x20,%rsp 71: e8 00 00 00 00 call 76 <main+0xd> 76: b9 5a 00 00 00 mov $0x5a,%ecx 7b: e8 d4 ff ff ff call 54 <del> 80: 89 c2 mov %eax,%edx 82: 48 8d 05 01 00 00 00 lea 0x1(%rip),%rax # 8a <main+0x21> 89: 48 89 c1 mov %rax,%rcx 8c: e8 6f ff ff ff call 0 <printf> 91: b8 00 00 00 00 mov $0x0,%eax 96: 48 83 c4 20 add $0x20,%rsp 9a: 5d pop %rbp 9b: c3 ret 9c: 90 nop 9d: 90 nop 9e: 90 nop 9f: 90 nop */ при выполнении данного кода происходит ошибка segmentation fault. Пробовал отладчиком, почему происходит такая ошибка выяснить не удалось. Использую gcc 13.2 vscode windows 10x64. Если знаете как решить данную проблему, поделитесь пожалуйста.

    • @tripledistillation1755
      @tripledistillation1755 2 месяца назад

      В приведенном ассемблерном коде вообще многое интересно. Например, почему в строке 71 происходит вызов строки 76? В del, судя по всему, аргумент передается через ecx, но дальнейшая работа со стеком внутри функции вызывает сомнения. Функция del почему-то считает локальные переменные функции main своими локальными переменными, что видно из строк 58 и 5b. printf тоже крайне странный. Почему дизассемблер не говорит, что printf находится в другом модуле, а приводит полный код функции? Возможо эксперименты с дизассемблером дадут ответ.

  • @SoTer771
    @SoTer771 3 месяца назад

    Спасибо за видео! А где скачать файлик с данными?

    • @tripledistillation1755
      @tripledistillation1755 3 месяца назад

      Пожалуйста! Файл можно экспортировать из Blender-а. Это формат Wavefront OBJ. Можно даже взять сцену с одним кубом (начальную). Так легче проверить алгоритм, поскольку вершин и всего прочего будет мало

  • @zoompartyru
    @zoompartyru 3 месяца назад

    Отличная подача материала. Спасибо !

  • @user-vp1xm3wh1f
    @user-vp1xm3wh1f 3 месяца назад

    Хакинг, не иначе

  • @eugenevladoff2758
    @eugenevladoff2758 3 месяца назад

    Отличные видео! Мне как новичку очень интересны такие примеры. Пока сложновато, но я догоню) Продолжайте пожалуйста.

  • @TheALEXMOTO
    @TheALEXMOTO 3 месяца назад

    В твоих видео что то х.... голову сломишь. Ты уже если взялся за 3д то хоть в одном языке делай и сначала... А то у тебя то одно то другое.... Боюсь что следующее видео будет по шейдерам из дерект икса а после него ты расскажешь как сделать вращающуюся стрелку часов на паскале.

    • @tripledistillation1755
      @tripledistillation1755 3 месяца назад

      Приветствую. Сперва были два ролика по математическим вещам, которые нужны при отображении 3д пространства. Затем два ролика с практикой по этому вопросу (выбран JavaScript, так как инструменты рисования примитивов в нем более доступны, понятны и не отвлекают от сути). В конце роликов были отображены объекты с большим количеством вершин. А данный ролик объясняет - откуда и как прочитать такое количество координат

    • @TheALEXMOTO
      @TheALEXMOTO 3 месяца назад

      @@tripledistillation1755 спасибо

  • @ruslanakhmetzyanov5503
    @ruslanakhmetzyanov5503 3 месяца назад

    Лучшее видео, благодарю

  • @user-ol2zz5hq5l
    @user-ol2zz5hq5l 4 месяца назад

    А если используется header файл?

    • @tripledistillation1755
      @tripledistillation1755 4 месяца назад

      Приведите конкретный пример

    • @user-ol2zz5hq5l
      @user-ol2zz5hq5l 3 месяца назад

      @@tripledistillation1755 , прошу прощения. Например для создания библиотеки, мы используем .h, и если изменить этот хедер файл, то нужно будет пересобирать все .c файлы, зависимые от него. Спасибо за видео!

    • @tripledistillation1755
      @tripledistillation1755 3 месяца назад

      Верно. Спасибо за комментарий

  • @ArtyomK-du6pc
    @ArtyomK-du6pc 4 месяца назад

    Отличное видео! Редко можно увидеть разбор того, как работают программы на уровне асемблера.

  • @user-lc9mg8px7h
    @user-lc9mg8px7h 4 месяца назад

    Имба

  • @MrChelovek68
    @MrChelovek68 5 месяцев назад

    А шейдеры и vao/vbo/ibo и прочая буит? Отличный урок,пояснение и за си -Отдельный Лайчище)

    • @tripledistillation1755
      @tripledistillation1755 5 месяцев назад

      Уже есть

    • @MrChelovek68
      @MrChelovek68 5 месяцев назад

      ооо,отлично) я прост ищ не посмоорел полностью плейлист)@@tripledistillation1755

  • @iBarmalei
    @iBarmalei 5 месяцев назад

    всё, конечно, хорошо..но сайт не открывается и репозитория на гитхабе тоже нет((

    • @tripledistillation1755
      @tripledistillation1755 4 месяца назад

      Если есть информация по поводу того, какие там права на исходники/условия размещения/подводные камни и т.д. (о гитхабе речь), то скиньте пожалуйста. Платформа конечно известная, но в открытом доступе, как правило, только положительные моменты, а хотелось бы узнать нюансы. Чтение о "баталиях" между организациями из-за 15 строчек кода на меня повлияло)

    • @iBarmalei
      @iBarmalei 3 месяца назад

      @@tripledistillation1755 не совсем понял суть вашего вопроса, простите. Если мы говорим просто про обучающие примеры - куски кода, то они заливаются в публичный репозиторий бесплатно, чтоб потом такие дубы как я могли их склонировать по-тихоньку копать.

    • @tripledistillation1755
      @tripledistillation1755 3 месяца назад

      а с точки зрения авторского права на исходники? Под какой лицензией они там размещаются? Есть какие-нибудь ограничения и неприятные "сюрпризы"?

    • @iBarmalei
      @iBarmalei 3 месяца назад

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

    • @eugenevladoff2758
      @eugenevladoff2758 3 месяца назад

      @@tripledistillation1755 Здравствуйте. Лицензии там можно выбрать разные, выбираются при создании своего репо.

  • @eudziro
    @eudziro 5 месяцев назад

    Круто! Спасибо, очень помогли! Кстати голос похож на shimoroshow

  • @programm1ct
    @programm1ct 5 месяцев назад

    BMP формат не прям простой, в зависимости от версии в нём разные особенности. Писал свой BMP ридер через mmap который читал все возможные форматы, только без сжатия.

  • @qwerty-hn2bf
    @qwerty-hn2bf 6 месяцев назад

    СПАСИБО

  • @user-qd6pi4pd1b
    @user-qd6pi4pd1b 6 месяцев назад

    сайт не работает почему-то

    • @tripledistillation1755
      @tripledistillation1755 3 месяца назад

      Средства в очередной раз кончились, мотивация пропала

  • @janerobertson5628
    @janerobertson5628 6 месяцев назад

    Здравствуйте, огромный вам спасибо за ценный урок!

  • @user-ei8vt4pt2r
    @user-ei8vt4pt2r 6 месяцев назад

    делайте, пожалуйста, крупнее: на телефоне не разглядеть

    • @tripledistillation1755
      @tripledistillation1755 3 месяца назад

      Тут видео в принципе не рассчитано на такой способ просмотра, но подумаю

  • @kirillkaleda5798
    @kirillkaleda5798 7 месяцев назад

    а почему мы не очищаем указатель next, когла удаляем элемент из стека?

    • @tripledistillation1755
      @tripledistillation1755 3 месяца назад

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

  • @user-mp9cp7ej5f
    @user-mp9cp7ej5f 7 месяцев назад

    Спасибо! Очень хорошее объяснение!

  • @saidamir6538
    @saidamir6538 7 месяцев назад

    Вы из стс? На голос из галилео похож

  • @user-zm6ov2kx3i
    @user-zm6ov2kx3i 7 месяцев назад

    Комментарий в продвижение видео

  • @user-ry5oh3qt2u
    @user-ry5oh3qt2u 7 месяцев назад

    Ncurses уже значит не чистый С)) Чистый С это запись в фреймбуффер линукса напрямую, без помогалок)

    • @tripledistillation1755
      @tripledistillation1755 7 месяцев назад

      В видео первый рабочий вариант реализован через стандартный вывод без ncurses

  • @user-eb3cf9em6m
    @user-eb3cf9em6m 7 месяцев назад

    стек в Си. В смысле стек в куче на Си :Ь. А я то подумал тут про работу кэшами памяти будет

  • @eprst0
    @eprst0 7 месяцев назад

    Для геймдева лучше Си/Си++, ну может еще раст, чем другие языки. Та же Java имеет свой рантайм, который нужно знать, жрет много памяти и менее производительна. Согласны?

    • @tripledistillation1755
      @tripledistillation1755 7 месяцев назад

      Вот есть Paint на net framework. А возможно создать программу, решающую те же задачи, но без использования фреймворка, исключительно на минимальном наборе библиотек? Думаю, что да

  • @clqwnless
    @clqwnless 7 месяцев назад

    Благодарю за видео!❤