Unable to use instanced stereo rendering ошибка wild life

Ошибка DirectX – далеко не редкое явление. Эти библиотеки весьма чувствительны к драйверам, настройкам операционной системы и прочим штукам. Поэтому сбои случаются довольно часто. И нужно знать все о том, как им противостоять. Рассмотрим самые популярные ситуации.

Содержание

  • Устранение неполадок
    • DirectX function device CreateTexture2D
    • Unable to create DirectX 11 device
    • The Launcher cannot query DirectX
    • DirectX function device createbuffer
    • Не удается создать устройство DirectX
    • DirectX encountered an unrecoverable error
    • Your graphics card does not support DirectX 11 features
  • Заключение

Устранение неполадок

В данном материале мы рассмотрим те сбои ДиректХ, которые встречаются чаще всего в повседневной жизни. Естественно, мы расскажем и о том, как их исправить. Но в тексте будет много сложного. Так что внимательно читайте инструкции.

DirectX function device CreateTexture2D

Если появляется ошибка «DirectX function device CreateTexture2D», то, вероятнее всего, виноваты драйвера видеокарты. Бывает так, что в старых драйверах не хватает куска кода, который требуется для нормальной работы видеокарты с той или иной версией библиотеки. Это случается из-за недосмотра разработчиков. Однако в новых версиях ПО ошибка может быть устранена.

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

Также этот шаг помогает со сбоем Fatal DirectX Error.

Сейчас мы рассмотрим вариант обновления с помощью «Диспетчера устройств» Windows:

  1. Щелкаем по кнопке «Пуск» правой кнопкой мыши и дожидаемся появления контекстного меню.
  2. В меню ищем «Диспетчер устройств» и нажимаем на этот пункт.Пункт Диспетчер устройств в меню Пуск
  3. Появится окно со списком установленного оборудования. Ищем «Видеоадаптеры» и щелкаем по данной записи.
  4. Находим имя своей видеокарты и щелкаем по нему правой кнопкой мыши.
  5. В контекстном меню выбираем «Обновить драйвер».Пункт Обновить драйвер в Диспетчере устройств
  6. Запустится мастер обновления. Необходимо щелкнуть по кнопке «Автоматический поиск драйверов в сети».

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

Unable to create DirectX 11 device

А вот ошибка «Unable to create DirectX 11 device», наоборот, может появиться после обновления драйвера, если в его коде есть какой-то баг. Если это сбой обнаружился только после обновления, то это значит, что в новой версии ПО присутствует какой-то баг, мешающий нормальной работе графического адаптера и системных библиотек.

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

  1. Опять переходим раздел «Видеоадаптеры» в «Диспетчере задач».
  2. Теперь необходимо найти имя нашей графической карты и кликнуть по ней правой кнопкой мыши.
  3. В появившемся меню просто выбираем «Свойства».
  4. Перемещаемся на вкладку «Драйвер».
  5. Нажимаем на кнопку «Откатить».Пункт Откатить драйвер в Диспетчере устройств
  6. Подтверждаем действие путем нажатия на кнопку «ОК».

Как водится, после работы с драйверами обязательно нужно перезагрузить компьютер. Иначе система просто не увидит другой драйвер и попытается работать со старым, что приведет к падению ОС. После рестарта можно проверять игру на наличие ошибок. Если и этот вариант не помог, то у нас в запасе есть еще несколько.

The Launcher cannot query DirectX

Весьма часто в окошке с ошибкой появляется текст The Launcher cannot query DirectX в L.A Noire. Что делать в этом случае? Вероятнее всего, на компьютере хозяйничают вирусы. Именно из-за них может получиться такой казус. И это еще не предел. Огромное количество вирусов на компьютере вполне может повесить всю ОС. Так что стоит воспользоваться каким-либо антивирусом, чтобы проверить компьютер

