forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Болтовня (http://forum.boolean.name/forumdisplay.php?f=25)
-   -   WebGL тесты (http://forum.boolean.name/showthread.php?t=18530)

Mr_F_ 12.09.2013 17:36

WebGL тесты
 
Вложений: 1
Тоже пишу свой мини-движок на webGL.

Просьба затестить:
http://ftest1024.zz.mu/webgl.html
Мышка/тач - крутить камерой, WASD летать, c шифтом быстрее.

В первую очередь интересуют телефоны.
Зарепортите сюда:
- время загрузки;
- тормозит или нет;
- удаётся ли крутить камеру тачем.

А ещё расскажите мне, как на телефонах люди ходят в играх от 1 лица?
Типа, чем WASD заменить? Там же тоже кнопки типа стрелочек есть? Может знаете как их детектить в JS?
Я видел только варианты с виртуальным джойстиком в углу экрана, но ИМХО очень неудобно.

---
upd: модель устройства тоже интересно знать

Harter 12.09.2013 17:39

Ответ: WebGL тесты
 
8 сек
нет
не удаётся

Dream 12.09.2013 18:46

Ответ: WebGL тесты
 
Цитата:

Сообщение от Mr_F_ (Сообщение 266901)
Тоже пишу свой мини-движок на webGL.

Просьба затестить:
http://ftest1024.ucoz.ru/webgl.html
Мышка/тач - крутить камерой, WASD летать, c шифтом быстрее.

В первую очередь интересуют телефоны.
Зарепортите сюда:
- время загрузки;
- тормозит или нет;
- удаётся ли крутить камеру тачем.

А ещё расскажите мне, как на телефонах люди ходят в играх от 1 лица?
Типа, чем WASD заменить? Там же тоже кнопки типа стрелочек есть? Может знаете как их детектить в JS?
Я видел только варианты с виртуальным джойстиком в углу экрана, но ИМХО очень неудобно.

---
upd: модель устройства тоже интересно знать

Обычно в шутерах на моьбилах - с левой стороны двух позицоный джойстик(вперед назад) весь остальной экран(или правая половина) для вращения камеры через драг

moka 12.09.2013 18:48

Ответ: WebGL тесты
 
На Mac OS X в Chrome не загружается - жпеги не грузятся, и много храма в консоли.
Сделай progress bar загрузки, и выведи если не удалось загрузить.

Dream 12.09.2013 18:51

Ответ: WebGL тесты
 
Цитата:

Сообщение от moka (Сообщение 266913)
На Mac OS X в Chrome не загружается - жпеги не грузятся, и много храма в консоли.
Сделай progress bar загрузки, и выведи если не удалось загрузить.

В сафари все ок

Mr_F_ 12.09.2013 19:12

Ответ: WebGL тесты
 
Цитата:

Сделай progress bar загрузки, и
токо что добавил.
---
правда чёто он у меня только в лисе пашет, а хром не обновляет канвас пока всё не загрузится.
---

Цитата:

жпеги не грузятся, и много храма в консоли.
жпеги не грузятся - это ты в консоли прочитал? это as designed, так и должно быть, он просто проверяет наличие файлов :D

Цитата:

с левой стороны двух позицоный джойстик(вперед назад) в
это я про него и писал: "варианты с виртуальным джойстиком в углу экрана, но ИМХО очень неудобно.".
разве не удобнее кнопочками ходить было бы? у меня от этого экранного джойстика багет полный.

moka 12.09.2013 19:19

Ответ: WebGL тесты
 
progress бар сделай DOM'ом а не в канве.

Mr_F_ 12.09.2013 19:34

Ответ: WebGL тесты
 
добавил домовый прогресс в виде циферки процента загрузки, НО в хроме даже он не обновляется пока всё не загрузится.
видимо ничего там не обновляется, пока не выполнится длинный JS.
в лисе обе версии пашут. не могу понять как заставить хром.

moka 12.09.2013 21:01

Ответ: WebGL тесты
 
Юзаешь requestAnimationFrame для загрузки? Если да, то ничего не обновится во время выполнении callback'а в requestAnimFrame.
ЗЫ, в FF на маке работает как положено. Красивая сценка.

Только сделай чтобы канва расейзилась на весь экран :)

Gector 12.09.2013 21:11

Ответ: WebGL тесты
 
Цитата:

Сообщение от Mr_F_ (Сообщение 266917)
добавил домовый прогресс в виде циферки процента загрузки, НО в хроме даже он не обновляется пока всё не загрузится.
видимо ничего там не обновляется, пока не выполнится длинный JS.
в лисе обе версии пашут. не могу понять как заставить хром.

Блин. Заработало только на десктопном лисе. Ни на десктопном хроме ни на хроме в Xperia Sola не пашет(.

Mr_F_ 12.09.2013 21:12

Ответ: WebGL тесты
 
Цитата:

Юзаешь requestAnimationFrame для загрузки
Нет, там setInterval раз в секунду обновляет прогрессбар.
"игра" сама тоже им обновляется 60 раз в сек.
До этого пробовал requestAnimationFrame, но почему-то (?) он выглядел тормозяще в лисе (фпс на 20), хоть в хроме и работал как положено.
СетИнтервал работает одинаково плавно в обоих браузерах.
Оба браузера последние версии.

Цитата:

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

Цитата:

Ни на десктопном хроме
ну почему в хроме всё время всё не пашет? он что, ИЕ?
как именно не пашет?
этот сайт у тебя в хроме что говорит? http://doesmybrowsersupportwebgl.com/

moka 12.09.2013 21:19

Ответ: WebGL тесты
 
На счёт requestAnimFrame - куча примеров онлайн ложные и сбивают с толку, поэтому и может голимо работает.

Gector 12.09.2013 21:20

Ответ: WebGL тесты
 
Цитата:

Сообщение от Mr_F_ (Сообщение 266924)
ну почему в хроме всё время всё не пашет? он что, ИЕ?

Сам уже подумываю вернуться к лисе.:mad:

Цитата:

Сообщение от Mr_F_ (Сообщение 266924)
как именно не пашет?

Долго грузит не показывая экран загрузки. А потом показывает 98% и все.

Цитата:

Сообщение от Mr_F_ (Сообщение 266924)

yay).

Mr_F_ 12.09.2013 21:31

Ответ: WebGL тесты
 
Цитата:

Долго грузит не показывая экран загрузки. А потом показывает 98% и все.
тоже такое в нём славливаю.
по какой-то необъяснимой причине пара текстур не загружается при ctrl+f5.
зато если второй раз зайти туда же (или нажать просто ф5 после 98%) без полного обновления, то догружается %)

картинки создаются так:
Код:

                                        var tex = gl.createTexture();
                                        tex.image = new Image();
                                       
                                        tex.image.onload = function(fname, tex)
                                        {
                                                return function()
                                                {
                                                        onLoadTexture(fname, tex);
                                                }
                                        }(fname, tex);
                                       
                                        tex.image.src = fname;
                                        resourcesLoading++;

--------

                        function onLoadTexture(fname, tex)
                        {
                                filesLoaded++;
                                RenderProgressBar(filesLoaded/filesToLoad);

                                resourcesLoading--;

объяснить зависание прогресс бара можно только тем что нифига не хочет хром подгружать текстуру, которая существует (почему?), причём только при полном обновлении.
---
сейчас сделал вывод в лог списка незагруженных ресурсов - пишутся валидные адреса туда.

Mr_F_ 12.09.2013 22:17

Ответ: WebGL тесты
 
по какой-то таинственной причине у меня теперь пашет и в хроме. может и у вас?
кое-что менял но вроде не должно было повлиять


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot