Сообщения без ответов | Активные темы Текущее время: 25 июл 2024, 05:30

Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.  [ Сообщений: 40 ]  На страницу 1, 2  След.
 Plugin info, news. / Информация о плагине, новости. 
Автор Сообщение
Сообщение 09 июн 2009, 17:09

18 янв 2009, 14:20
Сообщения: 805
Translated by F1ReB4LL, R4kk00n.

I like PlayStation, its games an everything connected with it,
looks like I have some good memories left from childhood.
I didn't liked emulation precise and, in general, wanted to
do something by myself.


The target is to make a plugin, which emulates the PSX GPU
with maximum precision, and using of all the methods of
grapics improvement.


Setup dialogue.

GUI is written on gtk, this, of course, requires installation
of gtk-runtime, I've seen lots of comments of this, I can
only say, that if you can download an updated version of
DirectX every month, so you can download GTK as well and use
the GUI, if only you want it. If not - i won't insist on it. :)

Why GTK? It's an easy question. :) Because the plugin is
cross-platform and I'm not going to write a GUI on a native API
for _every_ OS, I'd better use this time for emulation improvement.


You should already understood this by reading the Target section,
but I'll better write it directly: I don't care, how much
resources will be needed for emulation and that the plugin is
already slow enough.

People often ask, if the plugin will be faster.
I swear, that it will be slower. :D
For now only the geometry is rendered correctly, PSX GPU implements some exotic
blending algorithm and my research shows that we'll need noticeably more
operations per pixel as we approach the correct color rendering.

Precise rendering timings are not implemented either.
The calculations are available, but there is no appropriate interface in the emulator,
plus, if implemented, it would make rendering even slower.

Implemented, though disabled, a texture cache emulation.
There is no visible improvement, just an increase in CPU load. :)

Picture enhancement methods.

Internal resolution.
The most powerful method is an increase of the internal resolution.
This method allows you to increase the resolution of the image independently
in width and height by an arbitrary integer factor. In the manual I wrote that
the best in my opinion is the resolution of 2x2.
This does not mean that I cannot add larger factors, although it is somewhat inconvenient.
I believe that further increase in resolution degrades the image, as "soapy" textures
with perfect geometry leave a bad impression. Generally there is no restriction,
I can make it 8x8, which is equal to setting "Ultra / Ultra" (I guess)
in the hardware plugin OGL2 by Pete Bernert, but I doubt you can find a
computer capable of at least 3 fps in this resolution. :D

24-bit renderer.
Console has a 15-bit renderer, that's why Gouraud-shaded polygons have so
unpleasant colors. When you turn this mode, renderer goes into 24-bit mode
and the picture in this case is not only looks as good as on hardware plugins,
but also doesn't have their drawbacks, you should turn "Gouraud shaded primitives"
option for this. If you turn the "All primitives" mode, I'll tear your hands away :),
because in this case you'll see the artefacts similar to hardware plugins, like
various different colored borders around the picture.

Texture bilinear filtering.
The translators can't translate my text. :lol:

Then goes filters, btw, very good ones: Super Eagle, Sal, Hq, Scale.
For those who like them, I don't. :)
But there are 'fans' of them, so I've decided to add them.
I should say, that they're also very hardware-dependant, especially while
working in pair with the increased internal resolution.

Realized a partial support for shaders written for gpuPeteOGL2,
Only glsl shaders are supported.


Possible aspect ratio issues.
TV is something %), it's totally useless to test an output on some particular
TV, because every TV has a slightly (or totally) different picture (in terms
of aspect and picture position), due to different factory settings and custom
user settings, I've tried to make the picture "like on some average TV",
but I'm not sure in anything, some output measurements should also be redone.

Some interlacing issues,
because the counters are hidden from gpu, it's not possible to determine
some moments precisely, which may affect/affects the picture.


Мне нравится PlayStation, игры на ней и вообще всё что с ней связано,
видимо с детства остались хорошие воспоминания.
Меня не устраивала точность эмуляции, да и вообще хотелось
сделать что-то самому.


Целью является создание плагина максимально точно эмулирующего psx gpu,
а так же параллельное использование всех методов улучшения качества изображения.


Диалог настройки.

Гуи написано на gtk, что естественно требует установки gtk-runtime,
я видел всякие отзывы по этому поводу, возразить могу что для
вас не составляет труда ставить какой-нибудь дайрект икс
или бесконечно копировать что-то типа d3d9_хлам.dll,
так что если есть интерес - ставьте и пользуйтесь гуи,
нету - заставлять никого у меня никакого желания нету.

Почему gtk, это простой вопрос, потому что плагин кроссплатформенный
и я не собираюсь писать под все системы гуи на родном апи,
лучше я потрачу время на совершенствование эмуляции.


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

Часто спрашивают будет ли плагин быстрее, гарантирую что он будет медленнее. :D
На данный момент реализована только геометрическая точность отрисовки,
psx gpu имеет какой-то странный алгоритм смешивания и исследования показали
что операций на пиксель, по мере реализации цветовой точности, заметно прибавится.

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

Реализована, но выключена эмуляция текстурного кэша,
так как никакой пользы это не приносит, только увеличивает нагрузку на цпу. :)

Методы улучшения изображения.

Внутреннее разрешение.
Самым сильным методом улучшения является увеличение внутреннего разрешения.
Метод позволяет увеличивать разрешение отрисовываемой картинки
по ширине и высоте на произвольный целый множитель.
В инструкции я писал что оптимальным по-моему мнению является разрешение 2x2.
Это совсем не значит что я не могу сделать больше, хотя это и доставляет неудобства,
просто по мне так дальнейшее увеличение пожалуй ухудшает картинку,
так как "мыльные" текстуры и идеальная геометрия дают плохие впечатления.
Вообще тут никакого ограничения нету, можно сделать 8x8,
что равно установке Ultra/Ultra (вроде бы) в аппаратном плагине Ogl2 от Pete Bernert,
но вот найдёте ли вы компьютер, выдаюший вам хотя бы 3 фпс на таком разрешении? :D

24-х битный рендерер.
На консоли рендерер 15-ти битный, в следствие чего на полигонах закрашенных по Гуро
видны резкие переходы цвета. При включении режима рендерер
переключается в 24-х битный режим и качество картинки в этом случае
мало того что не уступает картинке на аппаратном плагине,
но и абсолютно лишено его недостатков, для этого следует включать
режим "Gouraud shaded primitives", тем кто будет включать режим
"All primitives" буду бить по рукам :), так как в этом случае проявляются артефакты
присущие аппаратным плагинам в виде различных бордюров вокруг изображения
отличающихся от оного цветом, хотя стоит отметить иногда он даёт несколько лучшую
картинку, например в FF9 ( карта и тень персонажа ).

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

Далее идут фильтры, очень надо сказать неплохие фильтры Super Eagle, Sal, Hq, Scale.
На любителя, я чаще всего играю без них, выбирать надо самому.
Но так как явно есть поклонники этих фильтров я решил добавить.
Надо отметить что они так же очень ресурсоёмкие,
тем более в паре с увеличенным внутренним разрешением.

Реализовал поддержку шейдеров написанных для gpuPeteOGL2.
Поддерживаются только glsl шейдеры.


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

Есть некоторые нюансы с эмуляцией интерлейса,
так как счётчики скрыты от gpu, невозможно определить некоторые моменты точно,
что может сказываться/сказывается на каринке.

cpu: Intel Core Quad 9300 2.5Ghz.
ram: 4gb dual channel, OCZ 1333Hz.
gpu: Nvidia GeForce 9800Gtx, 768Mb.

Последний раз редактировалось edgbla 16 июн 2009, 18:35, всего редактировалось 2 раз(а).

Сообщение 16 июн 2009, 01:22

18 янв 2009, 14:20
Сообщения: 805
Realized 2x2, now it's a totally different story, looks very nice,
so it's only left to clean the code and merge the plugins.

Emulation speed mainly depends on the type of drawing primitives,
for example, Twisted Metal 2 / Vigilante 8 show around 150 fps,
while Final Fantasy 8 / Silent Hill only around 60 on my PC.
It should be mentioned, that the speed drops really harsh, for example,
on 1x1 Twisted Metal 2 / Vigilante 8 show around 400 and
Final Fantasy 8 / Silent Hill around 200.
On the other hand, for a 4x resolution it's not so bad.

