Эмуляция > Эмуляторы консолей 6 поколения и выше
Demul, эмулятор Dreamcast, Naomi etc.
<< < (407/583) > >>
CaH4e3:

Вся необходимая информация находится под спойлером ниже:
* Официальный сайт эмулятора
* Официальный русскоязычный форум
* Скачать Demul
* Багтрекер для сообщений об ошибках
* Часто задаваемые вопросы (FAQ)
* Для работы эмулятора требуются: MSVC 2010 Redist x86 а также последний DirectX
* Биосы консоли SEGA Dreamcast в формате эмулятора можно скачать здесь или там Инструкция Demul в картинках + biospack
Шейдерные фильтры для режима OpenGL можно скачать здесь
CaH4e3:

--- Цитата: Zenkai от 06 Май 2014, 19:59:20 ---Эмулю двух гигов мало?

--- Конец цитаты ---
Конечно мало, если ты до кучи еще и конское разрешение выставляешь в два раза больше нативного, а это в четыре раза больше расход рамы на один слой, а у тебя их 64.
--- Цитата: Wind от 06 Май 2014, 20:09:51 ---но у некоторых впрочем работает даже с таким кол-вом врамы.

--- Конец цитаты ---
ну да, кто не выпендривается с конскими разрешениями, а к монитору поближе подвигается хеех
Joker:
Вот как-то так, напрямую захватить видео нечем, пришлось телефоном обойтись. До первого сейва руки пока не дошли.
http://youtu.be/cFUbORYkSNc
http://youtu.be/Fk6Q9qXg_QY

Ну и на правах срача. Игры Дрима через ВГА чаще всего лучше смотрятся, чем ЗЫ2 по компоненту - у неё парочка глобальных проблем была - разрешение в большинстве игр ниже 640х480, частенько отсутствие прогрессивной развертки без плясок с бубном и желание разработчиков запихнуть побольше мелких деталей в картинку. В результате все это добро состоит из лесенок, мерцания и прочего непотребства. На 32 дюймах еще как-то можно жить, а дальше лучше этого не видеть. Дрим же и на 50 прилично выглядит - получается просто мягкая картинка, без особых прикрас, но от неё зато плакать не хочется.
~Scorpion-:
Вот оно что, тень проецируется на слои тумана помимо пола, это интересно!  :wow:


--- Цитата: Joker ---Вот как-то так, напрямую захватить видео нечем, пришлось телефоном обойтись.
--- Конец цитаты ---

Да ничего так у тебя телефон снимает, всё чётко, видно отлично!  :)

Добавлено позже:

--- Цитата: Joker ---Ну и на правах срача.
--- Конец цитаты ---

Спорить будут только сонибои. Их надо игнорить.
paul_met:
Забавно, что тень без пушки.
MetalliC:

--- Цитата: Joker ---Вот как-то так, напрямую захватить видео нечем, пришлось телефоном обойтись.
--- Конец цитаты ---

еще раз спасибо  :drinks:, всё что я хотел увидеть - отлично видно

--- Цитата: Joker ---До первого сейва руки пока не дошли.
--- Конец цитаты ---

и не надо :) уже понятно как там будет.

--- Цитата: ~Scorpion- ---Вот оно что, тень проецируется на слои тумана помимо пола, это интересно! 
--- Конец цитаты ---
вот вот, на каждом слое тумана своя персональная тень, это меня и интересовало
очень крутая фича я вам скажу, жаль что ею не пользовались почти вообще, много всяких интересных эффектов можно было сделать, и практически  без напряга со стороны программера.


--- Цитата: stalker4 ---На ПеКа аппаратные тени 
--- Конец цитаты ---

не было и нет их на пека аппаратных, обычные софтовые стенсильные либо более современные вариации в этом же репертуаре.

если мне не изменяет склероз  - аппаратные Modifier Volumes (т.е. тени) за всю историю вообще были только в PowerVR серии 2, то есть в Dreamcast и аркадах на его базе.
и возможно видеочипе Neon250, который использовался в видеокарте для ПК и 3х аркадных играх от Gaelco. "возможно" потому что эту фичу могли и кастрировать, как и несколько других, да и тот факт, что в 2х сдампленных играх Gaelco модифиров нет вообще еще больше наводит на такие мысли.
CaH4e3:
любая тень - это хак. чтобы на писи или любой другой железке сделать тень, надо отрендерить одну и ту же модель два раза, под разными углами, один раз нормально, другой раз под тем уголом, под которым падает свет, получить ее контур и этот контур нарисовать на полу другими полигонами или текстурой. или посчитать вручную пересечения лучей из вершин модели с плоскостью пола и по ним построить модель тени в плоскости. и это будет только силуэт на полу, а на стене уже не будет... и на прочих объектах не будет. чтобы сделать то же самое на дриме, надо из всех точек модели спустить под нужным углом параллельно несколько полигонов ниже точки пола и замкнуть ими область. все, что попадет внутрь этой области - автоматически оттеняется аппаратно. то есть если у модели персонажа поставить флаг затенения, то она даже на себя саму может тень отбрасывать, и на любые другие предметы, попадающиеся в область, ограниченную теневой моделью. если бы разрабы отключили затенение трансов, туман не затенялся бы.

