Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Проекты > Проекты C++

Ответ
 
Опции темы
Старый 19.09.2014, 00:17   #421
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от mr.DIMAS Посмотреть сообщение
В графонии вылез какой-то трудно уловимый баг.

Кароч суть в том что сильно тормозит

IDirect3DDevice9->Present(0,0,0,0)

я погуглил с чем это может быть связано, но так и не нашел ответа. Причем тормоза Present'a прямо пропорциональны разрешению - чем больше тем больше тормоза. Я вообще не могу вкурить в чем косяк. Есть мысли?
Может видеопамять кончилась?

//=============================================

У меня тоже вопрос по шейдеру:

Допустим если я упаковываю глубину таким образом:
(Здесь input.z - это координата во view space)
output.depth = float4( ( input.z - nearZPlane ) / ( farZPlane - nearZPlane ), 1.0f, 1.0f, 1.0f );
То восстановить координаты точки во view space можно таким образом:
(texCoord - это текстурные координаты экранного квада)
const float vz = tex2D( smpDepth, texCoord ).r * ( farZPlane - nearZPlane ) + nearZPlane;
const float vx = ( texCoord.x * 2.0f - 1.0f ) * tan( scrFovX / 2.0f ) * vz;
const float vy = -( texCoord.y * 2.0f - 1.0f ) * tan( scrFovY / 2.0f ) * vz;
То есть таким образом я не использую умножение на матрицу проекции и обратную матрицу проекции при извлечении.
Все верно?
(Offline)
 
Ответить с цитированием
Старый 19.09.2014, 01:24   #422
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Ну вроде да. Но два тангенса разве не будут жрать столько же сколько умножение на матрицу?

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

(Offline)
 
Ответить с цитированием
Старый 19.09.2014, 01:46   #423
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от mr.DIMAS Посмотреть сообщение
Ну вроде да. Но два тангенса разве не будут жрать столько же сколько умножение на матрицу?
Видимо будут. Но всё-равно важно понять, правильно считает или нет. Потому что после изменения SSAO стал немного другим, я вот ищу на что ещё могли повлиять эти изменения.

Из последних изменений:
* Поменял упаковку в G-Buffer с world space на view space, и последующие вычисления во view space'е идут.
* Раньше характер затенения зависел от расстановки Z плоскостей, теперь не зависит, но вот чуть-чуть качество испортилось. С матрицами тогда тоже попробую.

Вот видно что затенения какие то полосатые стали

Нажмите на изображение для увеличения
Название: ssao_scr7.png
Просмотров: 748
Размер:	264.3 Кб
ID:	20910
(Offline)
 
Ответить с цитированием
Старый 19.09.2014, 10:48   #424
radiobutton
Бывалый
 
Регистрация: 16.09.2011
Сообщений: 863
Написано 257 полезных сообщений
(для 546 пользователей)
Ответ: [TrueHorror] - разработка

А че по сюжету?)
(Offline)
 
Ответить с цитированием
Старый 19.09.2014, 17:01   #425
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

А где-то позади был пост про сюжет. Я его и не менял.

Вкратце:

Играем за бывшего шахтера. Он с компашкой занимается разведкой заброшенных шахт на наличие драгоценных металлов. В одну из таких они и отправились. В силу обстоятельств главный герой прибывает на место на неделю позже остальных. Ну и дальше все в игре раскрывается по запискам.

Менять сюжет не вижу смысла, ибо под него все и заточено.
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Izunad (19.09.2014)
Старый 19.09.2014, 18:27   #426
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений
(для 866 пользователей)
Радость Ответ: [TrueHorror] - разработка

(Offline)
 
Ответить с цитированием
Эти 9 пользователя(ей) сказали Спасибо tirarex за это полезное сообщение:
FireOwl (24.09.2014), impersonalis (23.09.2014), Izunad (19.09.2014), mr.DIMAS (19.09.2014), Mr_F_ (19.09.2014), Nex (20.09.2014), pax (20.09.2014), Samodelkin (19.09.2014), SBJoker (19.09.2014)
Старый 19.09.2014, 22:16   #427
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от Samodelkin
С матрицами тогда тоже попробую.
Попробовал - работает.
Исправил полосатость.
Добавил ограничения по дистанции -- теперь вблизи пятно затенения не будет разрастаться, а в далеке затенение будет исчезать.
Немного оптимизировал.

ssao_v01.zip

fx/ssao.fx - сам эффект.
src/* - исходники той штуки на которой тестируется эффект.
bin - там рабочие *.exe debug и release сборки.
bat - батники для сборки (я использовал gcc).
x/rot_texture.jpg - нужная для эффекта текстура, которая рэндомно отклоняет лучи.

В эффекте 4 прохода: G-Buffer, SSAO и два gauss-blur'а по горизонтали и вертикали.

Эффект будет дорабатываться, так что я не знаю почему ты решил использовать отдельные шейдеры -- через эффект можно эффективней взаимодействовать разработчикам движка и шейдеров.
(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо Samodelkin за это полезное сообщение:
mr.DIMAS (19.09.2014), Nerd (19.09.2014), tirarex (19.09.2014)
Старый 19.09.2014, 23:17   #428
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

На самом деле я уже пожалел о своем выборе. Но мне ничего не мешает прикрутить сасао через эффект. Сейчас я в основном занимаюсь ̶у̶н̶и̶в̶е̶р̶о̶м̶ моделированием и текстурированием, так что в движок пока не лезу. Второй уровень( шахта ) и третий уровень( заброшенный подземный научный центр ) стали больше на 50%. Второй доделан полностью, третий на 90%. Четвертый ( канализация ) сделал геометрию на 50 процентов. Пятый( снова шахта, но больше ) только на бумаге, и последний( лес ) еще даже не зарисовал. Кароч вот как-то так.
__________________

(Offline)
 
Ответить с цитированием
Эти 3 пользователя(ей) сказали Спасибо mr.DIMAS за это полезное сообщение:
LLI.T.A.L.K.E.R. (24.09.2014), Samodelkin (20.09.2014), tirarex (20.09.2014)
Старый 23.09.2014, 00:33   #429
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

А что лучше делать DirectInput или XInput?
Чуток почитал MSDN, в целом суть такая что XBox 360 контроллеры и другие новые имеют лучшую совместимость с XInput, но остались еще legacy устройства, которым нужен DirectInput.
Сам я пока пользовался только DirectInput, и в случае клавиатуры и мыши, которые представляются как виртуальные унифицированные устройства, ещё ничего, но вот когда дело доходит до геймпадов и других устройств, с которыми нужно напрямую работать -- в коде какой то ужас начинается: чтобы изменить один параметр, нужно запускать перебор объектов, передавать в функцию перебора каллбек, в каллбек передавать указатели с контектом и параметрами и т.д. и т.п.
В XInput же обещают всё намного удобней и проще.
Вот.
(Offline)
 
Ответить с цитированием
Старый 23.09.2014, 01:35   #430
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

Я на сосноли\соснольщиков с геймпадами не ориентируюсь поэтому DirectInput'a хватает. хз вообще что взять, надо XInput поковырять и тогда поймешь.
__________________

(Offline)
 
Ответить с цитированием
Старый 23.09.2014, 02:40   #431
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от mr.DIMAS Посмотреть сообщение
Я на сосноли\соснольщиков с геймпадами не ориентируюсь поэтому DirectInput'a хватает. хз вообще что взять, надо XInput поковырять и тогда поймешь.
У меня геймпад на ПК есть.
На самом деле он удобен не только для игр со сложным управлением, а просто хотя бы чтобы сидеть на диване или в кресле.
Даже та же консоль -- это просто железка: тебе никто не мешает делать для неё такие же игры как для ПК.
Тем более что скоро Стим-Машины и их аналоги появятся.
(Offline)
 
Ответить с цитированием
Старый 23.09.2014, 18:48   #432
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Посмотрел XInput -- он сделан для Xbox 360 контроллеров и прочих совместимых штук. Клавиатуры и мыши там нет. Но работа с контроллером действительно намного удобней. Так же поддерживаются дополнительные возможности, такие как вибрация, управление гарнитурами подключёнными к контроллеру, управление беспроводными контроллерами и т.д. Остаётся выяснить какое количество несовместимых с XInput контроллеров сейчас существует и делать вывод о целесообразности использовать DirectInput рядом с XInput (а так делать можно).

А вот насчёт клавиатуры и мыши (выше в теме уже где-то было) -- DirectInput для них устарел и лучше использовать сообщения Windows (имхо для шутеров-то можно и оставить DirectInput для мыши например).

Ещё я видел что в Windows 8 (которая поддерживает концепцию "одна система на всех окнах") используют другие методы ввода, учитывающие как мышь, так и сенсорный экран и другие устройства ввода.
(Offline)
 
Ответить с цитированием
Старый 24.09.2014, 01:03   #433
Nuprahtor
Элита
 
Аватар для Nuprahtor
 
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений
(для 3,923 пользователей)
Ответ: [TrueHorror] - разработка

Делай для XInput, для директинпута есть тулзы типа https://code.google.com/p/x360ce/ , которые позволяют назначить кнопки и оси любого джойстика так, чтобы игра думала что это XInput устройство
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (24.09.2014)
Старый 24.09.2014, 01:25   #434
Samodelkin
Мастер
 
Регистрация: 12.01.2009
Сообщений: 979
Написано 388 полезных сообщений
(для 631 пользователей)
Ответ: [TrueHorror] - разработка

Сообщение от Nuprahtor Посмотреть сообщение
Делай для XInput, для директинпута есть тулзы типа https://code.google.com/p/x360ce/ , которые позволяют назначить кнопки и оси любого джойстика так, чтобы игра думала что это XInput устройство
А как обстоят дела с контроллерами в Linux?
(Offline)
 
Ответить с цитированием
Старый 24.09.2014, 15:24   #435
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Ответ: [TrueHorror] - разработка

У себя в движке использую свою корявую библу. Тащит мышь, клаву. Есть поддержка KeyUp, KeyDown, KeyHit, MouseDown, MouseUp, MouseHit, позиция мыши относительно начала клиентской области окна. Мне хватает с головой.
Вложения
Тип файла: rar MagicInput.rar (2.9 Кб, 271 просмотров)
__________________

(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Samodelkin (24.09.2014)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 12:21.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com