Bug with drawing the unnecessary row/column of the texturized polygon is there,
don't have a time to fix it.


Реализовал 2x2, теперь другой разговор, смотрится очень хорошо, осталось
окультурить/привести к общему знаменателю код и объединить плагины.

Скорость работы сильно зависит от типа отрисовываемых примитивов,
например Twisted Metal 2 / Vigilante 8 это около 150 fps,
а Final Fantasy 8 / Silent Hill около 60 на моей машине.
Надо отметить что скорость падает всё-таки сильно, например на 1x1
Twisted Metal 2 / Vigilante 8 это около 400,
а Final Fantasy 8 / Silent Hill около 200.
Хотя для увеличения разрешения картинки в 4 раза не так уж и плохо.

Баг в виде отрисовки лишней строки/столбца текстуры, в текстурированном полигоне
пока никуда не делся, нету времени вылечить.

Сообщение 17 июн 2009, 21:30

18 янв 2009, 14:20
Сообщения: 805
Added a partial support for shaders written for gpuPeteOpenGL2,
decided not to change standard and shaders and leave it as is.
Tested "4xMSAL", "2xSaL Smart", "HDR TV", not so bad, they probably have their
Oh, I've added only glsl shaders support, doesn't want to add any
not-interesting code, it will be easier to rewrite the shader itself.
The only thing I've changed is the selection interface in setup dialogue,
everything is easy and handy, combobox is filled with the shaders found
in the "./shaders" directory, where every shader lies in its own directory,
which name is used as the shader's name, so you can just choose the needed one
from the list and, probable, choose the level.


Добавил частичную поддержку шейдеров написанных для gpuPeteOpenGL2,
менять стандарт и шейдеры не стал, пусть будет пока что так как есть,
Посмотрел "4xMSAL", "2xSaL Smart", "HDR TV", ну вроде ничего, любители есть наверное.
Ах да, добавил поддержку только glsl шейдеров, нету желания добавлять в плагин
кучу неинтересного мне кода, проще если что переписать шейдер.
Единственное что изменил так это интерфейс выбора в диалоге настройки, всё удобно и просто,
комбобокс заполняется шейдерами найденными в каталоге "./shaders",
где каждый шейдер лежит в отдельном каталоге, который и применяется как название шейдера,
остаётся только выбрать нужный из списка и возможно выбрать уровень.

Сообщение 23 июн 2009, 21:50

18 янв 2009, 14:20
Сообщения: 805
Embedded the 2x2 renderer into the plugin, so there's only one plugin now.
Added video recording under Linux, Windows version lacks this feature for now.


Интегрировал 2x2 рендерер в плагин, теперь плагин будет один.
Добавил запись видео под Linux, под Windows что-то пока никак. %)

Сообщение 27 июн 2009, 01:10

18 янв 2009, 14:20
Сообщения: 805
Video recording under Windows works now.
Realized savestate picture drawing.
Actually, I've already tired of psemupro interface and some plugin solutions.
What was the need for converting the savestate pictures into bgr format
and storing them turned upside down???
Picture resolution is 128x96, maybe 10+ years ago it was a good solution, but
it's 2009 now and I'd like to see everything beautiful and handy.
It seems impossible to fix this in epsxe, this emulator is like a "hostage" of
its own popularity, so it would be too hard to change the standards, dunno,
either a new emulator is needed or the current one should be completely


Заработала запись видео под Windows.
Реализовал отрисовку картинки сейвстейта.
Вообще меня уже утомил psemupro интерфейс и некоторые плагиновые решения.
Ну вот на кой ляд было делать картинку сейвстейта в bgr формате да ещё и перевёрнутой???
Приходится всё конвертить и переворачивать и ещё и с бубном приплясывать.
Разрешение картинки 128x96, ну я допускаю что в далёком лохматом году это было хорошее решение,
но сейчас уже не тот лохматый год и хочется чтобы всё было красиво и аккуратно и удобно.
В epsxe это уже наверное невозможно исправить, эмулятор стал заложником своей
популярности и отходить от стандартов было бы болезненно,
не знаю, видимо нужен либо новый эмулятор,
либо качественно переработанный/продуманный старый.