еще более крутая фича пвр2 дрима в том, что вместо затенения в указанной ограниченной области (volume) можно менять параметры текстурирования и освещения. То есть можно сделать окно в стене, просто бросив на нее тень окна и указав два набора текстур для треугольника. все, что попадет в тень - будет окном, причем можно перемещать это в реальном времени куда угодно когда угодно... а вместо тени скажем на тумане и на полу можно было бы сделать тигровую и крокодиловую текстуры отдельно. современные карты могут делать то же самое только путем стенсил алгоритмов в несколько проходов, отсекая сначала одну область, рисуя картинку, потом другую и тп... и это все будут костыли... вот почему мулит дрим сложнее, чем зыч2
stalker4:

--- Цитата: MetalliC от 07 Май 2014, 00:32:29 ---не было и нет их на пека аппаратных, обычные софтовые стенсильные либо более современные вариации в этом же репертуаре.

--- Конец цитаты ---
Мне на emuplace писали, что аппаратные, это если картой обрабатываются, а софтовые если процем, не знаю бред или нет
Softer:

--- Цитата: stalker4 от 07 Май 2014, 04:50:58 ---
--- Цитата: MetalliC ---не было и нет их на пека аппаратных, обычные софтовые стенсильные либо более современные вариации в этом же репертуаре.
--- Конец цитаты ---


Мне на emuplace писали, что аппаратные, это если картой обрабатываются, а софтовые если процем, не знаю бред или нет

--- Конец цитаты ---
Присоединяюсь к вопросу. CaH4e3 и MetalliC, растолкуйте любителям почему стенсильные тени не могут быть посчитаны аппаратно?
Мы все похоже разное значение в аппаратные\программные вкладываем?
gepar:

--- Цитата: Softer ---Мы все похоже разное значение в аппаратные\программные вкладываем?
--- Конец цитаты ---

Программно - ты сам решаешь вопрос тени и пишешь код который копирует твою текстурку и т.д и т.п как писал Санчез, или подбираешь другой вариант (альтернативу тоже он описал), в общем тень это твои проблемы, у тебя есть место для творчества учитывай только что твоё творчество ещё обсчитывать надо. Ну или используешь какую-то чужую функцию которая состоит тоже из 100500 действий где рисуется тень. Железяка на этом этапе не знает тень ты там рисуешь, гг или рыжого кота, она без понятия что это.
Аппаратно - у железяки есть инструкция типа drwFckngShdw после которой железяка сама беспокоиться об отрисовке тени (по заданным твоими другими инструкциями параметрам), естественно реализовано это всё сверх эффективно и тебе никогда не достигнуть этой производительности методом 1 так как у железной реализации полный доступ ко всему, не надо по 10 раз переключаться между режимами, не надо проверять доступ к памяти и т.д.
P.S Я если что не знаю что там в дримкасте по теням было реализовано и как оно вызывалось, я описал отличие двух понятий вообще и всего-то.
Softer:

--- Цитата: gepar ---Программно - ты сам решаешь вопрос тени и пишешь код который копирует твою текстурку и т.д и т.п как писал Санчез
--- Конец цитаты ---


--- Цитата: gepar ---Аппаратно - у железяки есть инструкция типа drwFckngShdw после которой железяка сама беспокоиться об отрисовке тени (по заданным твоими другими инструкциями параметрам)
--- Конец цитаты ---

