Рубрика «OpenGL» - 11

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

Производительность Ubuntu в играх практически сравнялась с Windows 8.1

Большое тестирование 13-ти различных видеокарт AMD Radeon и NVIDIA GeForce и сравнение производительности видеоигр под Ubuntu Linux и Windows 8.1 показывает очень близкий результат практически по всем тестам, а некоторые GPU даже быстрее работают именно под Ubuntu!
Читать полностью »

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

Что же всё-таки можно нарисовать с помощью всего двух треугольников? Квадрат? Фрактал? Полёт сквозь мегатонной мощности взрыв в центре города? Есть ли предел безумию, где заканчивается реальность и начинается явь? Как правильно ухаживать за лучами, чем их кормить и обо что отражать вы узнаете во внезапном продолжении цикла статей про демомейкинг!

Создание 1k/4k intro для Linux, часть 4
Читать полностью »

Возможно, вы видели весной наш предыдущий пост на эту тему. Поэтому, следуя тренду, нам очень хотелось назвать этот «Масштабное обновление мобильной версии 2ГИС возвращается» или «Масштабное обновление мобильной версии 2ГИС наносит ответный удар». Но соблазн пришлось перебороть. Впрочем, заголовок — не главное, главное — содержание. А нам есть, о чем рассказать.

Мобильная версия 2ГИС — свежая порция обновлений
Читать полностью »

У нас две хорошие новости.

Во-первых, 2ГИС для Android был скачан из Google Play уже больше 4 млн. раз. Спасибо!

Во-вторых, скоро выходит обновление с аппаратным ускорением графики (OpenGL). Оно призвано добавить нашему приложению ещё больше плавности. И избавить от лишних тормозов, чего уж.

Перед релизом, естественно, нужно тестирование. Внутреннее мы уже провели. Сейчас нам нужна ваша помощь. Если вы обладаете устройством на Android 2.2 или более свежей версии, то просим принять участие в тестировании.

2ГИС для Android: хорошие новости

Читать полностью »

Введение

Когда я еще только начинал изучать OpenGL я попытался сделать простую 2D игру на Delphi в связке с GLScene. На скриншоте можете увидить финальный фариант игры.

image

Описание игры

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

Сначала я нарисовал куб. Затем подумал: «А давайте загружать карту». Получился лабиринт. А давайте добавим панели! А давайте добавим фаерболы! А как же без вида от третьего лица? А где же мультиплеер?! Так и появилась игра Walkers

Видео

Об игре

Как известно, каждый программист должен написать игру и чатик. В итоге я сделал и то, и то. Однако под «чатиком» я понял добавление мультиплеера. В итоге получилась более-менее серьезная игра, которую я и хочу сейчас показать.
Читать полностью »

Предисловие

Так получилось, что программированием я стал заниматься совсем недавно — первая книжка по С++ была куплена когда я пошел в 11 класс, в сентябре 2011, а первый работающий «hello_world.exe» скомпилирован только в ноябре. До этого я благополучно потратил 6-7 лет на шутеры, и на экономику, олимпиады по которой обеспечили мне поступление в экономический университет (о котором я уже жалею) и знакомство с группой экономистов, которые параллельно осваивали web-программирование и которые меня подтолкнули изучать программирование.

Осваивать С++ я решил с помощью написания простеньких игрулек, изучая параллельно разные аспекты программирования, которые могли бы понадобиться для их написания.
Первая и вторая были своеобразным клоном игры Pong. Различались между собой только наличием цвета и таймера во второй версии.

Скриншоты

Воксельная графика своими руками — первые шаги

Третья планировалась как смесь платформера и шутера, но случилось одно непредвиденное обстоятельство, из-за которого написание третей игры затянулось уже почти на год, и продолжается до сих пор.

Скриншоты

Воксельная графика своими руками — первые шаги
Воксельная графика своими руками — первые шаги

Читать полностью »

Приветствую всех, кому стало интересно узнать о моем небольшом проекте, которым занимаюсь в свободное от работы время, о своем долгоиграющем проекте под названием «tengine».

Какова же цель этого поста? Ответ простой — я ищу однодумцев. Я верю в то, что есть еще много людей, которым нравится славный и добрый олдскул. В этом и вся миссия — писать удовольствия ради что-то маленькое, но вполне функциональное, платформу для «приставочных» игрушек в стиле 8/16 бит.

Главная особенность, отличающая tengine от сотен подобных поделок — не совсем стандартная идеология:

  • архитектура проекта делает упор на минимизацию использования динамической памяти. Если память и выделяется, она выделяется исключительно на инициализации подсистем
  • использовать динамическую память нужно так, как будто не существует операционной системы, постоянно помнить о фрагментации. Удаление памяти происходит в строго обратном порядке создания (за этом следит простой механизм контроля удаляемых указателей)
  • использование сторонних библиотек сведено к минимуму и должно быть аргументировано, зачастую это потенциальный источник фрагментации памяти
  • игровая сцена представляет собою готовую для использования память, сгенерированная редактором уровней
  • работа с объектами сцены игры ведется исключительно через идентификаторы, динамически создать объект невозможно
  • использование fixed point вместо float
  • мультиплатформенность
  • официальный язык проекта — си

Читать полностью »

Пост ориентирован на новичков. В нем не рассматривается настройка Visual Studio. Он научит вас настраивать некоторые текстовые редакторы на компиляцию OpenGL приложений, либо выполнять это из консоли вручную.

Недавно, наконец, вышло 8-е издание книги OpenGL programming guide, которую я ждал уже более чем 2 года. Чуть раньше я познакомился с замечательным текстовым редактором Sublime Text 2 и решил настроить его вместо установки тяжелой Visual Studio.

Итак, для начала нам нужен компилятор — я остановился на G++. Он является частью GCC, а его порт под Windows называется MinGW. С него и начнем:
Читать полностью »

Сохранение изображения с помощью libpng
Развлекаясь на досуге с OpenGL, решил научиться делать скриншоты средствами программы, а не системы. Довольно быстро нагуглил функцию glReadPixels, но вот с сохранением картинки вышла проблема. Вспомнил былые времена, когда полностью своим кодом сохранял в bmp, нашел функцию сохранения в tga, понял, что все эти варианты попахивают велосипедизмом и решил использовать широко распространенную библиотеку. Выбор пал на libpng.
Дальше пошли грабли.

Оказалось, что никакого описания библиотеки на русском языке нет (собственно поэтому и пишу сейчас этот пост), а английская документация написана не самым удобным образом и не содержит даже простейшего полноценного примера использования.
Ниже я постараюсь объяснить, как средствами libpng сохранить изображение в простейшем случае.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js