Сообщение 29 июн 2009, 21:47

18 янв 2009, 14:20
Сообщения: 805
Collected some info about the bugs in the plugin
around a dozen of games have graphic bugs because of DMA issues,
there's also seems to be an interesting bug in
pro pinball: fantastic journey (according to the bug report, I don't have
this game by myself yet, so can't say anything for now).
The work on GPU plugin is paused for some time,
there's a need to work on another part of the project.


Насобирал данные по ошибкам плагина,
получилось примерно в десятке игр артефакты изображения из-за ошибок дма,
и ещё, судя по описанию, занимательная ошибка в pro pinball: fantastic journey,
такой игры у меня нету, так что пока не знаю точно в чём дело.
Работа над gpu плагином на некоторое время будет остановлена,
появилась необходимость поработать над другой частью проекта.

Сообщение 11 июл 2009, 09:24

18 янв 2009, 14:20
Сообщения: 805
Пфф, вот я освободился и снова начал работу над гпу плагином.

Достаточно легко получилось исправить дма ошибки во многих играх,
это FF9, Front Mission 3, Xenogears, Pro Pinball: Fantastic Journey и т.д.
Вообще над дма надо ещё много работать.

Добавил поддержку вспомогательных текстур для шейдеров.

Добавил новые режимы для fullscreen.
Первый - "Desktop settings", использует параметры рабочего стола,
рабочий стол чаще всего настроен наилучшим образом, так же отпадает
необходимость смены разрешения при переносе конфига на другой компьютер,
есть правда проблема с пропорцией картинки тут, ну надеюсь что-нибудь придумаю.
Второй - "Native resolutions", интересный вообще подход,
устанавливаются те разрешения, которые устанавливают psx приложения(игры),
естественно не все карты поддерживают такие разрешения,
для нормального использования необходимо ArcadeVGA.
У меня нету, так что не тестил.

Ах да, вылечил смещение картинки под windows.

Pro Pinball Fantastic Journey.png
Pro Pinball Fantastic Journey.png [ 88.56 КБ | Просмотров: 95683 ]
Xenogears.png [ 58.35 КБ | Просмотров: 95683 ]
Front Mission 3.png
Front Mission 3.png [ 113.48 КБ | Просмотров: 95683 ]
Сообщение 12 июл 2009, 03:08

18 янв 2009, 14:20
Сообщения: 805
Исправил отрисовку полилиний с большим количеством точек, по крайней мере не падает. :)
Откомпилил статически с libpng, теперь можно не парится. ;)

Всё ещё не решу как сделать картинку старого телевизора,
либо это параметры visible area + некий код, либо заюзать шейдер,
либо и то и другое. Задумывалось и передумывалось уже 10 раз. :D

Хотел сделать отрисовку прицелов в играх с поддержкой пистолета,
но так и не нашёл нормальных картинок прицелов %), поделитесь у кого есть.

Думаю пора делать релиз.

Сообщение 21 июл 2009, 01:32

18 янв 2009, 14:20
Сообщения: 805
Fixed a fix of sprite/tile drawing: Rally Cross/Rally Cross 2.
Fixed a video RAM copy command: Densha de Go!


Исправил исправление на отрисовку спрайтов/тайлов, Rally Cross/Rally Cross 2.
Исправил команду копирования видеопамяти, Densha de Go!.
Мда, помимо курсора ещё не мешало бы и нормальную текстуру со шрифтом,
а то буквы прямо пляшут и поют. :D

Сообщение 25 июл 2009, 20:57

18 янв 2009, 14:20
Сообщения: 805
Version 0.22 has been releases.
Added various on-screen messages to confirm the actions.
Fixed all the known bugs.
Some aspect ratio issues are probably still there,
I'm going to work on fixing them later.


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

Сообщение 26 июл 2009, 16:14

18 янв 2009, 14:20
Сообщения: 805
Пришло сообщение о невозможности нормального использования диалога настройки в разрешенях 800x600 и меньше.
Пришлось сделать окно прокручиваемым.
Felipe, hi. :)

Сообщение 23 авг 2009, 02:49