Но это всё системы уровней софта. Уровнем выше или уровнем ниже, это всё равно софт. Железка всё равно на любом этапе не знает "тень ты там рисуешь, гг или рыжого кота", она всего лишь железка. Так в чём же тогда главная разница? В более "близкой" связи конечного ПО с железякой, более эффективных расчётах или более простой системе команд с точки зрения программирования?
Вообще странно как-то получается, если ты пользуешься уже готовыми инструкциями микропрограммы на железяке, то аппаратно, а если готовыми инструкциями высокоуровневого API, то это это уже программно, даже если этот API транслирует свои команды в инструкции железяки?
Skay:
Softer, ну возьмите для примеру, процы заточенный под майнинг биткоинов. Вот и тут так же, есть часть, которая расчитана на построение таких проецирований, а какую роль - тень, или там как CaH4e3 приводил прмиер с окнами выше, оно будет выполнять - дело десятое. Суть в том, что специально заточено под это, и ненадо самому никаких алгоритмов обработки придумывать(почти), ненадо самому контролировать обсчет на полу/стенах и т.п. это все делается автоматически и без лишних затрат.
gepar:

--- Цитата: Softer ---Так в чём же тогда главная разница?
--- Конец цитаты ---

Разница в том что железяка "умеет", в данном случае она умеет помещать значение в регистр AX, помещать значение в регистр BX, РИСОВАТЬ ТЕНЬ, увеличивать значение счётчика CX на 1,  складывать значения AX  и BX.

--- Цитата: Softer ---Так в чём же тогда главная разница?
--- Конец цитаты ---


--- Цитата: Softer --- Уровнем выше или уровнем ниже
--- Конец цитаты ---

Разница в том уровнем выше или уровнем ниже, это сказывается на скорости работы и потребляемых ресурсах.
Softer:
Skay, ну вот опять же те же грабли. Какая разница сам ты все необходимые алгоритмы придумал и описал или это сделали за тебя производители железки, а ты только используешь набор инструкций? Суть то та же самая, кто-то всё равно пишет, а остальные пользуются. Разница только в том, на каком уровне описаны необходимые алгоритмы.



Добавлено позже:

--- Цитата: gepar ---Разница в том уровнем выше или уровнем ниже, это сказывается на скорости работы и потребляемых ресурсах.
--- Конец цитаты ---

Понятно  :)

Добавлено позже:
Только вот путаницы в терминологии от этого меньше не стало. Так как не понятно, что имеют в виду разработчики игр на PC, когда добавляют например вот такую настройку:
gepar:
Softer, а фиг его знает что разработчики имели в виду, может вкл/откл. использование какой-то подобной этой фиче.
Я сам не программист игр и графики, из хардварных фич новых процессоров явно разве что шифрование использовал где польза была как по ресурсам так и в виде доп. защиты чтобы ничего не своровало пароль вычитав его из оп в процессе шифрования и т.д.
Softer:

--- Цитата: gepar ---а фиг его знает что разработчики имели в виду, может вкл/откл. использование какой-то подобной этой фиче.
--- Конец цитаты ---

Так в том то и парадоксальность ситуации, что shadow mapping является процессом построения теней, а Nvidia его сама называет Hardware Shadow Mapping, тогда как MetalliC в частности утверждает, что аппаратных теней на PC никогда не было. У меня от всей этой истории когнитивный диссонанс происходит и хотелось бы разобраться.
Skay:

--- Цитата: Softer --- Разница только в том, на каком уровне описаны необходимые алгоритмы.
--- Конец цитаты ---
ну дык в этом вся и разница.
Одно дело железка делается все по одной команде, а другое ты все считаешь пересчитываешь. Это оч большое отличие) Иначе бы не делали бы процов специально заточеные под майнинг (да, можно видеокартами, но это менее эффективно)
Из той же оперы (оч грубый прмиер): работу с  32-битными числами  можно реализовать и на 8битном проце, но скорость выполнения будет совершенно разная. В первом случае для сложения один такт, во втором зависит от того как реализовано, и все равно, на уровень первого не выйти никогда.
В случае про названия в играх аппаратные/софтварные, это из той же оперы что и в эмуляторах соньки, видеоплагин офт/несофт.
CaH4e3:
Кто сходил по ссылке, которую дал гепар - там документ, описывающий, как нвидия предлагает рисовать тени в процессе растеризации, а также во вступлении описано, собственно, как делают тени и почему это сложно.

Граф ускоритель предоставляет некоторый набор функций, которые он умеет делать САМ, то есть аппаратно. Если ты ему сказал, сделай мне карту теней тут и тут - он сделает, но рисовать ее будешь все равно ты своим кодом, а он будет только растеризировать потом аппаратно. То есть в любом случае, рисование теней - это программный метод, выбранный тобой и основанный на возможностях и функционале аппаратуры. И как он будет выглядеть, работать и вообще - зависит от твоей програмной реализации.

Хотя тот же shadow mapping на основе буфера глубины, как описано у нвидии, можно было бы наверное и у дрима сделать также, дримкаст предоставляет такую аппаратную функцию, которой нет в современных ускорителях, а именно modifier volumes. Это в общем случае не тени, это та же самая геометрия, которая рисуется на экране из треугольников, но с уникальными функциями. Вся modifier геометрия не отображается на экране, она меняет параметры освещения и текстурирования полигонов в сцене, которые попадают в поле действия этой геометрии.

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

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

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



собственно, чтобы это мулить на комповых видяхах, приходится несколько проходов со стенсилами делать и никак иначе.
MetalliC:
уфф, как-бы так совсем популярно объяснить...
короче принцип работы Shadow Volumes в кратце -
http://en.wikipedia.org/wiki/File:Shadow_volume_illustration.png
http://www2.rodsoft.org:8080/lifegl/buddha_shadow_volumes.jpg
что мы имеем:
- источник света
- объект(ы) который должен отбрасывать тень, на первом  примере это шарики на втором это статуя
- остальная "сцена" на которую собсно должна отбрасываться тень.

сначала надо рассчитать "объем(ы) затенения" (делается это на процессоре) - фигура(ы) начальная точка которой расположена в источнике света, а грани проходят через точки наших шариков или статуи и уходят фиг знает куда вдаль.
на первой картинке это желтые линии, на второй - оранжевая хрень за статуей только не ограниченная полом а уходящая дальше.
поглядеть на эти "объемы" можно в NullDC, переключив в настройках PVR "Volumes (for debug)"

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

в случае PoverVR2 - нам нужно лишь передать в видеочип вертексы (координаты вершин) всех наших "объемов", а дальше "оно само" всё сделает при рендере.

в простейшем случае для обычных видях нужно -
- отрисовать всю(!) сцену на которую может отбрасываться тень.
- по полученному Z-buffer рендерить полигоны "объемов" с модификацией стенсил-буфера - довольно мутная процедура, с смыслом в том что на выхлопе мы получаем битмап-трафарет тех областей которые нужно затенить.
- по полученному трафарету зачернить нужные пиксели картинки.

в не простейшем случае, если нужно сделать не тупую тень, а менять текстуру или цвет в областях попавших в объем, или там порталы какие-нибудь сделать -
- отрисовать всю сцену с записью только глубины (Збуфера)
- по Збуферу отрендерить объемы и получить трафарет
- по полученному трафарету отрендерить все(!) полигоны с  одними параметрами цвета/текстур/итп (т.е. будут отрисованы только точки которые НЕ попадают в трафарет)
- еще раз отрисовать всё с другими цветами/текстурами, только на этот раз наоборот только те что в трафарет попали.

то есть фактически ВСЁ должно быть отрендеррено аж три раза, и так оно собственно и эмулируется в Demul.

как-то вот так...
Softer:
MetalliC, это всё прекрасно. Но речь то шла о терминологии. Аппаратно/Программно. В случае с PVR тени рисуются аппаратно только потому, что это геометрия с определёнными условиями. А геометрия разумеется рисуется аппаратно. И аппаратными тенями я бы это с трудом назвал. Точно так же как и к "Hardware Shadow Mapping" можно предъявить много претензий по целому комплексу повторяющихся алгоритмов и итоговой эффективности такого подхода в целом.
Короче. Сказать, что на DC аппаратные тени, а на PC не аппаратные у меня язык не поворачивается. Всё зависит от того под каким ракурсом смотреть и какими критериями измерять.
Wind:
Вот знаешь в свое время nv убила 3dfx выпустив geforce первый свой с так называемым аппаратным TL ничего сверх естественного он в себе не нес, причем совсем ничего, но это позволило весьма существенно разгрузить CPU того времени, хотя на cpu можно было бы ничем не хуже обсчитывать трансформацию и гуро-освещением. Суть в том что тени в дриме и есть нечто подобное тому TL т.е. все что нужно это послать полигоны в видюху с замкнутой областью, дальше видюха сама все затемнит где надо и как надо.
В PC ничего нет для построения теней, есть лишь набор алгоритмов по которым можно строить эти тени, посылая дополнительную геометрию по сути с рисунком этой самой тени (это конечно сильно упрощено и даже не очень верно, но примерно оно так).
Так вот если проводить паралелли у 3dfx не было аппаратного TL, но это не значит, что он не мог нарисовать все тоже что geforce, так и тут и те, и другие могут нарисовать одно и тоже, но одни загрузят cpu дополнительными расчетами, а другим хватит слабенького sh4.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии