论坛

由用户创建的信息 stilist
05 January 2017 12:28
Заранее извиняюсь за наверняка повторный вопрос, но учитывая большое время работы с консолью в процессе отладки есть необходимость сэкономить время на повторном поиске и назначении переменных всем уже ранее найденным и назначенным в приложении объектам.

Например, есть модуль sound.js, там как полагается b4w.register("sound", function(exports, require) {.., дальше объект var speakers = {};, который заполняется через for (var i = 0; i < _speakers_tmp.length; i++){
speakers[_speakers_tmp.name] = _speakers_tmp;
console.log(speakers[_speakers_tmp.name]);
};,

вот подскажите, как я могу сразу из консоли получить доступ к этому массиву speakers без необходимости повторять в консоли все временные переменные и функции.
05 January 2017 12:20
Да, можно через config можно через init задать свойство quality перед инициализацией сцены. И там же свойство "allow_hidpi", которое управляет рендерингом на мониторах с соответствующей плотностью пикселей.
02 January 2017 21:14
Я все проверял, подключал и переподключал. Space disaster отслеживает поворот шлема, но я вижу приложение в окне браузера, а не в шлеме. В шлеме я вижу обычную заставку. Возможно, что space disaster изначально рассчитан на линзы перед телефоном, поэтому ему достаточно просто разделить экран, а в приведенном мной примере имеется функционал переключения на внешний дисплей, коим является шлем и отключение картинки в браузере. Вот это требуется реализовать.
02 January 2017 20:35
Хорошо, а дальше весь функционал работы с Webvr, который описан на том же самом MDN работать будет? Или через какой бэк-дор его тогда подключать?
02 January 2017 18:17
Прикладываю код, который хотел бы повторить. Полный source лежит по адресу https://github.com/toji/webvr.info/blob/master/samples/03-vr-presentation.html и прекрасно включает передачу изображения в шлем.

Затык происходит на третьей строчке запроса наличия webgl контекста канваса. (см.фото)

      // WebGL setup.
      var webglCanvas = document.getElementById("webgl-canvas");
      var glAttribs = {
        alpha: false,
      };
      var gl = webglCanvas.getContext("webgl", glAttribs);
      if (!gl) {
        gl = webglCanvas.getContext("experimental-webgl", glAttribs);
        if (!gl) {
          VRSamplesUtil.addError("Your browser does not support WebGL.");
          return;
        }
      }
      gl.clearColor(0.1, 0.2, 0.3, 1.0);
      gl.enable(gl.DEPTH_TEST);
      gl.enable(gl.CULL_FACE);
      var textureLoader = new WGLUTextureLoader(gl);
      var texture = textureLoader.loadTexture("media/textures/cube-sea.png");
      var cubeSea = new VRCubeSea(gl, texture);
      var enablePerformanceMonitoring = WGLUUrl.getBool(
          'enablePerformanceMonitoring', false);
      var stats = new WGLUStats(gl, enablePerformanceMonitoring);
      var presentingMessage = document.getElementById("presenting-message");
      // ================================
      // WebVR-specific code begins here.
      // ================================
      function onVRRequestPresent () {
        // This can only be called in response to a user gesture.
        vrDisplay.requestPresent([{ source: webglCanvas }]).then(function () {
          // Nothing to do because we're handling things in onVRPresentChange.
        }, function (err) {
          var errMsg = "requestPresent failed.";
          if (err && err.message) {
            errMsg += "<br/>" + err.message
          }
          VRSamplesUtil.addError(errMsg, 2000);
        });
      }
      function onVRExitPresent () {
        // No sense in exiting presentation if we're not actually presenting.
        // (This may happen if we get an event like vrdisplaydeactivate when
        // we weren't presenting.)
        if (!vrDisplay.isPresenting)
          return;


Ссылка на доки
ссылка
01 January 2017 16:21
Хочу понять, если есть элемент canvas и по нему я пытаюсь получить webgl context, чтобы выполнить проверку браузером наличия соответствующей поддержки и дальше работать с webvr согласно документации mozilla, как я могу это сделать, если для канваса b4w эта функция не числится вообще???
01 January 2017 15:00
Добрый день,

С наступившим,

Пытаюсь запустить webvr на HTC Vive. Демка по адресу https://webvr.info/samples/03-vr-presentation.html работает отлично, запускается в шлеме и т.д. А вот через модули b4w ни своей модели, ни space disaster не могу запустить трансляцию в шлем, причем отслеживание поворота головы работает в space disaster. Какой код должен быть код для кнопочки, которая переключает трансляцию из браузера в шлемак?
30 December 2016 18:15
А обратно как переключать? false не срабатывает
30 December 2016 16:30
ну да, как будто разрешение уменьшилось.
30 December 2016 16:26
Ага, с этой настройкой получилось. Единственное, заметно стало, что качество картинки ухудшилось - вроде как пропало сглаживание. Это по какой причине может быть?