Вопрос - ответ
29 апреля 2016 12:42
Ответ на сообщение пользователя Семенцов РоманСпасибо за ответ!
Если вы изменили профиль качества, вам потребуется перезагрузка приложения.
Т.е. по умолчанию я не могу загрузить просто ultra? Пока у меня без переключения, пытаюсь просто включить макс. Буду пробывать, отпишу, что получилось. Пока не совсем понятно, что происходит в функции set_quality_config, код я читаю худо бедно, но не всегда его понимаю точно.)
29 апреля 2016 12:55
Ответ на сообщение пользователя DinAltМожете. В приведённом коде поменяйте
Т.е. по умолчанию я не могу загрузить просто ultra?
default:
var qual = m_cfg.P_LOW;
break;
}
на
default:
var qual = m_cfg.P_ULTRA;
break;
}
Если приложение запускается в первый раз значение по умолчанию будет P_ULTRA
Не стой, где попало… Попадет еще раз.
http://naviris.ru/
http://naviris.ru/
29 апреля 2016 13:29
Можете. В приведённом коде поменяйтеФакир был пьян, фокус не удался. Что-то мне кажется где-то я чего-то упускаю.
Прикручен прелоадер из одной из тем тут на форуме. Функцию интерфейса пока за комментировал, однако не включает ультра.
"use strict"
// register the application module
b4w.register("app_my", function(exports, require) {
// import modules used by the app
var m_anim = require("animation");
var m_data = require("data");
var m_app = require("app");
var m_cfg = require("config");
var m_mat = require("material");
var m_obj = require("objects");
var m_scenes = require("scenes");
var m_rgb = require("rgb");
var m_trans = require("transform");
var m_vec = require("vec3");
var m_main = require("main");
var m_camera = require("camera");
var m_ctl = require("controls");
var m_time = require("time");
var m_util = require("util");
var m_container = require("container");
var m_storage = require("storage");
var m_preloader = require("preloader");
/**
* export the method to initialize the app (called at the bottom of this file)
*/
exports.init = function() {
set_quality_config();
m_app.init({
canvas_container_id: "Gas_id",
callback: init_cb,
show_fps: true,
console_verbose: true,
autoresize: true,
physics_enabled: false
});
}
/**
* callback executed when the app is initialized
*/
function init_cb(canvas_elem, success) {
if (!success) {
console.log("b4w init failure");
return;
}
m_cfg.set("background_color", new Float32Array([0.01, 0.02, 0.17, 1.0]));
m_preloader.create_simple_preloader({
bg_color:"#00000000",
bar_color:"#FFF",
background_container_id: "preloader",
canvas_container_id: "Gas_id",
preloader_fadeout: true});
load();
}
//загрузка файла
function load() {
var p_cb = preloader_cb;
m_data.load("app_my.json", load_cb,p_cb,true);
}
//обновление “полоски”
function preloader_cb(percentage) {
m_preloader.update_preloader(percentage);
}
/**
/**
* callback executed when the scene is loaded
*/
function load_cb(data_id, success) {
if (!success) {
console.log("b4w load failure");
return;
}
//init_interface();
m_app.enable_camera_controls();
// place your code here
}
function set_quality_config() {
var quality = m_storage.get("quality");
if (!quality)
return;
switch (quality) {
case "ULTRA":
var qual = m_cfg.P_ULTRA;
break;
case "HIGH":
var qual = m_cfg.P_HIGH;
break;
case "LOW":
var qual = m_cfg.P_LOW;
break;
case "CUSTOM":
var qual = m_cfg.P_CUSTOM;
break;
default:
var qual = m_cfg.P_ULTRA;
break;
}
m_cfg.set("quality", qual);
}
// function init_interface() {
// var set_low_q_btn = document.getElementById("low_q_button");
// var set_ultra_q_btn = document.getElementById("ultra_q_button");
// set_low_q_btn.onclick = function() {
// m_storage.set("quality", "LOW");
// window.location.reload(); // reload page
// }
// set_ultra_q_btn.onclick = function() {
// m_storage.set("quality", "ULTRA");
// window.location.reload(); // reload page
// }
// }
});
// import the app module and start the app by calling the init method
b4w.require("app_my").init();
29 апреля 2016 13:53
29 апреля 2016 14:05
29 апреля 2016 14:29
Модифицируйте функцию выставления качества следующим образом, чтобы посмотреть, что передаётся внутрь:
В консоль браузера будет выведено значение, проверьте его. Они равны следующим значениям:
function set_quality_config() {
var quality = m_storage.get("quality");
if (!quality)
return;
switch (quality) {
case "ULTRA":
var qual = m_cfg.P_ULTRA;
break;
case "HIGH":
var qual = m_cfg.P_HIGH;
break;
case "LOW":
var qual = m_cfg.P_LOW;
break;
case "CUSTOM":
var qual = m_cfg.P_CUSTOM;
break;
default:
var qual = m_cfg.P_ULTRA;
break;
}
console.log("!!!!!!!!!!!", qual)
m_cfg.set("quality", qual);
}
В консоль браузера будет выведено значение, проверьте его. Они равны следующим значениям:
exports.P_LOW = 1; // maximize performance
exports.P_HIGH = 2; // use all requested features
exports.P_ULTRA = 3; // use all requested features and maximize quality
exports.P_CUSTOM = 4; // use exports.defaults
29 апреля 2016 14:35
29 апреля 2016 14:38
Модифицируйте функцию
b4w.min.js:425 B4W LOG: INIT ENGINE 16.03 RELEASE (31.03.2016 11:34:06)
b4w.min.js:425 B4W LOG: INIT WEBGL 1
b4w.min.js:425 B4W LOG: GET EXTENSION WEBGL_debug_renderer_info
b4w.min.js:425 B4W LOG: RENDERER INFO: Google Inc., ANGLE (NVIDIA GeForce GTX 660 Ti Direct3D11 vs_5_0 ps_5_0)
b4w.min.js:425 B4W LOG: INIT WEBAUDIO: 48000Hz
b4w.min.js:425 B4W LOG: GET EXTENSION WEBGL_depth_texture
b4w.min.js:425 B4W LOG: GET EXTENSION WEBGL_compressed_texture_s3tc
b4w.min.js:425 B4W LOG: Chrome detected. Some of deprecated functions related to the Doppler effect won't be called.
b4w.min.js:425 B4W LOG: SET PRECISION: highp
b4w.min.js:425 B4W LOG: LOAD METADATA app_my.json?t=31032016113406
b4w.min.js:425 B4W LOG: LOAD BINARY app_my.bin?t=31032016113406
b4w.min.js:425 B4W LOG: GET EXTENSION OES_element_index_uint
b4w.min.js:425 B4W LOG: PHYSICS READY
b4w.min.js:425 B4W LOG: LOAD IMAGE 128x128 map/metal.jpg?t=31032016113406
b4w.min.js:425 B4W LOG: LOAD IMAGE 1024x1024 map/wal1024.jpg?t=31032016113406
b4w.min.js:425 B4W LOG: LOAD IMAGE 81x64 map/screen.jpg?t=31032016113406
b4w.min.js:425 B4W LOG: LOAD IMAGE 512x512 map/cem.jpg?t=31032016113406
b4w.min.js:425 B4W LOG: LOAD IMAGE 716x128 map/roof_shd.png?t=31032016113406
b4w.min.js:425 B4W LOG: LOAD IMAGE 768x512 map/forest_cubemap3.png?t=31032016113406
b4w.min.js:425 B4W LOG: LOADED ALL IMAGES
b4w.min.js:425 B4W LOG: START NLA
b4w.min.js:425 B4W LOG: THREAD 0: LOADED CALLBACK
Код исправил, но, вроде, ничего нового не появилось.
Но отображается то ли кастом, то ли хай, после ресайза окна качество встает на ультра.
29 апреля 2016 15:22
Это моя ошибка, копипастнул вам из одного проекта код и недосмотрел. Приношу извинения
Надо удалить
function set_quality_config() {
var quality = m_storage.get("quality");
switch (quality) {
case "ULTRA":
var qual = m_cfg.P_ULTRA;
break;
case "HIGH":
var qual = m_cfg.P_HIGH;
break;
case "LOW":
var qual = m_cfg.P_LOW;
break;
case "CUSTOM":
var qual = m_cfg.P_CUSTOM;
break;
default:
var qual = m_cfg.P_ULTRA;
break;
}
m_cfg.set("quality", qual);
}
Надо удалить
if (!quality)
return;
29 апреля 2016 15:58