Пятница, 10 Апреля 2026, 00:07

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
J3D Engine 1.0 [Java 3D Framework]
AlexanderBekkerДата: Понедельник, 23 Февраля 2026, 12:10 | Сообщение # 1
BekkerDev Studio
Сейчас нет на сайте
J3D Engine 1.0 — это фреймворк для разработки игр на языке программирования Java. Предназначен преимущественно для разработки 3D игр, но также годится и для 2D. Использует программный рендеринг (Software Rendering), вывод графики осуществляется растеризацией треугольников как на основе алгоритма барицентрических весов, так и посредством сканирования строк (Scanline). Из-за использования CPU для графических вычислений идеально подойдёт для разработки графически простых игр в ретро стилистике. Оптимальное разрешение рендеринга — 640х360, если необходимо получить разумный компромисс между качеством картинки и производительностью.
!!! Java не предназначена для разработки игр без использования таких графических API, как OpenGL или Vulkan. В ней нет поддержки 3D рендера из коробки, поэтому рассматривайте данный фреймворк просто как демонстрацию того, что при желании можно реализовать, казалось бы, невозможные вещи. Это хоть и кустарное, но с технической точки зрения абсолютно полноценное 3D, как если бы вы использовали тот же OpenGL. Фреймворк предоставляет только 3D контекст без игровой архитектуры, поэтому вы вольны писать свою и не быть привязанным к моему решению. Документации, к сожалению, не будет, потому что мне банально лень её писать, ведь фреймворк был изначально разработан для себя чисто из академического интереса в процессе моего изучения 3D. Может, кому-то тоже станет интересно поковыряться. Закончил работу над ним ещё летом 2025.

Жанровая направленность: любая
Язык программирования: Java
Платформа: Windows (7 или выше)
Лицензия: бесплатная для коммерческого использования
Автор: Александр Беккер
Паблик ВКонтакте
Мой канал по геймдеву в Telegram

Скачать с Google Drive

Ключевые особенности и возможности:
• Загрузка текстур, скайбоксов и TrueType шрифтов
• Растеризация треугольников двумя алгоритмами
• Z-Buffer (тест глубины)
• Перспективная коррекция текстур
• Матричная трансформация вершин и проекция
• Z-Clipping (отсечение треугольников за камерой)
• Затенение по Фонгу (базовое освещение)
• Cull Face (отбраковка невидимых граней)
• Fog Shading (плавное затенение сцены по глубине)
• Skybox (полноценное небо с поддержкой 6 сторон)
• Поддержка блендинга и прозрачности
• Рендер кубов
• Рендер плоскостей
• Рендер мешей
• Рендер воксельных спрайтов (пиксель спрайта рендерится как куб)
• Рендер Billboard спрайтов (всегда обращённых к камере)
• Рендер Billboard-Fix Y спрайтов (то же самое, но фикс. по оси Y)
• Рендер 3D пикселей
• Рендер 3D индикаторов
• Рендер 3D шрифтов
• Класс векторов, быстрые Sin/Cos и другие полезные функции
• Поддержка смены разрешения и полноэкранного режима
• Поддержка масштабирования Render Target
• Наложение сцен друг на друга
• Система ввода (клавиатура и мышь)
• Чтение/запись конфигурационных файлов

Мини-гайд по подключению библиотеки в Eclipse IDE:
1) Нажмите ПКМ по своему проекту и выберите «Properties»
2) Перейдите на вкладку «Java Build Path»
3) Перейдите на вкладку «Libraries», кликните на «Classpath» и затем на «Add External JARs...»
4) Выберите «J3DEngine.jar» и нажмите «Apply and Close»
Теперь фреймворк подключён и готов к работе. Под спойлером скрин с кодом, где происходит инициализация контекста 3D. Откройте его в новой вкладке, чтобы посмотреть в большем размере.


Видео-демонстрация возможностей фреймворка:


Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio


Сообщение отредактировал AlexanderBekker - Понедельник, 23 Февраля 2026, 12:19
SpaceJumperДата: Понедельник, 23 Февраля 2026, 17:09 | Сообщение # 2
частый гость
Сейчас нет на сайте
Спасибо, что поделился своими наработками, очень крутой pet проект для одного человека. Подскажи, а в процессе изучения какими ресурсами пользовался, чтобы изучить 3d математика для движка?
AlexanderBekkerДата: Вторник, 24 Февраля 2026, 00:17 | Сообщение # 3
BekkerDev Studio
Сейчас нет на сайте
SpaceJumper, и вам спасибо! Навскидку уже и не смогу вспомнить, что конкретно я гуглил. Но гуглить приходилось очень много всякой информации, потому что в 3D я был полным нулём. Фреймворк писал потом, кровью, бессонными ночами и литрами кофе. Примерно через неделю движок уже умел в растеризацию треугольников, проецировать 3D вершины на плоскость, имел перспективную коррекцию текстур, буфер глубины и прочие базовые штуки рендера. Остальное время занимался скрупулёзной оптимизацией, ибо одно лишнее вычисление в циклах или какая-нибудь сложная математика сильно просаживали FPS. Поэтому я старался выжать максимум производительности. Для меня это был очень ценный и хороший опыт, открывший мне путь в 3D. После этого, заручившись тем суровым опытом, я написал новый фреймворк, но уже на LWJGL, и назвал его J3D Engine 2.0. Там я тоже много говна пожрал, но оно того стоило! Хотя было попроще, когда уже сам с нуля писал свой рендер. Сейчас делаю на нём новую игру.

Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio
TLTДата: Вторник, 24 Февраля 2026, 22:10 | Сообщение # 4
Сейчас нет на сайте
Вполне себе неплохо.

Дао, выраженное словами, не есть истинное Дао.
AlexanderBekkerДата: Среда, 25 Февраля 2026, 09:39 | Сообщение # 5
BekkerDev Studio
Сейчас нет на сайте
TLT, спасибо! Может, попозже выложу и J3D Engine 2.0 на LWJGL & OpenGL, когда обкатаю его в разработке 2D/3D игр.

Разработчик, композитор и издатель инди-игр в Steam.
Редактор карт: BekkerDev Level Editor 4
Страница разработчика в Steam
Паблик ВК: BekkerDev Studio
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2026 3d engine Рейтинг