Pull to refresh
22
0.1
Маланюк Михаил @CJay

Пользователь

Send message

У вас здесь нет самого главного: как вас отпустила УК. В нашем городе (Курск) от УК так просто не уйти. И по голове старшим по дому кто-то бьёт, и по голове директору конкурирующей УК, чтоб не лез, и машины кто-то обливает растворителем краски. Ну и бесконечные липовые голосования по возврату в УК. И суды, суды, суды. Порой кажущиеся просто бессмысленными.

В теории должно быть, на практике все на это забивают. Все бюллетени голосования жильцов заполнены одной рукой и одной ручкой, жители пишут заявление, что это не они -- ГЖИ по бую. Максимум вычеркнут фамилии жильцов, написавших заявление, из общего числа проголосовавших и всё. И искать никого не будут. Подчерковедческие экспертизы с поиском "виновника" затягиваются на годы, за это время рисуются новые бюллетени, и так по кругу.
Были даже случаи подделки документов для суда (юристами была изменена площадь дома на ГИС ЖКХ и выдана соответствующая справка, благодаря чему не был набран необходимый процент) -- тоже никакого наказания. Прокуратура за 10 дней не смогла связаться с виновником, дело закрывает, 306 статья УК РФ не возбуждается.
Практика нашей борьбы с УК показала, что законы у нас может и суровые, но очень необязательные.

Я с января только нейронную музыку и слушаю. То, что нравится мне, а не то, что звучит изо всех утюгов.

Вил графика неудачный, скорее всего. Кажется, что рост начался в 21 году, хотя прибыль за 21 год наверняка посчитана уже после завершения года (то есть, в начале 22).

Кроме полигональных сеток можно описать фигуру математически. Сфера -- объём, в каждой точки которого расстояние до центра не превышают значение радиуса. Куб или прямоугольник -- все точки, которые не превышают заданные мин/макс интервалы. Так же можно описать математически множество других простых объёмных фигур, в том числе образованных из отрезков или кривых путём их выдавливания или вращения.
Более сложные формы получаются из простых комбинацией математических операций, таких как булевы сложения, вычитания.

Преимущество по сравнению с полигональным моделированием:

  • описание занимает очень мало данных (можно хоть от руки на листочке параметры точного чертежа нарисовать);

  • любой параметр можно поправить в любой момент времени. У полигональных моделей если убита история, то у меша (если изменились какие-то начальные размеры) придётся очень много времени мотать туда-сюда эти вершины, объединять, разъединять, стараться сохранять общие плоскости в пространстве;

  • возможность конвертировать в полигоны с любой точностью. Хоть low-poly, хоть многомиллионные меши;

  • удобны для расчёта движения CNC. Рассчитать, находится ли точка внутри такого математического объекта или нет проще, чем перебирать миллионы полигонов;

  • при математическом моделировании тела всегда замкнуты, полигоны же могут иметь дыры в поверхности, не позволяя использовать для той же печати на 3д принтере.

    Из-за всех этих преимуществ именно они используются инженерами и конструкторами и называются твердотельным моделированием.

Ну, тут дело не просто в qt-based ui. Поглядите на нижнюю панель с Time Slider. Он 1 в 1 как в майке, как по расположению виджетов, так и их размеру. Видимо, сознательно такое сделано, чтобы профессионалы чувствовали себя "как дома". Молодцы.

А для меня сильной стороной является аналог интерактивного добавления (git add -i), когда прямо в окне diff раскидываю, какие блоки или строки изменения я стэйджу, какие отменяю, а какие пропускаю до следующего коммита. Прям сказка.

А я кого не спрашивал, либо пользуются консолью, либо "черепашкой" коммитят все изменения разом.
Ну а bisect так же неплохо работает и через GUI в том же `SmartGit`.

Уже лет 10 не могу представить свою разработку без SmartGit. Пробовал другие клиенты, но SmartGit для меня удобнее всего.

Чтобы запускать своё приложение, его нужно вписать init.service.recovery.rc вместо /sbin/recovery и запускать устройство с зажатой кнопкой уменьшения громкости?!
А можно как-то перезаписать подправленный нами образ `recovery.img` вместо основного `boot.img`? Чтобы не приходилось при запуске зажимать кнопку громкости.

