22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
||||||
1 | ||||||
Perfect Engine, графический движок30.09.2014, 01:53. Показов 4140. Ответов 20
Метки нет (Все метки)
Здравствуйте. Хотелось бы рассказать здесь немного об одном интересном проекте, разрабатываемом командой Perfect Light. Это Perfect Engine - простой 2D-графический Движок с открытым исходным кодом на Delphi для некоммерческого использования. Прежде всего, ориентирован на обучение начинающих программистов, потому исходный код максимально упрощен и прокомментирован. Движок разделен на 2 части: сам Движок, отвечающий за всю предварительную подготовку и хранение графических ресурсов и Рендер, выводящий эту графику на экран, за счет чего достигается полная его независимость от конкретной графической библиотеки и возможность привязки приложения к любой из них. В настоящий момент реализован стандартный GDI-Рендер 'peRender_Canvas.pas', обеспечивающий легкий вывод графики средствами WinAPI и не требующий никаких сторонних библиотек и расширений. Сам Движок имеет встроенные Камеру, Хранилище графики (менеджер ресурсов), Таймер, а также, несколько интересных особенностей, в числе которых - удобная и автоматизированная работа с кадрами анимации в одном спрайте (вы просто указываете номер кадра, и Движок сам выбирает его из общего спрайта) и возможность быстрого рендера кадра в текстуру. Процесс подключения Perfect Engine к своей программе, также, максимально упрощен - достаточно вызова всего одной строки кода, чтобы экран закрасился установленным вами фоновым цветом. Ниже приведен минимальный объем действий, необходимый для подключения Движка к своей программе:
Думаю, важно было бы упомянуть в этой теме и другую разработку команды Perfect Light - это гибкая Система частиц Perfect Particle 2, позволяющая реализовать в своей программе довольно широкий набор максимально разнообразных эффектов. В данный момент библиотека дорабатывается (возможно, о ней в дальнейшем будет создана отдельная тема) - недавно Система, также, была полностью отвязана конкретного графического API, и теперь имеет возможность выводить рассчитанные Частицы даже с использованием Canvas (GDI). По одной из ссылок, представленных ниже, можно скачать программу, демонстрирующую возможности Системы с привязкой к Perfect Canvas (предшественнику Perfect Engine). http://files.perfectlight.ru/o... 0_Mini.jpg http://files.perfectlight.ru/o... 1_Mini.jpg http://files.perfectlight.ru/o... 2_Mini.jpg http://files.perfectlight.ru/o... 3_Mini.jpg http://files.perfectlight.ru/o... 4_Mini.jpg Думаю, что Perfect Engine будет одинаково полезен как для обучения начинающих программистов, так и для создания собственных игровых и других графических проектов. При грамотно разработанных Рендерах Движок будет обладать довольно серьезными возможностями для вывода графики, и уже сейчас дает возможность переключения между графическими библиотеками простой заменой имени Рендера в секции Uses. А при объединении с такой Системой частиц как Perfect Particle 2 он выходит на совершенно новый уровень в своем развитии. В будущем планируется создание Рендеров Движка для таких библиотек, как FastLib, OpenGL и, возможно, DirectX. Спасибо за внимание! Более подробная информация о Движке, а также, Системе частиц и других наших проектах, представлена в соответствующих разделах форума команды Perfect Light. Мы были бы рады любым вашим идеям в вопросе усовершенствования Движка, а также, любой помощи в доработке представленных проектов. Ниже указаны некоторые полезные ссылки, среди которых - программа, тестирующая возможности Perfect Engine и программа, тестирующая Систему частиц Perfect Particle 2 с привязкой к Perfect Canvas, в которой вы можете насладиться шестью доступными эффектами. Полную версию программы (25 красивых эффектов) вы можете скачать с форума нашей команды. Там же - более подробное описание представленных проектов...
0
|
30.09.2014, 01:53 | |
Ответы с готовыми решениями:
20
Графический движок Графический движок Посоветуйте графический движок QapLite - простой графический движок [C++11, Win32, Direct3D9, 2D] |
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
30.09.2014, 12:37 [ТС] | 3 |
snake32, функции и переменные, не используемые в текущем Рендере, просто игнорируются им и Движком. То есть, если GDI-Рендер не поддерживает шейдеры, доступные в Движке, эту функцию он не переназначает, она остается пустой и Движком не вызывается. Иными словами, если в игре, созданной с использованием шейдеров заменить модуль peRender_OpenGL на peRender_Canvas - не возникнет никаких ошибок, вы просто увидите игру без шейдеров и остальных украшений OpenGL.
Кстати, не назову GDI-рендер примитивным. При правильном подходе можно и в нем организовать что-то вроде шейдеров (Scanline) - это уже на усмотрение разработчика Рендера, и так как Perfect Engine распространяется с открытым исходным кодом, не исключаю возможности создания стороннего Рендера GDI, который будет лучше стандартного.
0
|
30.09.2014, 14:29 | 4 |
SaiLight, но ведь шейдеры можно использовать не только как "украшения" в виде другого цвета пикселя у объекта. Перемещение, вращение, деформирование объекта(вершинный шейдер), наконец создание на шейдерах абсолютно новых объектов(геометрический шейдер). И всё это в режиме реал-тайм, что GDI и не снилось, так как в основном он работает за счёт ресурсов CPU. Отсюда и архитектура отрисовки будет отлична от OpenGL/DirectX, иначе не получится оптимально нагрузить GPU.
Вообщем, мне кажется, достаточно сложной задача совместить GDI и OGL/DX и при этом сохранить большинство возможностей GPU от которых отказываться в угоду совместимости не хотелось бы. Хотя для 2D и в целях обучения производительность GPU скорее всего не потребуется. ЗЫ: Всё вышесказанное ИМХО и базируется на не большом опыте разработки графических движков, которых у меня было аж целый один . И то не доделанный, где пытался реализовать большинство возможностей одного рендера OpenGL 3.3 на Delphi XE2.
0
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
30.09.2014, 15:03 [ТС] | 5 |
snake32, разумеется, я с самого начала отдавал себе отчет в том, что 'благодаря' расширению областей применения Perfect Engine, от некоторых возможностей графических библиотек придется отказаться. Несмотря на свою совместимость с любой библиотекой, Движок, все же, направлен на то, чтобы максимально уравнять их шансы в выводе графики - иными словами, если вершинный шейдер реализовать на GDI не получится, а вся графика в конечном проекте будет основываться именно на нем, - такую задачу лучше выполнять с использованием другого Движка.
В данном случае Perfect Engine базируется как инструмент, позволяющий значительно облегчить процесс создания простых 2D-игр (например, инди-игр) или других графических программ. Согласитесь, всего одна строка исходного кода для подключения инструмента, позволяющего работать с любой графической библиотекой (пусть и не на самом низком уровне) - довольно неплохо, даже когда конечной целью является создание не игры, а программы, выводящей на экран несколько изображений или геометрических фигур. Разумеется, я не пытаюсь сделать Perfect Engine чем-то, способным на достойную конкуренцию с продвинутыми графическими Движками, но все вышеперечисленное в объединении с открытым исходным кодом, думаю, представляет достойный внимания проект, с использованием которого можно было бы создавать не самые плохие игры.
0
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
02.10.2014, 12:48 [ТС] | 6 |
Движок обновлен. На данный момент добавлена возможность сохранения содержимого буфера в файл (Скриншот) - самим сохранением управляет, разумеется, Рендер, Движок лишь вызывает соответствующую функцию в момент полной готовности кадра. Из планов на ближайшее будущее - усовершенствование математической модели Движка в плане более точной проверки на попадание объектов в область экрана.
С настоящего момента имеется возможность скачать исходный код Движка и код тестовой программы, реализующей его возможности. Скачать исходный код самого Движка можно по прямой ссылке ниже, тестовая программа выложена в первом сообщении официальной темы Perfect Engine на нашем форуме. Там же всегда можно будет скачать самые последние версии всех файлов, относящихся к Движку.
0
|
31 / 31 / 5
Регистрация: 24.09.2014
Сообщений: 243
|
|
03.10.2014, 23:15 | 7 |
Я так понимаю, движок полностью софтварный.
Сколько максимальный ФПС выдаёт пустая отрисовка (например, синий фон)? Интересно увидеть саму функцию отрисовки (связь с ОС), как осуществляется изменение размеров канвы (в памяти) и есть ли фулл-скрин режим?
0
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
||||||
04.10.2014, 00:57 [ТС] | 8 | |||||
panotnap, при рисовании пустого фона на GDI-рендере FPS около 70 (65-70), но точными расчетами FPS я пока не занимался - позже добавлю эту функцию. Подозреваю, что дело, также, и в используемом таймере. Полноэкранный режим пока отсутствует. Функция вывода зависит от текущего Рендера. Например, в GDI-Рендере она выглядит так:
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
06.10.2014, 00:16 | 9 |
Я не гуру OpenGL, но у вас что софтверный движок?
Никогда не делайте софтверный рендер… Максимально используйте видеокарту, и слово движок для меня обозначает высокопроизводительную систему рендеринга использующую максимум возможностей видеокарты, а у вас таскание картинки вешает проц на 100 проц… И движок не может использовать никакие сторонние фаилы для своей работы по определению т.к это всегда замедляет работу. И хороший движок написан на ассемблере.
0
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
06.10.2014, 11:27 [ТС] | 10 |
Excalibur921, почитайте о Perfect Engine внимательнее, так как подобные заявления я вижу довольно часто. Во-первых, Движок рассчитан, в первую очередь, на обучение новичков, поэтому никаких потоков и ассемблеров там быть не может. Причем, в данной работе понятия 'Движок' и 'Рендер' разделены - вы можете написать свою систему рендеринга, которая по производительности будет значительно выше моей. А тот единственный на данный момент Рендер, который вы видели, - выводит графику средствами GDI, это лишь один из возможных вариантов. В конечном счете будет разработано несколько Рендеров, в том числе и для OpenGL.
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
06.10.2014, 12:38 | 11 |
Видимо ваша программа не всегда работает с видеокартой корректно. Видимо так и случилось.
А зачем обучать новичков делать неправильно, использовать медленные программы, и ограничивать самих себя? Мне кажется, само понятие слова движок обозначает сердце программы, то, что определяет ее скорость работы, и он не может быть не максимальной возможной скорости по определению. Я думаю, что за написание движка берутся только профи. Мне кажется, что написание движка обозначает что создатели пишут на ассемблере, знают команды для сопроцессора, используют все ядра равномерно, а также отлично шарят в математике, хотя наверно тогда такой подход делает движок коммерческим сразу. И уже для готового движка выводят все используемые возможности в удобную и понятную форму для использования, делают свой небольшой высокоуровневый язык для своего же движка. Ну правильно, а зачем же делать хуже чем может быть? В этом и есть суть слова движок. Тем более, что его задача я так понял рендеринг красивостей. Когда-то я пользовался программой крутых программистов и она очень вешала процессор под 100 проц на 30 отрезках, потом выяснилось что там софтверный рендер… Я написал свою кривую, с примитивной математикой и тригонометрией без сопроцессора, и ламерским кодом и 5 % нагрузки… я был в шоке
0
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
06.10.2014, 14:23 [ТС] | 12 |
Впрочем, данный диалог напоминает мне кое-что из бывшего ранее: Думаю, вам стоит пересмотреть данное определение.
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
06.10.2014, 14:47 | 13 |
Сначала я хотел написать длинный ответ с обилием комментариев и объяснений почему так высказываются другие люди, почему так правильно и т.д.
Но потом понял…Новички…
0
|
06.10.2014, 14:58 | 14 |
Excalibur921, графический движок
Какими движками лично вы пользовались?
0
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
28.05.2015, 11:36 [ТС] | 15 |
Всем привет! Рад поделиться на данном форуме результатами огромной работы, проделанной нами со SpectreZ'ом в рамках проекта по усовершенствованию графического движка Perfect Engine. Как выяснилось некоторое время назад, движок, все же, пользуется некоторым спросом: на данный момент с его использованием написано уже несколько проектов, среди которых имеется, ко всему прочему, и один коммерческий. Также, ко мне не раз поступали запросы об ускорении выпуска новой версии Perfect Engine, в которой, как я обещал, ожидали увидеть реализацию OpenGL-рендера.
В любом случае, работа подошла к концу, и я рад поделиться на данном форуме результатами наших трудов. Итак, сначала обо всем вкратце... 1. Добавлен OpenGL-рендер 2. Исправлены и улучшены некоторые функции движка 3. Открыт официальный сайт поддержки движка 4. Написан демо-проект - логическая игра Crown Теперь - немного подробнее... OPENGL Perfect Engine теперь обладает двумя рендерами - Canvas и OpenGL, выбор одного из которых можно осуществлять, например, при старте программы. Напомню, что движок полностью отвязан от конкретного модуля вывода, а это значит, что при желании любой из них вы можете написать сами. Программный код с использованием функций Perfect Engine работает без единого изменения с любым используемым рендером - достаточно только заменить требуемый модуль в разделе 'uses'. Проблемы с полупрозрачными изображениями в GDI-рендере и иные подобные им решаются за счет введения нового свойства UsedRender, отображающего имя используемого в данный момент модуля. Вот некоторые из особенностей, реализованных в новом OpenGL-рендере, которые невозможно обойти стороной:
Из недостатков хотелось бы отметить отсутствие поддержки VBO, FBO, шейдеров и иных продвинутых технологий. Надеюсь, в будущих версиях движка эти недостатки будут устранены. ИСПРАВЛЕНИЯ Полный список всех изменений в текущей версии Perfect Engine вы можете увидеть в модуле PerfectEngine.pas, здесь же хотелось бы коснуться лишь, на мой взгляд, одного из наиболее важных нововведений. Теперь вместо типа TColor движок использует новый тип данных, хранящий в себе кроме значения цвета и значение прозрачности - TAlphaColor, а также, имеет встроенный набор функций для работы с этим типом (peRoutine.pas). Почему же данное нововведение было особенно мною выделено? Для упрощения работы с цветом написана вспомогательная программа Perfect Palette, реализующая цветовую палитру с возможностью выбора цвета в пространстве HSL и получения его кода в формате, пригодном для использования в Photoshop, а также, в TAlphaColor-формате. Все усовершенствования вносились в Perfect Engine при разработке использующих его проектов. Я лично сотрудничал с разработчиком коммерческого проекта, когда он сообщил мне о желании использовать Perfect Engine для упрощения вывода графики - таким образом уже в тот момент были исправлены некоторые серьезные проблемы в его работе. Если вы хотите использовать Perfect Engine в своих проектах, обязательно свяжитесь со мной в Контакте (SaiLight) или на официальном сайте движка - возможно, наше сотрудничество пойдет на пользу обоим проектам. САЙТ Открыт официальный сайт поддержки Perfect Engine. Основное его назначение - быстрое предоставление информации по всем функциям движка. Для этого в правом верхнем углу сайта расположена строка поиска - введите в нее полное или частичное название функции, нажмите ENTER, и вы получите исчерпывающую информацию по вашему запросу. Список доступных функций со временем будет пополняться. Также, воспользовавшись гостевой книгой, вы можете задать любой интересующий вас вопрос о работе с Perfect Engine и сообщить обо всех багах, найденных в нем и идеях по его усовершенствованию. А еще здесь будут собираться все проекты, использующие наш движок. Если вы создали игру с его использованием - обязательно сообщайте о ней нам, и мы разместим ее на своем сайте! ДЕМО Ну и последнее. Наконец, удалось выделить немного свободного времени для написания более или менее серьезного игрового проекта с использованием Perfect Engine. Игра называется Crown и, также, распространяется с открытым исходным кодом, и оттого, как мне кажется, будет весьма интересна каждому, кто желал бы разобраться в устройстве подобных игр. А для остальных - просто интересный способ убить время, насладившись необычным взглядом команды Perfect Light на идею логической игры 'Три в ряд'. Всем спасибо за внимание. Ниже привожу прямые ссылки на архивы с движком, вспомогательными и демонстрационными проектами:
0
|
31 / 31 / 5
Регистрация: 24.09.2014
Сообщений: 243
|
|
30.05.2015, 02:20 | 16 |
Не, всё-таки "Perfect" звучит несколько заносчиво... Для меня, например, паскаль - это уже не "пёрфект".
Если я правильно понял, "движок" получается не только платформо-зависимым, но ещё и языко-зависимым... Я ещё не совсем понимаю вот чего. Если задача программы - облегчить программирование графики новичку, то это - просто прослойка (пусть специализированная такая), но не "движок". Движок - это даже не ОпенЖЛ целиком, а уже надстройка над ним или над ДиректИКС, весьма "толстая". Если вы начинаете расширять свой проект в эту сторону, то во-1-ых, теряете главную цель (простой интерфейс программирования для новичка), а во-2-ых приближаетесь к самим ОпенЖЛ и ДиректИКС, и не с лучшей стороны, так как последним составить конкуренцию невозможно (округляя говоря). Переназовите, например, "graphic interface for beginners", GIB. К "пёрфекту" стремятся все, а говорить об идеальности в момент разработки несколько преждевременно, не так ли?
1
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
30.05.2015, 11:57 [ТС] | 17 |
panotnap, странное заявление 'Переназовите' к уже названному (и давно) проекту. Можно написать директору компании Blizzard о некоей недоработке: к примеру, игра называется Warcraft, но на деле военному ремеслу там не учат. Немного разъясню суть названия. Perfect Light - наша команда, название придумано еще в 2009 году, и уже тогда под ним мы были известны определенному кругу людей, а придумано оно было далеко не из-за заносчивости.
Теперь же это что-то вроде официальной марки, под которой создано уже несколько проектов:
Насчет вопроса 'Perfect ли Паскаль' - здесь может быть много споров, и у каждого свое мнение. На ваше 'Для меня не Perfect' я отвечу 'А для меня Perfect', и это утверждение вряд ли можно будет опровергнуть, поэтому не думаю, что оно может считаться решающим. Также, много разговоров было и насчет правильности решения назвать представленный проект 'Движком', правда, эти споры, если не ошибаюсь, возникали еще во времена Perfect Canvas, когда кроме функций вывода и камеры там почти ничего не было. Теперь все в корне изменилось: начиная с Perfect Engine движок (думаю, именно движок) поддерживает несколько рендеров (а создание этих рендеров - также, довольно трудоемкий процесс) и еще кучу всяких удобств. Как показано в Crown, с помощью него даже можно писать неплохие игры, и он немногим уступает некоторым известным движкам на Delphi. К тому же, слово 'Прослойка' конечному пользователю понятно намного меньше, нежели 'Движок'. Добавлено через 21 минуту P.S. Сколько ни читал, так и не понял этой части сообщения:
0
|
31 / 31 / 5
Регистрация: 24.09.2014
Сообщений: 243
|
|
30.05.2015, 17:14 | 18 |
Ну раз вся команда - "пёрфект", тогда у меня аргументов нет.
Я тоже впервые слышу. Движок для ОпенЖЛ не делется. Движок делается НА ОпенЖЛ. Движок - это надстройка над граф. библиотекой, над её АПИ и где-то над АПИ ОСы, являющаяся прослойкой между ними и программистом софта / игры. Жирная такая, удобная штука - практически готовая игра: надо только координаты вбить и текстуры в папку сложить. Преувеличиваю, конечно. А если вы хотите создать что-то полезное и при этом не уткнуться в "ДиректИксы", позорно им проиграв, то вам надо делать что-то очень специфическое. Но когда начинает набираться функционал графической библиотеки (что ещё-таки не движок), то это 1) перестаёт быть специфическим и 2) начинает нещадно уступать "Директам". Есть DirectDraw, который прогеру даже простенькой игры будет не сложнее освоить, чем ваш дуэт "паскаль + пёрфект". А OpenGL ещё и абсолютно свободен, кросс-платформерен. Открываешь "руководство для чайников" и там в нескольких строчках любая модель с любой текстурой - вуаля. Добавлено через 32 минуты Я, может быть, не так понял... Если движок делается на ОпенЖЛ, то вопросов нет. Только непонятно тогда, зачем маньячить процессор, вгоняя фпс в 60? Граф. библиотека итак сэмулирует софтварно ту функцию, которой нет аппаратно...
0
|
22 / 0 / 0
Регистрация: 10.09.2014
Сообщений: 13
|
|
30.05.2015, 17:23 [ТС] | 19 |
panotnap, странные вещи читаю. Любой движок, работающий с OpenGL, будет уступать по функциональности OpenGL или использовать всю его функциональность, но не превзойдет его. Не думаю, что целесообразно говорить о том, что движок на OpenGL может проиграть ему, так как, в любом случае, выиграть он точно не сможет. Если я пишу на чистом WinAPI, то функциональности WinAPI я превзойти не смогу. Поэтому, не понимаю смысла фразы 'Начинает нещадно уступать Директам'.
Далее, не стоит путать два совершенно разных понятия - 'Графический движок' и 'Игровой движок'. Если игровой - это и есть 'практически готовая игра', то графический - лишь надстройка над библиотекой вывода, но к игре никакого отношения не имеет. Он может входить в состав некоего игрового движка, но сам по себе графический движок - лишь инструмент вывода. Это может быть простенький класс или серьезный инструмент, но, в любом случае, если мы говорим о понятии 'Графический движок', никакой игры мы в виду не имеем. Далее - насчет понятия 'Библиотека'. Думаю, любой движок с одинаковым успехом можно было бы описать этим словом, так как библиотека - некоторый ресурс, имеющий определенный набор функций и классов, связанных по смыслу и предназначенных для выполнения конкретных задач. В таком понимании, Perfect Engine, конечно же, можно назвать библиотекой. Для фразы 'Графический движок' предлагаю следующее определение: 'Высокоуровневая библиотека функций, упрощающая для конечного пользователя работу с низкоуровневыми библиотеками вывода графики'. Таким образом, при определении, считать ли библиотеку движком, мы пользуемся не субъективными оценками 'Простой' или 'Сложный', 'Проигрывает' или 'Выигрывает', а объективным: 'Надстройка над низкоуровневой библиотекой'. Далее, подумаем над определением слова 'Полезно', так как часто в различных сферах своего творчества приходится сталкиваться с утверждением, будто бы я делаю что-то бесполезное. Полезность работы, думаю, заключается в ее пользе для конечного пользователя (именно ради него она и делается). То есть, если данная работа принесла кому-то пользу, она может считаться полезной. Пользу своего движка я описал несколькими сообщениями выше. Теперь - насчет 'Директов' и 'Паскаль-Перфекта'. Паскаль - язык, довольно эффективно используемый для изучения программирования. 'Перфект' - открытый инструмент, дающий возможность на конкретных примерах это самое программирование изучить. Ну и, напоследок: - Где можно скачать шаблон для этого компонента? - Лучше самому сделать. Открываешь видео-урок по CSS, и за неделю начинаешь делать вполне приличные сайты. Но, разумеется, в жизни все не так. Если даже не просвещать написавшего эти строки о том, что чистый CSS не поможет ему овладеть искусством создания сайтов (не говоря уже о 'вполне приличных'), так как есть HTML, PHP, JS и еще много полезных слов, то даже на изучание CSS недели, явно, недостаточно. То же и с OpenGL. Эта библиотека настолько сложна для новичков (и даже не только для них), что большинство из них попросту отказываются от нее в пользу обычных Canvas'ов, а потом и вовсе уходят из игростроения. Я помню, как сам был таким - для меня даже библиотека GDI была трудна в понимании, а в OpenGL используются намного более сложные технологии, в которых разобраться - бывает непосильной задачей, особенно, для новичка.
0
|
30.05.2015, 20:19 | 20 |
Мне кажется, что сейчас для новичков самым оптимальным выбором будет Unity5. В комбинации со скриптингом на C#, возможностью программировать в VS2013, сборкой под 21 платформу, обилием видео уроков, удобных инструментов, огромным комьюнити, обилием вакансий и т.д.
0
|
30.05.2015, 20:19 | |
30.05.2015, 20:19 | |
Помогаю со студенческими работами здесь
20
Посоветуйте графический движок для простой 2д игры Нужен простой графический движок C++ && DirectX11 на Windows 7 Движок Unreal Engine MFC и графический движок Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи | |||||
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации
В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
|
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
|
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
|
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
|
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
|
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
|
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
|
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
|
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
|
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
|
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
|
Как запретить подсветку выделенного текста с помощью CSS
bytestream 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения.
Выделение текста может. . .
|