Еще одно решение – обновление компонента Microsoft .NET Framework до версии 4.7.1:

  1. Откройте эту ссылку.
  2. Кликните по кнопке «Скачать».Скачать Microsoft .NET Framework 4.7.1
  3. Дождитесь завершения загрузки.
  4. Теперь запустите полученный файл.
  5. Выполните инсталляцию компонента.

DirectX function device createbuffer

Для появления ошибки «DirectX function device createbuffer» тоже имеется свое объяснение. Если на вашем компьютере находились полчища вирусов, то вполне вероятно, что они могли повредить некоторые системные файлы, ответственные за работу библиотек DirectX. Отсюда и постоянные ошибки при запуске той или иной игрушки. Также могут возникнуть конфликты в работе драйверов и компонентов библиотек.

Однако даже если файлы сильно повреждены, есть возможность вернуть все на круги своя. Для восстановления элементов даже не нужно никаких дополнительных программ. Достаточно командной строки. Бояться ее не стоит. Если все выполнять в строгом соответствии с инструкцией, то ничего страшного не случится. А вот и она:

  1. Открываем меню «Пуск» при помощи соответствующей кнопки в панели задач.
  2. Далее щелкаем по папке «Служебные».
  3. Находим пункт «Командная строка» и кликаем по нему правой кнопкой мыши.
  4. Появится меню, в котором нужно выбрать опцию «Запуск от имени администратора».Запустить Командную строку из меню Пуск
  5. В главном окне консоли вводим sfc /scannow и жмем на кнопку Enter.Команда sfc scannow в Командной строке

Проверка файлов и их восстановление займет около 10-15 минут. Не забудьте, что после окончания проверки обязательно нужно будет перезагрузить компьютер. Иначе в восстановлении не будет никакого толку. После рестарта можно проверять работоспособность библиотек DirectX и любимой игрушки. Если это не помогло, то остается всего один вариант.

Не удается создать устройство DirectX

Если «Не удается создать устройство DirectX», то такое поведение может быть также связано с работой антивируса или системного брандмауэра. Эти программы любят блокировать все подряд. Даже несмотря на то, что перед ними вовсе не вредоносный объект. Вероятно, они блокируют и некоторые компоненты библиотек Директ Икс.

Самым правильным шагом будет временное отключение защиты. Достаточно это сделать для антивируса. Просто найдите его иконку в трее Windows, кликните по ней ПКМ и выберите соответствующую опцию.Пункт Приостановить защиту в меню ESET Internet Security

DirectX encountered an unrecoverable error

При появлении ошибки с текстом «DirectX encountered an unrecoverable error» остается только одно – переустановка. Ведь, вероятнее всего, вирусы повредили какие-то файлы самих библиотек. Поэтому и появляются ошибки такого типа. И именно поэтому видеокарта не может нормально работать с DirectX. Если это действительно так, то приятного в этом мало.

Здесь поможет только полная переустановка компонента. Данная процедура очень простая в исполнении, ведь от пользователя требуется просто скачать и запустить специальную утилиту. Подробности о ней изложены в отдельной статье, с которой мы и предлагаем вам ознакомиться. Это же действие нередко спасает и при сбое DirectX error 0x887a0004.

Your graphics card does not support DirectX 11 features

Некоторые ошибки указывают на аппаратную проблему. Да, именно на ту, которая связана с железом компьютера. И здесь мы вряд ли что-нибудь сможем сделать.

Ошибка с текстом Your graphics card does not support DirectX 11 features недвусмысленно говорит о том, что у вас слишком древний графический адаптер, который не поддерживает DirectX 11. И такое действительно случается. Под раздачу даже попадают видеокарты 2011 года выпуска. И неудивительно. Ведь они поддерживают только версию 10.1.

Решение проблемы простое. Нужно пойти в магазин и купить новую видеокарту. Есть еще один вариант: отказаться от идеи запуска той игры, которая выдала такую ошибку. Все равно ничего не получится до тех пор, пока вы не обновите свое оборудование. Эту ошибку исправить невозможно другими способами.

Заключение

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

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

Mature Content

This post contains mature content and may not be appropriate for certain viewers. To continue, confirm that you’re over 18.

Go to Home

no we don’t owe them anything. those people that fought and died were not private citizens from france, spain, or the netherlands. the patriots were backed by the military of those nations. (i don’t see any of kings signatures on the deceleration of america anywhere.) we owe squat to them. and if it’s a game of who owes what, then all of europe can bow down and kiss out just over 50% mayonnaise-skin; just under 50% melting pots ass.

your statement isn’t all wrong, but it’s not what you think it is. they backed us up. they participated in classic warfare, “the enemy of my enemy, is my friend.” if you read up enough you’ll find out why they participated in helping us gain independence from the british, and it has nothing to do with your claims of us having to owe them. it has everything to do with the fact those nations were colonizing the world, and one less place for the british rule, is better for their own prospects, potential trade, future, ect.. not because they supported independence from monarchical rule.
mater of fact if we owe anyone then we owe morocco a debt of gratitude. being that it was the first nation to recognize our independence, and open it’s ports to trade.
so uhhh yea! you stfu, and stick to name calling with your low level character boo boo ass defense. have a wonderful life. go read more history, your public school education isn’t enough, and well never be enough. also your comment is far more revealing about you, and how you feel about things, than it is about pointing the finger at some random commenter. id wager you are balding, or starting to bald already, and probably hate watching BBC get swallowed up, by everyone in porn. i’d even wager that you have a hard time separating porn from reality.

Epic Developer Community Forums

Loading


Время от времени при запуске игры Wild Life могут возникать различные проблемы, такие как вылеты, торможения и невозможность запуска. Но не отчаивайтесь — есть несколько простых шагов, которые вы можете предпринять, чтобы решить эти проблемы. Попробуйте эти простые шаги, чтобы улучшить производительность и запустить игру снова. Если проблема все еще не решена, обратитесь за помощью в службу техподдержки игры или специалистам по обслуживанию ПК.

Системные требования

Проверьте, соответствуют ли системные требования игры вашему ПК. Убедитесь, что ваш ПК соответствует требованиям минимальной конфигурации для запуска игры, включая операционную систему, объем ОЗУ и процессор:
Minimum:

  • Requires a 64-bit processor and operating system
  • OS: Windows 10
  • Processor: AMD Ryzen 5 2600
  • Memory: 8 GB RAM
  • Graphics: GeForce GTX 1060
  • DirectX: Version 11
  • Storage: 25 GB available space
  • Sound Card: On-board

Бесконечная загрузка


Обновите драйверы вашей видеокарты. Неправильно установленные или устаревшие драйверы могут стать причиной проблем с игрой Wild Life. Проверьте, имеете ли вы последние версии драйверов для вашей графической карты, и установите их.

  1. Для пользователей
    NVIDIA
  2. Для пользователей AMD

DirectX

Многие игры, в том числе и Wild Life требуют установленный DirectX. Для загрузки посетите
официальный сайт.

Microsoft Visual C++

Для качественной игры в Wild Life без зависаний и вылетов желательно установить последние опубликованные библиотеки Microsoft Visual C++. Установить их можно с сайта Microsoft.

Настройте файл подкачки

Если игра Wild Life часто вылетает, то вам может помочь включение файла подкачки, сделать это можно так:

  1. Нажмите комбинацию клавиш Win+R и щелкните “ОК”.
  2. Переключитесь на вкладку “Дополнительно” и нажмите “Параметры”.
  3. В данном разделе найдите пункт “Дополнительно” и выберите “Изменить”.
  4. Снимите галочку с опции “Автоматически выбирать объем файла подкачки” и нажмите “Указать размер”.
  5. Введите минимальный и максимальный объем в МБ и кликните “Задать”.

После проведенных изменений система попросит выполнить перезагрузку компьютера — щелкните “ОК”. После
перезагрузки устройства все заданные изменения вступят в силу.

Включение режима высокой производительности

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

  1. Перейти «Параметры > Система > Питание и спящий режим».
  2. Нажать «Дополнительные параметры питания».
  3. В появившемся окне нажмите на стрелку «Показать дополнительные схемы».
  4. Выберите вариант «Высокая производительность».

Закройте лишние программы

Проверьте, запущены ли все необходимые программы и службы. Некоторые приложения могут конфликтовать с играми и вызывать проблемы. Закройте все приложения, которые могут мешать или попробуйте перезагрузить ПК.

Проверьте соединение с интернетом

Если вы играете в онлайн-игру, убедитесь, что ваше интернет-соединение стабильно и быстро. Скорость интернета может влиять на стабильность соединения и производительность игры.

Установите игру на SSD

Это позволит повысить скорость подгрузки локаций, а также уберет множество подвисаний и лагов. Больше всего получают преимущество игры с большим открытым миром. Систему желательно тоже устанавливать на SSD.

Проверьте целостность файлов игры

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

Где купить игру Wild Life

Игра Wild Life доступна для приобретения на площадке Steam. Если у вас не получается найти ее там, скорей всего она недоступна в вашем регионе.

Уменьшите настройки графики

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

Проверьте наличие обновлений для игры

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

Удаление мусора

Чем больше мусора на диске, тем меньше свободного места остается для работы системы и приложений.
Банальный перенос игры на SSD может не помочь так как этот диск будет уже сильно заполнен.
Перенесите такие папки как «Документы» и «Загрузки» на жёсткий диск, да возможно работа с этими папками замедлится, но это может значительно помочь.
Так же увеличение объема SSD диска как бы это банально не было, но тоже сильно помогает, на ПК где вы собираетесь играть должен стоять как минимум 240Гб диск,
(хотя прям большой разницы нет, это просто небольшая рекомендация) в идеале диск SSD на 512гб и HDD такого же объема. Этого хватит как для игр, так и работы.
Кстати, SSD диски М2 куда быстрее стандартных SATA. Но в вашей материнской плате должен быть соответствующий разъем. Просто найдите тех. характеристики своей материнской платы и
поищите есть ли там разъем для M2.

Апгрейд железа

Если вы продолжаете испытывать проблемы с производительностью после всех вышеперечисленных мер, то возможно, нужно обновить железо. Увеличение ОЗУ,
замена видеокарты или процессора может помочь ускорить работу компьютера и повысить FPS в играх. Если ваш ПК собирался не вами лично, но он собран под возможный апгрейд,
то стоит поискать в интернете с какими видеокартами и процессорами совместима ваша материнская плата. Так же увеличение объема SSD и HDD может помочь как и упоминалось ранее.

Отключите визуальные эффекты в Windows

(В разных версиях Windows некоторые пункты могут быть названы по другому)

  1. Нажмите одновременно клавиши «Win» и «R» на клавиатуре, чтобы открыть окно «Выполнить».
  2. Введите команду «sysdm.cpl» и нажмите «ОК».
  3. Перейдите на вкладку «Дополнительно».
  4. В разделе «Производительность» нажмите кнопку «Настройки».
  5. Выберите опцию «Предпочтения для производительности».
  6. Снимите все флажки, кроме «Сглаживание шрифтов» и «Сглаживание краев экранного шрифта».
  7. Нажмите «Применить» и «ОК», чтобы сохранить изменения.
  8. После того как вы выполнили все эти шаги, ваш компьютер отключит все визуальные эффекты, которые
    приводят к снижению FPS в видеоиграх и замедлению работы ПК.

Обратите внимание: отключение визуальных эффектов может сделать ваш компьютер более быстрым, но также может изменить внешний вид Windows. Если вам не нравится новый внешний вид ОС, вы можете вернуться к стандартным параметрам в любое время, повторив вышеуказанные шаги и выбрав опцию «Рекомендуемые параметры».

Ограничение частоты обновления монитора

(В разных версиях Windows некоторые пункты могут быть названы по другому)

  1. Нажмите ПКМ на рабочем столе и выберите «Панель управления».
  2. В разделе «Аппарат и звук» выберите «Экран».
  3. На странице «Экран» выберите «Разрешение экрана» и нажмите на кнопку «Дополнительные параметры».
  4. Во вкладке «Монитор» найдите раздел «Частота обновления экрана» и выберите нужное значение из
    выпадающего списка.
  5. Нажмите «ОК», чтобы сохранить изменения.


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

Убираем лишнее из автозагрузки

(В разных версиях Windows некоторые пункты могут быть названы по другому)

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

  1. Нажмите клавишу «Win» + «R» на клавиатуре, чтобы открыть окно «Выполнить».
  2. Введите команду «shell:startup» в поле «Открыть» и нажмите «ОК». Это откроет папку «Автозагрузка».
  3. Удалите ярлык программы или приложения, которые вы не хотите, чтобы запускались автоматически. Вы можете
    сделать это, щелкнув правой кнопкой мыши по ярлыку и выбрав «Удалить» или перетащив ярлык в корзину.
  4. Если вы хотите отключить программу или приложение временно, но не хотите его удалить полностью, вы
    можете перенести ярлык из папки «Автозагрузки» в другую папку.
  5. После того как вы удалите или переместите ярлыки приложений или программ, перезапустите компьютер, чтобы
    изменения вступили в силу.


Эти шаги помогут вам убрать автоматически открывающиеся приложения или запускающуюся программу в Windows при включении компьютера.

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

zxz

Gremlin
Posts: 184
Joined: Sat Apr 16, 2016 9:25 pm
x 19

[2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Hello!

I am trying out the instanced stereo support in 2.2 (GL3Plus RS). For the most part it seems to be working well, but I have found a couple of issues.

1. The Unlit shaders seem to be missing support for instanced stereo. Am I correct in this assumption? I suppose that only some smaller shader modifications are missing, although I am somewhat lost in all the macro expansion stuff going on.

2. Is there some nice way of handling instancing together with quad passes, for example for sky rendering? As an example, can a setup similar to TutorialSky_Postprocess be adapted to handle both instanced and non-instanced rendering?

Thanks

zxz

Gremlin
Posts: 184
Joined: Sat Apr 16, 2016 9:25 pm
x 19

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by zxz » Thu Jun 04, 2020 10:26 pm

zxz wrote: ↑Wed Jun 03, 2020 3:13 pm
2. Is there some nice way of handling instancing together with quad passes, for example for sky rendering? As an example, can a setup similar to TutorialSky_Postprocess be adapted to handle both instanced and non-instanced rendering?

Hmm. I suppose that the quad pass must be adjusted to draw two quads with the camera directions of each individual eye’s frustum corners. Ogre::Camera doesn’t seem to provide corners for both eyes, so some code needs to be added to compute those using the eye projection matrices.

User avatar

dark_sylinc

OGRE Team Member
OGRE Team Member
Posts: 5161
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1219
Contact:

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by dark_sylinc » Fri Jun 05, 2020 1:10 am

Hi!

We had issues trying to get instanced stereo to work with «sky as a postprocess» technique (there’s the clipping against the middle of the screen, we also had aspect ratio issues which cause dizziness when you tilt your head and due to the head’s movement nature this is impossible to prevent), which is why we implemented SceneManager::setSky( true, SceneManager::SkyCubemap, texture ); method.

zxz

Gremlin
Posts: 184
Joined: Sat Apr 16, 2016 9:25 pm
x 19

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by zxz » Fri Jun 05, 2020 9:33 am

Hi!

SceneManager::setSky seems to use the same technique for drawing the sky, and the sky is only drawn in the left eye viewport when it is used. From what I can see there is nothing in its implementation that takes stereo rendering into consideration. Perhaps I am misunderstanding you?

I don’t understand what the problems you describe are. If each eye were to be rendered individually with each eye’s individual camera direction vectors, things should look good. That should be achievable if quad passes are aware of the camera’s VrData. That should give the same result as when rendering the whole scene twice (once for each eye), which looks good. Is there something that prevents that from working?

User avatar

dark_sylinc

OGRE Team Member
OGRE Team Member
Posts: 5161
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1219
Contact:

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by dark_sylinc » Fri Jun 05, 2020 3:32 pm

zxz wrote: ↑Fri Jun 05, 2020 9:33 am
SceneManager::setSky seems to use the same technique for drawing the sky, and the sky is only drawn in the left eye viewport when it is used. From what I can see there is nothing in its implementation that takes stereo rendering into consideration.

Uh oh, this must be Unlit’s missing support for stereo instancing. Should be easy for me to fix.

zxz wrote: ↑Fri Jun 05, 2020 9:33 am
I don’t understand what the problems you describe are. If each eye were to be rendered individually with each eye’s individual camera direction vectors, things should look good. That should be achievable if quad passes are aware of the camera’s VrData. That should give the same result as when rendering the whole scene twice (once for each eye), which looks good. Is there something that prevents that from working?

I thought the same too, but it was tricky to get the math right. We could’ve made a mistake in the formulas though.

zxz

Gremlin
Posts: 184
Joined: Sat Apr 16, 2016 9:25 pm
x 19

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by zxz » Fri Jun 05, 2020 5:56 pm

dark_sylinc wrote: ↑Fri Jun 05, 2020 3:32 pm
Uh oh, this must be Unlit’s missing support for stereo instancing. Should be easy for me to fix.

The sky implementation uses old materials with custom shaders, not unlit, so I don’t think they are related. In any case, I don’t think the instancing the same primitive will take care of the eye differences without some additional mechanism making use of the individual projection matrices. I suppose it would work if an actual skycube was used though.

I am also very interested in instanced stereo support for Unlit though, as we cannot begin using instanced stereo until that works. I was looking into implementing it for a bit, and saw that Unlit differs somewhat from Pbs. It has support for identity world transforms, and uses complete worldViewProj matrices where Pbs uses only viewProj, and thus passes somewhat different data to the shader. So it’s not quite as trivial as a copy/paste which was my initial hope.

I too think that it would be easy for you to fix :wink:. Now I don’t mean to preempt your plans, but it would be very useful to know if that is something that might be fixed in the near future, or if I should go ahead and attempt to hack together some partial solution. These two things (sky and unlit) are what’s blocking us from fully functioning VR at the moment. Anyway, it is really nice to (almost) be able to just flip a switch and get stereo rendering without having to setup multiple compositors and managing multiple cameras manually. Just some details missing.

Best regards!

User avatar

dark_sylinc

OGRE Team Member
OGRE Team Member
Posts: 5161
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1219
Contact:

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by dark_sylinc » Sun Jun 07, 2020 7:20 pm

I’ve pushed the «unification» changes to its own branch (to prevent accidentally breaking everyone until it’s more tested). I’m done for now (for now I’m limiting it to vertex shaders, since it’s all we need for instanced stereo changes).

I’ve used up the time I had left to focus on this issue for this weekend , so I will be doing the instanced stereo changes during next weekend.

Without the unification, the changes would’ve needed to be done 3x times.

User avatar

dark_sylinc

OGRE Team Member
OGRE Team Member
Posts: 5161
Joined: Sat Jul 21, 2007 4:55 pm
Location: Buenos Aires, Argentina
x 1219
Contact:

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by dark_sylinc » Mon Jun 15, 2020 3:20 am

I just pushed Instanced Stereo support for HlmsUnlit to its own branch.

I could not test it thoroughly since I don’t have the use cases like you do (also I don’t have the VR headset anymore, they were borrowed); but I tried to simulate a basic one and it seemed to be working as intended.

If you find no issues I’ll be merging it to master.

zxz

Gremlin
Posts: 184
Joined: Sat Apr 16, 2016 9:25 pm
x 19

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by zxz » Tue Nov 02, 2021 10:47 am

dark_sylinc wrote: ↑Fri Jun 05, 2020 1:10 am
Hi!

We had issues trying to get instanced stereo to work with «sky as a postprocess» technique (there’s the clipping against the middle of the screen, we also had aspect ratio issues which cause dizziness when you tilt your head and due to the head’s movement nature this is impossible to prevent), which is why we implemented SceneManager::setSky( true, SceneManager::SkyCubemap, texture ); method.

Hi!

I might be revisiting VR soon, and this problem was the main reason that made instanced stereo unworkable for us last year. The problem being that quad passes didn’t get the correct camera direction vectors when instanced stereo rendering is enabled.

Do you know if any progress has been made on this front since last year? A quick look at the current quad pass code suggests that the situation might not have changed since then. If not, do you have any suggestions regarding how it could be resolved?

Thanks!

zxz

Gremlin
Posts: 184
Joined: Sat Apr 16, 2016 9:25 pm
x 19

Re: [2.2] Instanced stereo questions. Unlit, quad passes, etc

  • Quote

  • login to like this post

Post

by zxz » Fri Feb 18, 2022 2:06 pm

dark_sylinc wrote: ↑Fri Jun 05, 2020 3:32 pm

zxz wrote: ↑Fri Jun 05, 2020 9:33 am

I don’t understand what the problems you describe are. If each eye were to be rendered individually with each eye’s individual camera direction vectors, things should look good. That should be achievable if quad passes are aware of the camera’s VrData. That should give the same result as when rendering the whole scene twice (once for each eye), which looks good. Is there something that prevents that from working?

I thought the same too, but it was tricky to get the math right. We could’ve made a mistake in the formulas though.

Well, I looked into this once again, and the solution turned out to be as easy as I had thought at first. Somehow I managed to mess up the details when implementing it before. The trick to get the proper view vector for an asymmetric eye frustum (they often are in VR applications) is to preserve the length differences between the frustum corner vectors before interpolation across the quad. Then the interpolation works properly, and the vector can be normalized in the fragment shader (or used directly for cubemap lookup). Ogre might already be getting this right for the single quad drawn by a PASS_QUAD with CAMERA_DIRECTION. Done this way, the sky aligns perfectly at infinity and there is no longer any left/right offset causing double-vision.

I’ve created a custom pass to implement this, but the proper solution would be to make PASS_QUAD stereo-aware, then stereo rendering would Just Work for users. I haven’t looked into making the changes inside of Ogre.

PASS_QUAD should draw a geometry that spans both eyes with normals calculated by each eye’s individual projection matrix (Camera::getVrProjectionMatrix(i)). Of course, two quads can be drawn instead, but that is a bit more wasteful. I suppose that the same thing could be done for the other mFrustumCorners-alternatives, but I haven’t looked into those cases. There doesn’t seem to be anything complicated to take into account.

I couldn’t find any mention of VR in the Unity roadmap, so if I’m missing something (a VR-specific roadmap?) and this is already planned, please let me know.

In Bullet Train, Epic uses hardware instancing to draw objects to both eyes in a single draw call. It’s planned to be released for UE4 generally, soon, and they’re saying it could provide a 40% out-of-the-box performance boost. Apparently it improved Bullet Train performance by about 22%, which is presumably closer to the average real-world benefit, but that’s still a huge difference. Halving draw calls also seems like it should be especially effective on mobile devices (it would probably require OpenGL ES3).

I expect the Unity team is already aware of the technique, but if anyone would like to vote for this suggestion, it might help to show that there is a demand for it and move it up a bit in priority. It’s currently up to 6th place out of 6400 suggestions sorted by Most Active, but its vote count is pretty low.

Понравилась статья? Поделить с друзьями:
  • Unable to sign into xbox live ошибка
  • Unable to save file ошибка zbrush
  • Unable to restore idevice 1 ошибка
  • Unable to perform link c builder ошибка
  • Unable to open steam ошибка