doom2d.org

Главная база плоских морпехов
It is currently 24 Sep 2021, 22:26

All times are UTC + 3 hours




Post new topic Reply to topic  [ 25 posts ]  Go to page 1, 2  Next
Author Message
PostPosted: 03 Apr 2014, 16:59 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3763
Location: Киров
Хотелось бы наконец нормальную воду и кислоты, чтоб были хоть немного различимы в них цвета.
Особенно ужасно выглядит вот это:
Image

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!

Сделайте нормальный огнемёт! :evil:


Top
 Profile  
 
PostPosted: 03 Apr 2014, 17:07 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
Это не реквест, а баг. Перенёс.
Да, вот ссылка на старое обсуждение этой проблемы с возможными вариантами её решения.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 19 Apr 2014, 16:06 
Offline
User avatar

Joined: 08 Dec 2012, 18:42
Posts: 622
Location: Куда?
Так что с этим делать? Только не шейдеры.


Top
 Profile  
 
PostPosted: 19 Apr 2014, 16:19 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
Напиши, как там сейчас, а я попробую подумать.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 19 Apr 2014, 18:13 
Offline
User avatar

Joined: 08 Dec 2012, 18:42
Posts: 622
Location: Куда?
Ты сам в предыдущем посте приводил ссылку. А вообще - обычный OpenGL (+glu), без расширений.

То ли в расширениях, то ли в поздних версиях OpenGL есть редактирование цветов, но тогда лучше уж сразу шедеры.


Top
 Profile  
 
PostPosted: 20 Apr 2014, 00:20 
Offline
Приколист
User avatar

Joined: 17 Oct 2009, 19:57
Posts: 3763
Location: Киров
Я так и не понял: шейдеры сейчас есть в игре или нет? И разве эффект бессмертия сейчас не с помощью шейдеров сделан?
pss88 wrote:
то ли в поздних версиях OpenGL есть редактирование цветов
А смена версии не запланирована? Всё-таки хотелось бы любые размеры текстур, а не равные степени 2 (это вроде бы можно сделать, перейдя на новую версию OpenGL, как писали в другой теме).

_________________
Давай, картечью демонов
Размажем по стене.
Давай, берсерком выпустим
Весь ливер сатане!

Сделайте нормальный огнемёт! :evil:


Top
 Profile  
 
PostPosted: 20 Apr 2014, 05:58 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
pss88 wrote:
Ты сам в предыдущем посте приводил ссылку. А вообще - обычный OpenGL (+glu), без расширений.

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

ar888 wrote:
Я так и не понял: шейдеры сейчас есть в игре или нет?
Нет.

ar888 wrote:
И разве эффект бессмертия сейчас не с помощью шейдеров сделан?
Нет, эффект инвертирования цветов делается просто и вообще без них. Шейдеры нужны были для обесцвечивания.

ar888 wrote:
А смена версии не запланирована?
Она уже сменена. Changelog читать надо внимательнее.

ar888 wrote:
Всё-таки хотелось бы любые размеры текстур, а не равные степени 2 (это вроде бы можно сделать, перейдя на новую версию OpenGL, как писали в другой теме).
Банальный переход на новую версию здесь не поможет.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 20 Apr 2014, 08:19 
Offline
User avatar

Joined: 08 Dec 2012, 18:42
Posts: 622
Location: Куда?
Вообще-то версия OpenGL будет такой, какая установлена в системе и от DF это не зависит. Но функции в нём используются от самых первых версий OpenGL, чтобы была совместимость с любыми видеокартами. "Переход на новую версию" - значит использование функций новой версии. А вот тут уже не знаю, если их нет - будут ли они на процессоре считаться или просто не будут работать.


Top
 Profile  
 
PostPosted: 27 Apr 2014, 03:35 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
Информация к размышлению.
Вот так вот работают светофильтры в оригинальном Doom 2D (сверху) и Doom 2D: Forever (снизу).

Image

У меня есть идея, что перед отрисовкой светофильтра надо на его месте рисовать полупрозрачную текстуру некоего цвета, возможно специфичного для каждого светофильтра. Но вот как рассчитать этот цвет - вопрос.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 27 Apr 2014, 12:01 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 6710
Location: \\NEGRO
Судя по твоей картинке, все проще.
Светофильтры в дф отрезают прочие каналы целиком, а в д2д - наполовину.

Пример
#FFFFFF > Красный фильтр D2D > #FF8080
#FFFFFF > Красный фильтр DF > #FF0000

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 27 Apr 2014, 12:44 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
Не, неверно. В оригинальном D2D вообще работы с каналами нет - там хитрая магия с цветовой картой.
Я пробовал вычитать ненужные два канала не полностью, а частично, но результат тогда получается слишком блеклый.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 27 Apr 2014, 13:40 
Offline
Приколист
User avatar

