RLGClub :: Форум
Форум Клуба любителей roguelike-игр
- Темы без ответов
- Активные темы
- Поиск
- Наша команда
Изменение цветовой гаммы тайла
Изменение цветовой гаммы тайла
Сообщение Максим Кич » 18 июл 2007, 09:45
В рамках очередного перетраха [(с) Лукашенко] моего проекта я решил несколько изменить идеологию построения картинки. В последнем варианте (если кто помнит, я выкладывал технодемку), на директовскую канву я выводил ASCII, как векторный текст. При этом, я использовал цветное освещение в трю-колоре. Причём, освещение пересчитывалось на каждый фрейм (а не на каждый ход), что создавало массу возможностей от имитации дрожащего света факела, до совсем уж извращённых фейерверков для магии.
Сейчас я хочу перейти на тайловый движок в духе Angband. Да, в Angbande, даже если это ASCII, то это всё равно тайлы. Но, при этом, мне не хочется терять цветное освещение — атмосфера получается специфическая, отказ был бы шагом назад.
Отсюда вопрос: при помощи каких средств, с вашей точки зрения, оптимально реализовать цветное освещение для тайлов? Уточнение: тайл освещается целиком однородно.
Сообщение Maelstrom » 18 июл 2007, 10:41
Сообщение Cfyz » 18 июл 2007, 11:22
Занималься подобным как-то, причем именно та техно-демка и сподвигла =) Цепляет глаз эта подземная радуга.
Тайл — прямоугольник. У прямоугольника четыре вершины (обычно). Каждая из вершин может иметь свой цвет, общий цвет тайла — интерполяция цветов его вершин. Элементарно реализуемо вкупе с тем «директовским» подходом, а выглядят цвета весьма плавно; главное не забывать что каков бы алгоритм расчета ни был, цвета для совпадающих углов соседних тайлов должны быть одинаковыми.
[ИМХО] Однако, если требуется «истинно» тайловый подход, то тут уж никак. Тайлы, будучи несколько атомарны, не дадут нарисовать плавное освещение — если заменить тайл обычным пикселем, как ни крути но на 80×20 лесенка это будет, не больше.[/ИМХО]
оффтоп: кажись месяц мну пропадал, но, Максим, срочно вспомнинайте что Вы там на меня колдовали. И запишите куда-нить. Халява обломилась всему потоку у кхм. не очень-то простого препода.
Сообщение Максим Кич » 18 июл 2007, 13:46
Сообщение Alchemist » 18 июл 2007, 17:34
Во всех трех есть способ задать цвет прозрачности, он же ключевой цвет и т.д.
OpenGL/прозрачность отдельного цвета для спрайта:
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
OpenGL/заданная полупрозрачность картинки (в моей игре невидимый герой выводится на 50% прозрачным):
glColor4f(1, 1, 1, aOpacity / 256);
целиком кусочек из метода DrawImage:
if (aImage.TransColor <> clNone) then begin
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
end;
glBindTexture(GL_TEXTURE_2D, aImage.Ext);
glColor4f(1, 1, 1, aOpacity / 256);
glTranslate(dX, Height — dY, 0);
glBegin(GL_QUADS);
glTexCoord2f(x1, y1); glVertex2f( 0, 0);
glTexCoord2f(x2, y1); glVertex2f(sW, 0);
glTexCoord2f(x2, y2); glVertex2f(sW, -sH);
glTexCoord2f(x1, y2); glVertex2f( 0, -sH);
glEnd();
if (aImage.TransColor <> clNone) then begin
glDisable(GL_BLEND);
glBlendFunc(GL_ONE, GL_ONE);
end;
SDL, тот же движок, та же функция:
surface := TGEImageSDL(aImage).FSurface;
if (aTransColor <> clNone)
then SDL_SetColorKey(surface, SDL_SRCCOLORKEY, ColorToSDLColor(surface, aTransColor));
if (aOpacity = 255)
then SDL_SetAlpha(surface, 0, aOpacity)
else SDL_SetAlpha(surface, SDL_SRCALPHA, aOpacity);
SDL_BlitSurface(surface, @src_rect, FSurface, @dst_rect);
директX привести не могу, т.к. некоторое время назад полностью принципиально от него отказался.
в нативной части движка, где для винды я вывожу картинку через GDI, а для линукса — через XWindowsSystem — там я это реализую своими софтверными функциями блендинга + альфаканала, на MMX инструкциях, скорость получается почти как через DirectX, так что непонятно что использует он сам. Самый простой способ, имхо, — через SDL. Вообще красивая и оптимально сделанная весчь.
Сообщение Maelstrom » 18 июл 2007, 18:39
Сообщение Cfyz » 18 июл 2007, 20:20
Разных подходов всего два: с и без аппаратного ускорения.
В первом случае (реальный пример — см. пост Alchemist»a) на чем делать непринципиально. Поскольку ни шейдеров, ни каких-либо трехмерных спецтехник использовано (по крайней мере, очень на это надеюсь) не будет, чем выводить — не имеет значения, а как выводить — нет вариантов. Ибо примитивы с нужным количеством вершин, раскрашиваемых в соответствии с освещенностью тайлов. На эти примитивы натягивается кусочек текстуры с глифом или еще чем-нибудь — и погнали. Цвета/освещенности рассчитываются не для центров тайлов, а для их углов (коих ненамного больше, т.к. многие совпадают). Расчет дает «лесенку», видеокарта дает интерполяцию. Цвет любой, тайл любой, полупрозрачности автоматом, скорость вах.
Во втором случае (ума не приложу, правда, где сейчас можно найти не-мобильный девайс, тянущий тайлы но не потянущий игры с альфой) упор все же идет на скорость и, мое мнение, лучше не выпендриваться, а оставить три варианта тайла — чогный квадрат, нормальный тайл и его серый вариант. Все попытки менять цвета в режиме реального времени да на одном только CPU есть нецелевая трата ресурсов, лучше уж пару уровней вверх-вниз обновить.
Источник
Tile Color Changer — бесплатная утилита для замены фона «живых» плиток в Windows 8.1
В Windows 8.1 цвет фона «живых» плиток на стартовом экране подбирается автоматически в зависимости от цвета иконки приложения. Нельзя сказать, чтобы Windows делает это из рук вон плохо, и всё же время от времени дизайнерское чутье её подводит. Взять хотя бы, к примеру, плитку командной строки. Вы не находите, что чёрная иконка этого компонента на мышином сером фоне смотрится как-то мрачновато?
Как бы это поправить? А очень просто! Воспользуйтесь маленькой бесплатной утилитой Windows Tile Color Changer.
Эта программка позволяет изменять цвет фона тайлов на стартовом экране в соответствии с предпочтениями пользователя. Нужное приложение можно выбрать в выпадающем списке, а цвет фона тайла — в палитре утилиты или указать свой, введя в поле Color HEX код желаемого оттенка в HEX-формате. После этого останется только применить изменения, нажав кнопку «Change Tile Color».
Также Tile Color Changer умеет менять цвет текста на «живых» плитках со светлого на тёмный и наоборот либо вовсе скрывать его. Разумеется, все изменения можно отменить, воспользовавшись предусмотренной разработчиком функцией сброса параметров к значениям по умолчанию. За это действие отвечает кнопка «Reset Defaults».
Загрузить утилиту можно бесплатно на официальном сайте The Windows Club. Программа бесплатна, установки на компьютер не требует, язык простейшего интерфейса — английский. Текущая версия утилиты не отличается совершенством: фон плиток некоторых приложений, к примеру Проводника, с её помощью изменить не получится.
Также почему-то нам так и не удалось заменить фон «живой» плитки Mozilla Firefox, хотя утилита и подтвердила корректность такой замены.
Источник
Изменить цвет шрифта и размер у title
Как изменить цвет и размер шрифта input type=»radio»
OPTION 1 .
Как изменить цвет и размер шрифта?
Мне нужно, чтобы цвет выводимых чисел был ораньжевым. как быть? Еще можете сделать так, чтобы шрифт.
Title. Изменить размер текста
Здравствуйте. Какой атрибут можно использовать, что бы установить свой размер текста «Теория».
В шаблоне поменять цвет и размер шрифта
Как поменять цвет и размер шрифта в шаблоне. Скачал шаблон, меню не особо нравиться, надо поменять.
Решение
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Не изменяется размер шрифта, его цвет
Не изменяется размер шрифта, его цвет, меняю значения font, убрала жирность, но все равно изменений.
Tinymce форматирование текста. Размер, цвет шрифта
Здравствуйте, уважаемые знатоки. Естественно у меня есть проблема, потому то я и вспомнил про.
Задать шрифт, размер шрифта и цвет в TextBox
Привет. Нужна помощь. С помощью button нужна задать шрифт, его размер и цвет текста в TextBox Как.
Изменить цвет шрифта
Всем доброго дня, подскажите как поменять цвет шрифта(идет описание категории) в таком шаблоне -.
Источник
TileXet
Что это и зачем?
TileXet — это редактор бесшовных пиксельных 2D изображений.
Он подходит для редактирования тайлсетов с предпросмотром, ведением проектов, экспортом в PNG, импортом из PNG, и всякими мелкими возможностями, характерными для несложных графических редакторов.
Скачать
Редактор кросс-платформенный, выбирайте свою ОС и скачивайте.
Windows x64 x32
Linux x64
Версия — 0.0.1 Beta 3
Возможности
- Ведение проектов
- Многообразная палитра цветов
- Редактирование изображений
- Экспорт в отдельные PNG файлы
- Экспорт в единый PNG тайлсет
- Импорт из PNG (в процессе)
- Сохранение в собственный формат
- Инструменты рисования
Новости
Выход первой версии 2D редактора TileXet 0.0.1 Beta 3!
Выход первой версии 2D редактора TileXet 0.0.1 Beta 2!
Выход первой версии 2D редактора TileXet 0.0.1 Beta 1!
Справка
Клавиши
Control+S — сохранить проект
Control+Z — отмена действия
Control+P — Экспорт проекта
Shift+A — Добавить тайл
Shift+Клик — захватить цвет (пипетка)
Мышь
Рисовать можно, имея в запасе сразу два цвета, на ЛКМ и ПКМ. Так же при выборе цвета левая и правая кнопка мыши влияет на то, куда выбираемый цвет будет назначен.
Средняя кнопка мыши служит для дублирования выделенного. Так, можно дублировать выделенный цвет или выделенное изображение.
Интерфейс
Тут всё довольно просто — никаких скрытых кнопок, всё интуитивно.
В настройках есть пункты:
- Save On Export — сохранить проект при экспорте.
Будет сохраняться файл проекта при каждом экспорте. - Export On Save — экспортировать результат при сохранении проекта.
При включенной опции, сохраняя проекта, будет производиться экспорт. - Use One File — использовать единый файл при экспорте.
Если включено, будет сохраняться единый PNG файл с тайлами.
Count X — Количество тайлов по ширине.
Предназначение
Основное предназначение программы — создание и редактирование пиксельных бесшовных текстур (тайлов) для дальнейшего использования в своих целях.
Тайлы можно получить в виде единого файла или набора изображений. Я знаю ситуации, в которых пригождаются и те и другие.
Обсуждение
Поддержать
Если вам интересно развитие проекта, вы можете его поддержать!
Спонсорство YouTube Разовый Донат
Журнал разработки
В основном сконцентрировался на стабильности и исправлении багов, однако, и нововведения имеются.
Нововведения
- Иконки инструментов вместо текстовых кнопок
- Шахматная сетка
- Прозрачность цветов
- Новый алгоритм экспорта, более быстрый и без глюков. Пока что.
Исправлено
- Баг с созданием нового проекта. Снова.
- Баг с инструментами и потерей некоторых пикселей.
- Баг с вылетом при создании нового проекта. Всё ещё проявляется, не могу пока отловить.
Начал работать над модульной системой, навешивать инструменты, характерные для создания текстур.
Нововведения
- История папок в диалогах файловой системы
- Панель инструментов
- Инструмент: RGB (глобальное изменение цвета)
- Инструмент: Normal (создание карты нормалей из текстуры)
Исправлено
- Баг с созданием нового проекта.
- Баг в заливкой, иногда заливка приводила к ошибке из-за выхода за пределы текстуры.
- Баг с ошибкой инвертирования цвета, прозрачные пиксели теряли прозрачность.
Обнаружил и пофиксил страшный баг, из-за которого, при нечетном количестве цветов в палитре, цвета искажаются в момент экспорта.
Сегодня много экспериментировал с экспортом beta-версии проекта, прогнал его на Linux и Windows, и, вроде как, всё работает. Протестировал его в работе с плагином для Blender SpryTile, результатом доволен, однако, подметил для себя необходимость иметь возможность создавать тайлы отличных размеров. Либо создавать несколько, с возможностью единовременного редактирования.
Поставил для себя две далекие цели — тайлы отличных размеров и создание материалов.
Добавил окно настроек с пунктами первой важности (для меня). Сделал сохранение настроек в проект, при открытии настройки восстанавливаются. Так же отладил сохранение при экспорте, экспорт при сохранении. Самым сложным оказалось реализовать алгоритм сборки всех изображений из проекта в единый PNG лист, соблюдая настройки, очередность, и чтобы ни один пиксель не потерялся.
Нововведения:
- Настройки проекта
- Сохранение настроек для каждого проекта
- Экспорт при сохранении
- Сохранение при экспорте
- Сохранение единого листа (тайлсет)
- Сохранение списком файлов
Доделал базовые инструменты и добавил окошко «О программе». Окошко настроек всё ещё в процессе. Думаю, что настройки должны быть индивидуальными для каждого проекта.
Нововведения:
- Базовые инструменты
- Окошко «О программе»
Переделал систему диалогов, так как разность именования папок и всякие особенности кросс-платформенности напрочь ломали прежний вариант. Добавил диалог создания нового проекта с выбором разрешения тайлов.
Начал работу над инструментами рисования. Пока планирую несколько: карандаш, заливка, прямоугольник.
Так же, надо бы заняться окошком настроек.
Нововведения:
- Возможность указать автора
- Возможность создавать неограниченное количество изображений
- Сохранение по CTRL+S
- Добавлена возможность отмены действий для каждого изображения
Улучшен диалог выбора цвета, начата работа над диалогами сохранения, экспорта, открытия файлов и проектов.
Нововведения:
- Собственный формат хранения проектов
- Добавлен лист тайлов
- При сохранении проекта сохраняются все изображения и палитра
- Доработаны режимы предпросмотра тайлов
Разработан базовый интерфейс и функционал. Определена первая тема оформления и цветовая гамма. Не смог подружиться с системным диалогом выбора цвета, пришлось делать свой. В принципе, не сильно сложно. Главное — внимательность.
Возможности:
- Редактирование одного изображения
- Изменение цвета кисти
- Поддержка двух кистей (ПКМ/ЛКМ)
- Поддержка палитры цветов
- Диалог выбора цвета
Источник