Прошу прощения, вы правы. Что-то я зациклился не на том, представляя, что функция вызывается в каждом кадре. Как-то даже не ловко, столько букв настрочил )))

Гениально. Назвать сеть ракетных установок вдоль наших границ "абстрактной". К тому же, устанавливавшиеся во времена, когда у нас мир, дружба, жвачка. Задолго до мюнхенской речи. Задолго до Осетии или Украины.

Так, попробую с другого бока.
Посмотрите, вот у вас имеется строка:
SDL_Surface* image = TTF_RenderText_Solid(timerFont,writeYourName,timerColor);
В ней вы создали локальную переменную, содержащую в себе указатель на структуру SDL_Surface. Структура эта создана в куче (то есть, в области динамической памяти), а не на стеке. Если бы она была создана на стеке, то строка имела бы вид:
SDL_Surface image = TTF_RenderText_Solid(timerFont,writeYourName,timerColor);

Когда функция titleInscription(...) завершит своё выполнение, то локальная переменная, содержащая в себе указатель на струкруту SDL_Surface уничтожится, а вот память с этой структурой, выделенная в динамической области памяти, никуда не денется.
А функция titleInscription(...) вызывается на каждом кадре, выделяя память под стркутуру SDL_Surface размером 200x50 пикселей, что должно занимать память не менее чем 200*50*3=30000 байт за кадр. А если кадров 60 в секунду, то в секунду утечка памяти на 30 килобайт. За час работы программы утекает не менее 105 мегабайт памяти только на выводе FPS на экран.
Чтобы этого безобразия не было, нужно в функции titleInscription(...) после строки

SDL_Texture* groundTexture = SDL_CreateTextureFromSurface(gRenderer,image);

вызвать метод SDL_FreeSurface(image);

Вот только SDL_Surface* image -- это не локальная переменная, а указатель на область памяти, выделенный внутри функции TTF_RenderText_Solid.
И чтобы не было утечки памяти, необходимо не забывать вызывать метод SDL_FreeSurface(image).

Извините, но не могли бы рассказать, почему нельзя использовать struct?

В первом методе

SDL_Texture* titleInscription(..)
{
...
}

не нужно ли удалять SDL_Surface* image после конвертации его в текстуру?

Наоборот. Игры делать становится проще. К движку идёт огромная бесплатная библиотека фотограмметрических 3д моделей Quixel Megascan, благодаря которым создавать детализированные уровни получается гораздо быстрее и качественнее, чем моделить и рисовать текстуры вручную. Система ландшафта проста и понятна. Генератор моделей MetaHuman позволяет сильно экономить на создании людей. Атмосферные эффекты, облака и прочее, всё из коробки. Бесплатный движок, заточенный на создание открытых миров. Порог входа сильно снижается, цена становится ниже.
И эпики позиционируют движок не только для игр, но и для рекламы, презентаций, фильмов, архитектуры, экранов для концертов или интерактивная графика для TV-эфира. Не так давно выходил короткий анимационный фильм на их движке, сделанный компанией Weta Digital (известная по таким фильмам как Властелин колец, Хоббит, Аватар, Люди Икс, Железный человек, Планета обезьян и д.р.). Так что, целевая аудитория сильно расширилась.
Почему? Я, беря справки из одних госучреждений и относя их в другие госучреждения, всегда думал: «когда же эта бессмысленность закончится и эти ведомства научатся взаимодействовать друг с другом без моего участия?» Видимо, пришло время. Это же хорошо.
Не нужно никого сжигать. С++ для меня язык относительно новый, и примеры с умными указателями и int воспринялись просто как сферический пример, а не руководство к действию.
С коллегами (плюсисты со стажем) листали её, обсуждали, всем понравилась. Доволен покупкой и рекомендую другим, кто хочет дефрагментировать свои хаотичные знания плюсов.

Information

Rating
5,113-th
Location
Курск, Курская обл., Россия
Date of birth
Registered
Activity