18 янв 2009, 14:20
Сообщения: 805
Такс, над gpu плагином работал мало, потому и сделал немного.
Улучшил поддержку шейдеров, насколько смог, вроде бы поддержка полная, хотя возможно где и есть неточности.
Добавил поддержку функции GPUsetframelimit, совершенно левая конечно вещь, подход в корне неверный,
но раз уж авторы epsxe добавили, пусть будет.
Всё-таки выкинул режим "Old TV" из gui и вообще плагина, было несколько реализаций, они так и не выбрались на волю,
как-то всё это не то, сделаю позже, чисто на шейдерах, как будет время.
Ну и так, некоторые мелкие исправления.

Сообщение 31 июл 2010, 18:31

18 янв 2009, 14:20
Сообщения: 805
Ну вот наконец-то и релиз, может кто ждал. Я по крайней мере ждал. :D
Всё время я был чем-то занят, этому то напиши, этому вон то... на мои проекты что-то времени совсем мало остаётся. :banghead:
Прошло немало времени, а сделано опять не шибко много, если так будет дальше продолжаться, то идеальным плагин станет уж очень не скоро. :D

– Убрал мерцающие полосы по краям, проявляющиеся при включении hi-res фильтров или билинейной фильтрации;
– Переписан метод выводы картинки на экран, отныне картинка имеет правильные пропорции и правильную область отображения ( файтинги Capcom );
– Добавил поддержку "Fake 'gpu busy' state";
– Немного подправлен рендерер в высоких разрешениях, максимальное разрешение увеличено до 4-х;
– Переписан алгоритм ограничения fps;
– Добавлен выбор метода деинтерлейсинга;
– Добавлено перемещение и увеличение картинки;
– Добавил отрисовку прицелов для игр использующих пистолеты;
– Мелкие исправления, оптимизация;

Рассмотрю интересное более подробно:

– Переписан метод выводы картинки на экран, отныне картинка имеет правильные пропорции и правильную область отображения ( файтинги Capcom );
Собственно драка шла за каких-то три жалких пикселя справа. ^_^

Эта картинка из версии 0.24:


А эта из 0.30:


– Немного подправлен рендерер в высоких разрешениях, максимальное разрешение увеличено до 4-х;
Увеличение внутреннего разрешения до 4-х сделано просто для того чтобы было, пока что ресурсов компьютеров на него не хватает, да и у меня не дойдут никак руки исправить все артефакты, вызываемые этим режимом, хотя некоторые игры выглядят вполне прилично.
На моём компе здесь 20фпс.


– Добавлен выбор метода деинтерлейсинга;
Вообще дело это неблагодарное, получить картинку как на телевизоре не получится в любом случае,
так что это просто жалкая попытка предоставить хоть какой-то выбор. :)
Хотя возможно кому-то и понравится режим дублированных линий. :blush:

– Добавлено перемещение и увеличение картинки;
Наиболее интересно по-моему для широкоформатных дисплеев, где за счёт ширины экрана можно несколько увеличить картинку,
в качестве примера возьму пожалуй KKND, вот как оно выглядит без плясок с бубном,
очень хорошо видно что куча места на экране пропадает зря:


А вот какого результата можно добится немного покрутив настройки:


Я тут немного съел верх, пару пикселей, лень подгонять, но думаю смысл ясен.

– Добавил отрисовку прицелов для игр использующих пистолеты;
Прицелы пистолетов используется по-моему только в ePSXe ( возможно добавлю позже в pcsxr ),
не хватило сил сделать до конца, так что нормально пострелять можно только имея пропорции окна 4 к 3. :)
Вообще заэмулено как-то кривовато и стреляет он очень мимо :), потому калибровка пистолета обязательна.
Прицел пока что-то только один, всмысле отличаются они только цветом. Не очень понятно какого размера он должен быть,
возможно добавлю в конфиг соответствующий параметр.


Сообщение 01 окт 2010, 13:00

