![]() |
Ответ: [TrueHorror] - разработка
Цитата:
//============================================= У меня тоже вопрос по шейдеру: Допустим если я упаковываю глубину таким образом: (Здесь input.z - это координата во view space) Код:
output.depth = float4( ( input.z - nearZPlane ) / ( farZPlane - nearZPlane ), 1.0f, 1.0f, 1.0f ); (texCoord - это текстурные координаты экранного квада) Код:
const float vz = tex2D( smpDepth, texCoord ).r * ( farZPlane - nearZPlane ) + nearZPlane; Все верно? |
Ответ: [TrueHorror] - разработка
Ну вроде да. Но два тангенса разве не будут жрать столько же сколько умножение на матрицу?
Насчет моего вопроса - я сам дурак, забыл выключить альфатест перед вторым проходом дефереда( и все из-за рефакторинга ). |
Ответ: [TrueHorror] - разработка
Вложений: 1
Цитата:
Из последних изменений: * Поменял упаковку в G-Buffer с world space на view space, и последующие вычисления во view space'е идут. * Раньше характер затенения зависел от расстановки Z плоскостей, теперь не зависит, но вот чуть-чуть качество испортилось. С матрицами тогда тоже попробую. Вот видно что затенения какие то полосатые стали :crazy: Вложение 20910 |
Ответ: [TrueHorror] - разработка
А че по сюжету?)
|
Ответ: [TrueHorror] - разработка
А где-то позади был пост про сюжет. Я его и не менял.
Вкратце: Играем за бывшего шахтера. Он с компашкой занимается разведкой заброшенных шахт на наличие драгоценных металлов. В одну из таких они и отправились. В силу обстоятельств главный герой прибывает на место на неделю позже остальных. Ну и дальше все в игре раскрывается по запискам. Менять сюжет не вижу смысла, ибо под него все и заточено. |
Ответ: [TrueHorror] - разработка
|
Ответ: [TrueHorror] - разработка
Цитата:
Исправил полосатость. Добавил ограничения по дистанции -- теперь вблизи пятно затенения не будет разрастаться, а в далеке затенение будет исчезать. Немного оптимизировал. ssao_v01.zip fx/ssao.fx - сам эффект. src/* - исходники той штуки на которой тестируется эффект. bin - там рабочие *.exe debug и release сборки. bat - батники для сборки (я использовал gcc). x/rot_texture.jpg - нужная для эффекта текстура, которая рэндомно отклоняет лучи. В эффекте 4 прохода: G-Buffer, SSAO и два gauss-blur'а по горизонтали и вертикали. Эффект будет дорабатываться, так что я не знаю почему ты решил использовать отдельные шейдеры -- через эффект можно эффективней взаимодействовать разработчикам движка и шейдеров. |
Ответ: [TrueHorror] - разработка
На самом деле я уже пожалел о своем выборе. Но мне ничего не мешает прикрутить сасао через эффект. Сейчас я в основном занимаюсь ̶у̶н̶и̶в̶е̶р̶о̶м̶ моделированием и текстурированием, так что в движок пока не лезу. Второй уровень( шахта ) и третий уровень( заброшенный подземный научный центр ) стали больше на 50%. Второй доделан полностью, третий на 90%. Четвертый ( канализация :-D) сделал геометрию на 50 процентов. Пятый( снова шахта, но больше ) только на бумаге, и последний( лес ) еще даже не зарисовал. Кароч вот как-то так.
|
Ответ: [TrueHorror] - разработка
А что лучше делать DirectInput или XInput?
Чуток почитал MSDN, в целом суть такая что XBox 360 контроллеры и другие новые имеют лучшую совместимость с XInput, но остались еще legacy устройства, которым нужен DirectInput. Сам я пока пользовался только DirectInput, и в случае клавиатуры и мыши, которые представляются как виртуальные унифицированные устройства, ещё ничего, но вот когда дело доходит до геймпадов и других устройств, с которыми нужно напрямую работать -- в коде какой то ужас начинается: чтобы изменить один параметр, нужно запускать перебор объектов, передавать в функцию перебора каллбек, в каллбек передавать указатели с контектом и параметрами и т.д. и т.п. В XInput же обещают всё намного удобней и проще. Вот. |
Ответ: [TrueHorror] - разработка
Я на сосноли\соснольщиков с геймпадами не ориентируюсь поэтому DirectInput'a хватает. хз вообще что взять, надо XInput поковырять и тогда поймешь.
|
Ответ: [TrueHorror] - разработка
Цитата:
На самом деле он удобен не только для игр со сложным управлением, а просто хотя бы чтобы сидеть на диване или в кресле. Даже та же консоль -- это просто железка: тебе никто не мешает делать для неё такие же игры как для ПК. Тем более что скоро Стим-Машины и их аналоги появятся. |
Ответ: [TrueHorror] - разработка
Посмотрел XInput -- он сделан для Xbox 360 контроллеров и прочих совместимых штук. Клавиатуры и мыши там нет. Но работа с контроллером действительно намного удобней. Так же поддерживаются дополнительные возможности, такие как вибрация, управление гарнитурами подключёнными к контроллеру, управление беспроводными контроллерами и т.д. Остаётся выяснить какое количество несовместимых с XInput контроллеров сейчас существует и делать вывод о целесообразности использовать DirectInput рядом с XInput (а так делать можно).
А вот насчёт клавиатуры и мыши (выше в теме уже где-то было) -- DirectInput для них устарел и лучше использовать сообщения Windows (имхо для шутеров-то можно и оставить DirectInput для мыши например). Ещё я видел что в Windows 8 (которая поддерживает концепцию "одна система на всех окнах") используют другие методы ввода, учитывающие как мышь, так и сенсорный экран и другие устройства ввода. |
Ответ: [TrueHorror] - разработка
Делай для XInput, для директинпута есть тулзы типа https://code.google.com/p/x360ce/ , которые позволяют назначить кнопки и оси любого джойстика так, чтобы игра думала что это XInput устройство
|
Ответ: [TrueHorror] - разработка
Цитата:
|
Ответ: [TrueHorror] - разработка
Вложений: 1
У себя в движке использую свою корявую библу. Тащит мышь, клаву. Есть поддержка KeyUp, KeyDown, KeyHit, MouseDown, MouseUp, MouseHit, позиция мыши относительно начала клиентской области окна. Мне хватает с головой.
|
Часовой пояс GMT +4, время: 21:20. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot