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

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

--- Цитата: Wind от 12 Июнь 2009, 10:28:58 --- т.е. матрицы пересчитывают вертексы в оконые координаты вот и все

--- Конец цитаты ---
Ну не могут они без угла обзора пересчитыватсья, ну никак. Иначе получится то, что у вас и получилось. Курить матрицу проекции все равно надо, хоть на софте, хоть на гпу, хоть на чем.
Wind:
Ну рядом с прокционо матрицей лежат два флоат числа одно кажись 10 другое 1000, они не меняються, только в тунеде другии но там и ингейма практически не видно, возможно они что-то значат, но что значат я лично не знаю, больше ничего более менее похоже на углы и координаты или уже х.з что не видно. Я это к тому что если угол есть то он должен где-то и как-то передаваться я думаю
DreamZzz:

--- Цитата ---Ну рядом с прокционо матрицей лежат два флоат числа одно кажись 10 другое 1000
--- Конец цитаты ---
Похоже на плоскости отсечения по z. Первое znear, второе zfar.


--- Цитата ---Я это к тому что если угол есть то он должен где-то и как-то передаваться я думаю
--- Конец цитаты ---
Попробуй для начала статический, в пределах от 30 до 90 градусов. Обычно fov в играх делается константой и меняется очень редко (может меняться если используется снайперский прицел или всякие эффекты).

Wind:

--- Цитата: DreamZzz от 12 Июнь 2009, 11:31:31 ---Похоже на плоскости отсечения по z. Первое znear, второе zfar.

--- Конец цитаты ---
согласен, но не уверен


--- Цитата: DreamZzz от 12 Июнь 2009, 11:31:31 ---Попробуй для начала статический, в пределах от 30 до 90 градусов. Обычно fov в играх делается константой и меняется очень редко (может меняться если используется снайперский прицел или всякие эффекты).

--- Конец цитаты ---
Ну мог бы попробывать если бы знал как домножить на него :)
DreamZzz:

--- Цитата ---Ну мог бы попробывать если бы знал как домножить на него
--- Конец цитаты ---
Ну у тебя же есть видовая матрица (та, где позицию камеры задаешь). Тебе надо эту видовую матрицу перемножить с матрицей проекции. Матрицу проекции проще всего не вычислять самому, а получить через функции DX или GL.

В DX это делается так:
D3DXMATRIX matProj;
D3DXMatrixPerspectiveFovLH(&matProj, fovy, aspect, znear, zfar); // fovy в радианах

В GL функция Perspective не возвращает матрицу, а напрямую задает ее. В этом случае можно сначала задать ее, а потом получить с помощью GetProjectionMatrix.
Wind:
Ну это понятно, но мне бы лучше вариант, как самому расчитать без ф-ий лишних, это мне может дать что-нибудь :), например какой-нибудь упрощение я еще сам не знаю что, вообщем я давно понял нужно сначала понять что ты хочешь сделать а уж потом это сделать
CaH4e3:
Там нет проекционной матрицы в ее полном виде, как для того же frustrum в ogl, потому что нет такого количества параметров. Ширина и высота окна в видовой плоскости берется как размер стандартного экрана всегда. Максимум, что там может передаваться - расстояние от экранной плоскости (ноль по Z) до координаты точки наблюдателя в плоскости (-расстояние по Z). Для простейшего случая камеры в координатах (0, 0, -dist) не надо матриц, надо простейшую пропорцию, собственно что сейчас и работает. И она не всегда дает положительные результаты, потому что скорее всего должен быть еще как минимум один параметр (0, yc, -dist) для вычисления проекции, про который как раз пока ничего не известно и который чутка усложнит функцию перспективного преобразования, хотя все равно матрицы тут тоже не обязательны.
DreamZzz:

--- Цитата: Wind от 12 Июнь 2009, 12:18:39 ---Ну это понятно, но мне бы лучше вариант, как самому расчитать без ф-ий лишних, это мне может дать что-нибудь :), например какой-нибудь упрощение я еще сам не знаю что, вообщем я давно понял нужно сначала понять что ты хочешь сделать а уж потом это сделать

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


--- Цитата: CaH4e3 от 12 Июнь 2009, 12:41:31 ---Там нет проекционной матрицы в ее полном виде

--- Конец цитаты ---
Если есть координаты в 3d, надо их как-то проецировать на 2d. Сейчас у вас идет простое параллельное проецирование, результат не радует. Значит проецирование не параллельное. Значит нужна матрица проекции.

Wind:
Понимаешь в чем проблема от ортогональной проекции мы отказаться не можем, помните самые первые скрины, где меню и т.п. феньки, так вот это все передаеться старым добрым способом т.е. в экраных координатах, но только через новое дма наоми2, это я к чем а к тому что часть картинки передаеться как раньше (ну подчти как раньше), а вот другая часть с этими матрицами, кстати сказать после умножения на матрицы картинка перевернутая по совсем мне не понятным причинам, поэтому ее еще и приходиться пока что руками вертеть. Вообщем проблем много, решений не видно
DreamZzz:
Ну понятно что спрайты никто в 3d вертеть не будет. Надо разделять, спрайты ортогонально, остальное через проекцию. В данных они должны отличаться, проблем с этим быть не должно.
Wind:
Да разделить можно конечно, был бы толк, я пробывал glFrustim вообщем с ней не увидел ничего хорошего
DreamZzz:

--- Цитата: Wind от 12 Июнь 2009, 13:57:16 ---Да разделить можно конечно, был бы толк, я пробывал glFrustim вообщем с ней не увидел ничего хорошего

--- Конец цитаты ---
gluPerspective пробовал?
Wind:
нет, ибо это уже не гуд :) глу функции не гуд, они вообещем-то и не нужны не кому
DreamZzz:

--- Цитата: Wind от 12 Июнь 2009, 14:41:52 ---нет, ибо это уже не гуд :) глу функции не гуд, они вообещем-то и не нужны не кому

--- Конец цитаты ---
0_0 Я даже растерялся, что на это ответить. Либо ты сразу отмел мою версию, что дело в перспективе, либо хз. Ладно бы ты попробовал, показал результат и сказал, что так-то и так-то, дело не в перспективе, потому-то и потому-то. В OpenGL единственный аналог D3DXMatrixPerspectiveFovLH это gluPerspective. А glFrustum это тот еще анахронизм и мазохизм. Ну, дело хозяйское.

Вот тут глянь, аналог gluPerspective через glFrustum.
http://www.gamedev.net/community/forums/topic.asp?topic_id=180495
Wind:
Ну могу повторить дейстивие gluPerspective обычными огл ф-иями, но вот был бы толк, я просто написал про глу к тому что ну не вижу смысла цеплять лишний мусор, когда можно обойтись и без него

Добавлено позже:
Попробывал поиграться таки с gluPerspective, вообщем результат отрицательный, даже скриншота не вышло сделать вразумительного, увы все что можно пока сделать так это уменьшать x,y в зависимости от удалености z. Но результат так себе на оригинал не шибко похоже
DreamZzz:
Можно как-то получить доступ к исходникам и покурить это дело? Если это дело раскуривается в плагине, достаточно исходников плагина.
Wind:
Заходи на irc.newnet.net / #demul, обсудим
Paragon:
А можно где взять список поддерживаемых игр наоми?
CaH4e3:
Можно где
http://forum.emu-russia.net/viewtopic.php?p=6767#p6767
Paragon:
Вроде тоже самое что на нуле! А эмуляция наоми 2 возможна или это шутка?
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

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