18 янв 2009, 14:20
Сообщения: 805
Привет всем.
Решено выжимать из старушки psx всё что можно и всё что нельзя, в плане графики естественно. Провёл некоторые исселования по так ненавистным многим "дрожаниям вершин", и получил, надо сказать, весьма неплохие результаты. Пожалуй расскажу сначала, при использовании в эмуляторе родного внутреннего разрешения консоли картинка выглядит вполне себе ничего, в том смысле что хотя вершинки и дрожат, это всё вполне нормально сочетается с текстурным шумом и низким разрешением дисплея. Но вот вдруг мы решили повысить внутреннее разрешение допустим до 4х4, геометрия стала чёткой, но в нагрузку мы получили очень неприятный эффект - смещения вершин на достаточно большое расстояние, дело в том что при внутреннем разрешении 1х1 вершинки смещались на 1 пиксел, а при 4х4 соответственно на 4. Ну, чтобы посмотреть этот эффект можно включить любую 3д игру, и повертеть камерой смотря на некий обьект, на домик например, вершины полигонов из которых строится дом будут перемещатся на значительное расстояние, заставляя соответственно так же сильно смещаться текстурки. Смотрится прямо скажем нелепо, как кукольный домик. Вообще никогда не понимал людей выворачивающих внутреннее разрешение на максимум в том же gpuPeteOgl2. Я уже не первый раз повторяюсь, но я считаю лучшим вариантом внутреннее разрешение 2х2, ну в крайнем случае 3х3, в гонках например.

Ну, достаточно пожалуй болтовни, покажу пожалуй всё в примерах, смотреть видео нужно в HD качестве.

Для начала посмотрим видео NFS4 с внутренним разрешением 3х3 без каких либо плясок с бубном:

А теперь посмотрим видео той же NFS4, но применим трюк для того чтобы уменьшить дрожание:

А теперь видео FF8 с внутренним разрешением 3х3 без трюка:

и с оным:

Думаю улучшение качества картинки видно невооружённым глазом. Применять подобное можно практически для любой игры, есть некоторые исключения, например Courier Crisis, но тут просто надо лапы оторвать тем программерам которые писали код перемещения камеры, картинка хотя и улучшается немного, играть в высоких разрешениях невозможно из-за постоянной дерготни экрана. Да... ещё нюанс, так как плагин достаточно медленнен, играть при таком внутреннем разрешении пока что нереально, всё жутко медленно, но по крайней мере видно куда можно двигаться.

Сообщение 06 ноя 2010, 01:57

18 янв 2009, 14:20
Сообщения: 805
Небольшой корректирующий релиз, с некоторыми фиксами, дополнениями и т.д.
– Починил размер окна и скриншотов в Windows;
– Потерю картинки после вызова диалога настройки во время игры;
– Падение при загрузке сохранений из gui эмулятора;
– Переписал логику горячих клавишь;
– Добавил в конфиг файл параметр размера прицела пистолета;
– Добавил кнопки сдвига экрана, расширил пределы значений для сдвига и увеличения;

Сообщение 21 ноя 2010, 10:10

18 янв 2009, 14:20
Сообщения: 805
Вышла версия 0.34.
– Исправил ошибки рендерера в Tales Of Destiny 2, MediEvil2 и Tank Racer;
– Убрал из картинки сейвстейта лишнюю информацию;
– Fixed rendering bugs in Tales Of Destiny 2, MediEvil2 and Tank Racer;
– Removed unneeded infromation from save state's screenshot;

Сообщение 28 ноя 2010, 02:21

18 янв 2009, 14:20
Сообщения: 805
Всем привет.

Провёл ещё одно исследование, достаточно интересное на мой взгляд.
Смысл опять же в повышении качества картинки psx, а точнее, в усилении игровых ощущений - применении стереоскопического эффекта.
Довольно интересное, надо сказать, занятие - добавление 3д эффекта в игры, где оно изначально никогда не планировалось.
Да, для psx были игры, использующие стереоскопию и анаглифный метод просмотра, единственное что вспоминается - "Contra - Legacy of War", их крайне мало.
Нас ведь такая ситуация не устраивает, не правда ли? :D

Итак, сея фича применима, естественно, только для 3д игр, практически любых, есть конечно мелкие нюансы, чуть потрящие картину, но по мне так они слишком мелкие.)) В качестве примера могу привести например блики от ламп в Quake 2, они получается ближе чем расположена лампа, ну и тому подобные 2д эффекты используемые в 3д играх. Так как картинка всё равно рисуется дважды, то в принципе, при удачной реализации задуманного, можно будет использовать любой метод просмотра: параллельного взгляда, анаглифный, затворные стереоочки и т.д.

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

Если все попутно возникающие проблемы удачно разрешаться, то... psx и её эмуляция поднимутся ещё на одну крохотную ступенечку выше. :blush:
Глядишь, так и дошагаем до ps2. :D

Напоследок покажу несколько картинок, сразу для двух методов просмотра - анаглифного и параллельного взгляда:
(на парных картинках эффект можно увидеть прямо здесь, нужно смотреть как бы сквозь картинки, вдаль)

Final Fantasy 9



Quake 2



Metal Gear Solid



Сообщение 06 фев 2011, 14:55

18 янв 2009, 14:20
Сообщения: 805
Провёл исследования по очередному методу улучшения графики, присущему более для плагинов использующих аппаратное ускорение - текстурной билинейной фильтрации. Повышение качества достаточно сильное, особенно при использовании повышенного внуреннего разрешения, а для отдельных полигонов, чьи размеры много превышают разрешение текстуры, результат вообще очень хорош. В каком-нибудь из релизов этот метод будет реализован. Что интересно, появляется возможность полноценно сглаживать альфа канал, не уверен что удасться реализовать это в окончательном виде, но на это стоит посмотреть.
Вот три картинки (внутреннее разрешение 2х2, 24-х битный рендерер). Думаю полноценно сглаженный/смешанный дым и огонь здесь сразу улучшают впечатление.))

Софт плагин, стандартная отрисовка:


Аппаратный плагин, текстурная билинейная фильтрация (на данный момент):


Софт плагин, текстурная билинейная фильтрация и полноценное альфа смешивание:


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


Сообщение 27 июн 2011, 13:42

18 янв 2009, 14:20
Сообщения: 805
Added ZN support, now it's possible to use the plugin with ZiNc and pSx MAME.

Добавил ZN интерфейс, соответственно стало возможным использовать плагин с эмуляторами ZiNc и pSxMAME. Выглядит примерно так:


Added precise bilinear textures filtration, see the screenshots (ogl2 is on the left, mine is on the right)

Реализовал точную билинейную фильтрацию текстур, следующие скриншоты показывают разницу между peteOgl2 (слева) и тем что получилось у меня (справа), текстурки лежат аккуратно друг к дружке, без швов или кривых переходов:

Изображение Изображение

Изображение Изображение

Сообщение 04 июл 2011, 22:16

18 янв 2009, 14:20
Сообщения: 805
Ну вот наконец-то у меня дошли руки до исследования о котором я думал и говорил ещё много времени назад. К gpu плагину оно прямого отношения не имеет, но задача же состоит в улучшении картинки, а для этого все методы хороши. ^_^ На сей раз идея заключается в моддинге/хакинге конкретных игр. Если вы смотрите на psx игры, то достаточно быстро замечаете уменьшение разрешения текстур, геометрии уровней, объектов и отсечение деталей даже при незначительном удалении от рассматриваемого обьекта. Всё понятно, консоль слабенькая и это было сделано в целях оптимизации. Но зачем всё это нам в эмуляторе??? Правильно, ни к чему.
Покажу я пока что всего одну игру с использованием подобного метода (одна из моих самых любимых игр :player: ):
Twisted Metal 2

Вот стандартная картинка (использованы все доступные на данный момент методы улучшения):


а вот улучшенная картинка:


Ну и видео улучшенного варианта заодно:

На мой взгляд результат просто великолепен и хотелось бы использовать сей метод улучшения хотя бы для десятка-двух лучших psx игр. Идея проста, необходимо находить значения, при которых начинают удаляться или заменяться на худшие по качеству модели или текстуры, и увеличивать их в разумных пределах (там есть некоторые дополнительные нюансы). Скажу сразу что хакер из меня неахти, да и времени свободного нету, так что надеюсь, что кого-нибудь эта идея и пример вдохновят и сподвигнут на собственный хакинг. Дерзайте. ;)

Показать сообщения за:  Поле сортировки  
Эта тема закрыта, вы не можете редактировать и оставлять сообщения в ней.   [ Сообщений: 40 ]  На страницу 1, 2  След.

Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 2

Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF (mod by Zeru-j).
Русская поддержка phpBB