Skip to content

FoxesWorld/CGTEXeditor

Repository files navigation

CGTEX — Текстурный формат для Calista Game Engine

CGTEX Editor Banner

Version Java 17 FlatLaf UI Calista Engine


🇷🇺 Описание

CGTEX — это собственный бинарный формат текстур, используемый в игровом движке Calista Game Engine. Он разработан для эффективного хранения, загрузки и обработки текстур в сценах.

❓ Почему CGTEX?

В отличие от стандартных PNG или DDS, формат CGTEX оптимизирован для нужд игрового движка:

  • Мгновенная десериализация
  • Минимальные накладные расходы
  • Поддержка метаданных и флагов
  • В будущих обновлениях можно будет импортировать текстуры из PNG/JPG и они будут автоматически елнвертированы в GXT ✨

🔧 Особенности:

  • Поддержка различных форматов изображений (RGBA, RGB, Grayscale и др.)
  • Встроенные метаданные (размер, имя, флаги)
  • Быстрая десериализация в GPU-память
  • Поддержка mip-уровней и флагов сжатия (в будущем)

📦 Структура файла (предварительная):

[Заголовок  (magic: CGTX)]
[Версия формата (1 byte)]
[Размеры: ширина, высота (int)]
[Формат пикселей (1 byte)]
[Имя текстуры (UTF-8 + длина)]
[Данные изображения (байты)]

🛠 Использование:

Файл можно создать и отредактировать с помощью GTEX Editor, графического инструмента, поставляемого с движком.

CGTEX UI

📚 Зависимости:

  • Java 17+
  • FlatLaf UI Framework
  • Поддержка CalistaGameEngine v1.0+

🇬🇧 CGTEX — Texture Format for Calista Game Engine

CGTEX is a custom binary texture format used in the Calista Game Engine. It is designed for efficient storage, loading, and manipulation of texture data in game scenes.

❓ Why CGTEX?

Unlike PNG or DDS, CGTEX is designed for:

  • 🔄 Raw deserialization into GPU
  • 🚫 No overhead, no parsing
  • 🏷️ Metadata & flag support for game engines
  • In fututre you will be able to import textures from PNG/JPG and they will be converted to DXT ✨

🔧 Features:

  • Supports multiple image formats (RGBA, RGB, Grayscale, etc.)
  • Embedded metadata (size, name, flags)
  • Fast deserialization into GPU memory
  • Future support for mipmaps and compression flags

📦 File Structure (draft):

[Header     (magic: CGTX)]
[Format version (1 byte)]
[Dimensions: width, height (int)]
[Pixel format (1 byte)]
[Texture name (UTF-8 + length)]
[Image data (bytes)]

🛠 Usage:

CGTEX files can be created and edited using the GTEX Editor, a GUI tool bundled with the engine.

📚 Dependencies:

  • Java 17+
  • FlatLaf UI Framework
  • CalistaGameEngine v1.0+ support