Joined: 29 Jun 2010, 16:18
Posts: 1107
Location: Россия, Санкт-Петербург
Черный Думер wrote:
У меня есть идея, что перед отрисовкой светофильтра надо на его месте рисовать полупрозрачную текстуру некоего цвета, возможно специфичного для каждого светофильтра. Но вот как рассчитать этот цвет - вопрос.
А у меня есть идея заменить в e_graphics.pas это:
Code:
  else
    if Blending = B_FILTER then
      glBlendFunc(GL_DST_COLOR, GL_SRC_COLOR)
на это:
Code:
  else
    if Blending = B_FILTER then
     begin
      glBlendFunc(GL_ONE_MINUS_CONSTANT_COLOR, GL_SRC_COLOR);
      glBlendEquation(GL_FUNC_ADD);
      glBlendColor(0.000, 0.000, 0.000, 0.500);
     end
В glBlendColor подбираем яркость цвета, если требуется разделяем для конкретной спец-текстуры. Цвета самих спец-текстур настраиваем там же (g_panel.pas,
Code:
         case FTextureIDs[FCurTexture].Tex of
).

Я пробовал сейчас, кафель видно. Не так конечно как в классике, но видно хорошо, ключи тоже отлично. Это надо сидеть и настраивать цвета долго, у меня сейчас времени особо нет, пробуйте.

В классике ещё помню 666 говорил, что всё завязано на палитре, файл PLAYPAL вроде бы. Так как в игре 256 цветов всего, то для каждой текстуры всё подбирается отдельно. Спец-текстуры там работали тоже через палитру. А у нас тут палитра системная, её трогать себе дороже выйдет, и не факт, что будет результат.

_________________
Хочешь сделать что-то полезное - сделай бэкап!


Top
 Profile  
 
PostPosted: 28 Apr 2014, 18:12 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 6710
Location: \\NEGRO
Про палитру Фальк предлагал как-то сделать 8бит, больше в шутку, я отказался.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 18 Jun 2014, 10:52 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
how bout dat

Image

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 18 Jun 2014, 12:58 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 6710
Location: \\NEGRO
Интересно - серое не меняет цвет вообще.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 18 Jun 2014, 13:23 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
Ага, я тоже заметил.
Короче, это мой собственный шейдер, работает он так:
1. Из трёх цветовых компонент (R, G, B) выбираем бóльшую, её значение присваиваем каналу, соответствующему цвету светофильтра.
2. Остальным каналам присваиваем среднее арифметическое значений других двух компонент.
3. Вышеописанное применяем к каждому пикселю изображения.

Конечно, это не вариант для D2D:F, это просто попытка ответить на вопрос, нужен ли для нормального светофильтра шейдер.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 09 Mar 2017, 03:14 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 6710
Location: \\NEGRO
Есть, оказывается, в сети вот такая штука.
Можно возиться с параметрами цветового шейдера и сразу видеть результат.

http://www.andersriggelsen.dk/glblendfunc.php

К чему мы стремимся:
Image

Образец для экспериментов, грузим в Image URLs/Background:

Цвета, грузим в Image URLs/Foreground:

Или можно использовать Blending Color, но там трудно задать точный цвет.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 30 Nov 2018, 10:27 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
Раз уж снова речь зашла - how bout dat?

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

Image

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
PostPosted: 06 Dec 2018, 15:15 
Offline
Site Admin
User avatar

Joined: 17 Oct 2009, 23:43
Posts: 6710
Location: \\NEGRO
Так все-таки хуже - вода малопрозрачная.
О, отлично. Вот кафель для пробы и перерисую.
Извините, времени нет сейчас.

_________________
И неважно, что нет морей на Марсе, каждый морпех носит море в сердце.


Top
 Profile  
 
PostPosted: 06 Dec 2018, 15:27 
Offline
Приколист
User avatar

Joined: 18 Oct 2009, 04:01
Posts: 5938
Location: Владивосток
Jabberwock wrote:
Так все-таки хуже - вода малопрозрачная.
Увы, я сомневаюсь, что можно сделать лучше без шейдеров.
Проблема тут не в прозрачности, а в нехватке контрастности.

Кстати да, ты редиска - на твоём rgb.gif синий цвет не совсем синий.

_________________
Чёрный Думер, Чёрный Думер
С монстрами сражается.
Чёрный Думер, Чёрный Думер
Рокетланчер плавится.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 25 posts ]  Go to page 1, 2  Next

All times are UTC + 3 hours


Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
doom2d.org, since 2007