- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
// bormand: Ну что, затестим шейдер в WebGL...
int iter = 0;
while (iter < 1000 && length(z) < 2.0) {
z = vec2(z.x * z.x - z.y * z.y, 2.0 * z.x * z.y) + c;
iter++;
}
// compileShader: 'while' : This type of loop is not allowed
// bormand: WTF?! В обычном OpenGL же работало, ну ок...
int iter = 0;
for (; iter < 1000; iter++) {
if (length(z) < 2.0)
break;
z = vec2(z.x * z.x - z.y * z.y, 2.0 * z.x * z.y) + c;
}
// compileShader: 'for' : Missing init declaration
// bormand: Да что за херня!?
for (iter = 0; iter < 1000; iter++) {
// compileShader: 'for' : Invalid init declaration
// bormand: Подавись, сука!
int iters = -1;
for (int iter = 0; iter < 1000; iter++) {
if (length(z) < 2.0) {
iters = iter;
break;
}
z = vec2(z.x * z.x - z.y * z.y, 2.0 * z.x * z.y) + c;
}
// compileShader: ok.
Lure Of Chaos 07.01.2014 22:04 # +2
bormand 07.01.2014 22:07 # +2
LispGovno 07.01.2014 22:09 # 0
Динамик бранчинг требует. Для шрейдеров может не поддерживаться. Запроси капасити. Ну и версию шейдеров попробуй другую указать. Помни, что шрейдеры - не кресты и более ограничены. В том числе и драйвером и видяхой
bormand 07.01.2014 22:16 # +11
Так что правильно сделали, что запретили. Для WebGL это страшенная дыра - можно удаленно вешать компы, подсунув ссылку с таким шейдером.
UPD: Там еще и число итераций в for'е ограничили до 65535.
LispGovno 07.01.2014 22:26 # +7
bormand 07.01.2014 23:26 # +2
bormand 07.01.2014 23:39 # +3
LispGovno 07.01.2014 22:29 # +9
inkanus-gray 07.01.2014 22:32 # +5
bormand 07.01.2014 22:33 # +4
LispGovno 07.01.2014 22:36 # +1
inkanus-gray 07.01.2014 22:38 # +1
bormand 07.01.2014 23:05 # 0
В виндовом ФФ по дефолту отключено?
inkanus-gray 07.01.2014 23:11 # 0
bormand 07.01.2014 23:16 # 0
Просто на некоторых видюхах бубунтовская unity тоже отключает ускорение. И не зря... Когда я его включал на fx5200 там половина иконок тупо не рисовалась :)
bormand 07.01.2014 22:49 # 0
Насчет остальных - пока х.з., не смотрел...
bormand 07.01.2014 22:34 # +1
Xom94ok 07.01.2014 23:41 # +5
А, и к тому же, почему никто не обратил внимание на лишнее вычисление квадратного корня в строке length(z) < 2.0?
bormand 07.01.2014 23:51 # +4
Да я в курсе. По-хорошему надо dot(z, z) < 4.0. Странно, что Тарас еще не злорадствует в этом треде.
Stertor 08.01.2014 00:05 # −1
командную строку? Строка подается на вход консолечке - cmd.exe и может
содержать разбодяженные команды, например: Простая замена
команд с помощью stringreplace не верное решение, т.к. на диске могут
быть файлы с такими же именами, например, start.exe. Как быть?
bormand 08.01.2014 00:12 # 0
Вообще в винде в таких случаях заключают многословные аргументы в кавычки: cd "program files". Иначе хуй распарсишь.
Stertor 08.01.2014 00:18 # −1
Если поможете мне, подкинув более-менее универсальное решение, уплачу Вам 500 р ) Сил моих уже нет, давно с этим бьюсь. Нужно получить имя файла. Из примерно такой строки это будет "program files\progname[проверить расширение, есть ли исполняемые файлы *.exe, *.com]"
bormand 08.01.2014 00:25 # 0
Stertor 08.01.2014 00:29 # −1
bormand 08.01.2014 00:37 # 0
Кинь примеры строк и чего из них надо получить.
Если там произвольная консольная команда - разобрать будет очень и очень сложно...
А Start это и есть start.exe
1024-- 08.01.2014 00:30 # +1
Обычная ко-ко-консолечка как раз запускает эти файлы вместо консольных команд.
> корректно удалив все команды консолечки
В обычной консоли ещё, при использовании doskey, можно сделать алиас xxx=dir %*, запустить xxx c:\ && xxx d:\, и это, по-моему, будет эквивалентно dir "c:\" "&&" "xxx" "d:\".
Если надо учитывать подобные моменты, можно убиться (наверное).
Stertor 08.01.2014 00:33 # −1
>> doskey, можно сделать алиас xxx=dir %*, запустить xxx c:\ && xxx d:\, и это, по-моему, будет эквивалентно dir "c:\" "&&" "xxx" "d:\".
Какой кошмар(
Те. нужно тупо выхватить все, что между пробелами и искать, есть ли такой файл. Так что ли?
defecate-plusplus 08.01.2014 00:42 # 0
тебе надо учитывать переменные окружения (например, path)
разобрать всю командную строку согласно синтаксису твоего любимого интерпретатора (т.е. cmd.exe)
т.е. не забыв про возможности, например, циклов
исполнять все команды из разобранного списка честно и последовательно
при этом использовать пользовательские переменные, объявляющиеся в строке и т.д.
в общем, ждём
1024-- 08.01.2014 00:50 # 0
Можно посмотреть переменные среды %PATH% и %PATHEXT%, если для каждого пути из path и в текущем каталоге нет файла с каждым расширением из pathext, то файла нет, скорее всего это команда. Причём, если в команде-то можнт быть xxx, а может - xxx.exe или xxx.bat. Причём, файл xxx.jpg.bat можно запустить как xxx.jpg, а можно - как x.jpg.bat, но не как x.
Тут надо аккуратно все варианты разобрать и курить виндоманы. К тому же не факт, что в другой версии винды не будет маленького и гордого отличия.
> Те. нужно тупо выхватить все, что между пробелами и искать, есть ли такой файл. Так что ли?
Честно говоря, я задачу до конца не понял, поэтому могу отвечать не на те вопросы.
Надо учесть пробелы в кавычках, скобки и символы вида |, <, >, &&, ^, меняющие смысл написанного.
P.S. defecate-plusplus уже всё это написал.
Stertor 08.01.2014 00:55 # −1
TarasB 08.01.2014 21:01 # 0
bormand 08.01.2014 21:07 # 0
Шейдеры по умолчанию говно? Или это все-таки про мой шейдер и мои кривые руки?
TarasB 08.01.2014 21:10 # +1
Да здравствует Софтрендер!
bormand 08.01.2014 21:17 # 0
Хех, у меня когда-то была софтрендерная версия этой демки со множествами Жюлиа, вроде как под дос (или под винапи, не помню уже)... Только я ее куда-то проипал ;(
Вот вчера just for lulz решил повторить ее с новыми технологиями на GPU...
> Куча ограничений
Ну а что поделать. Без ограничений ты 960 вычислительных ядер не замутишь, там же каждый транзистор дорог. По крайней мере при текущем уровне технологий ;(
bormand 08.01.2014 12:28 # +3
http://bormand.github.io/julia-webgl/
Lure Of Chaos 08.01.2014 13:40 # +1
bormand 08.01.2014 13:42 # 0
Что и следовало ожидать. webgl сырой, а у меня руки кривые :)
А чего-нибудь пишет об ошибке?
Lure Of Chaos 08.01.2014 13:47 # +1
bormand 08.01.2014 13:49 # 0
А в консоль браузера ниче интересного не высрало?
Lure Of Chaos 08.01.2014 13:59 # +1
bormand 08.01.2014 14:03 # 0
Просто сейчас погуглил, у ANGLE, через который хром и огнелис транслируют GLSL в HLSL для direct x есть проблема. Ему нравится анроллить большие циклы (а тут как раз большой цикл до 100), и он почему-то долго это делает. А часто этот анролл вообще падает.
roman-kashitsyn 08.01.2014 13:49 # +1
bormand 08.01.2014 13:56 # 0
Сможешь chrome://gpu/ помотреть?
roman-kashitsyn 08.01.2014 14:00 # +1
bormand 08.01.2014 14:04 # 0
roman-kashitsyn 08.01.2014 14:05 # +1
bormand 08.01.2014 14:08 # 0
wvxvw 11.01.2014 12:09 # +1
А вот и Опера ;)
http://postimg.org/image/6dx2114xx/
bormand 11.01.2014 12:19 # +1
- совсем уж старых интеловских интеграшках (скорее всего из-за слишком большого цикла, который на них не реализовать)
- ишаке любой версии, включая IE11 (скорее всего та же проблема, т.к. в IE11 другие демки типа вертящегося кубика идут)
- некоторых браузерах, где WebGL надо включать врукопашную (operaъ 12.х, хром под ведром, десктопный хром для видеокарт в блеклисте)
- на айпадах (он там есть, но собака на сене)
Т.е. WebGL можно потихоньку начинать использовать...
kegdan 08.01.2014 14:52 # +1
bormand 08.01.2014 13:54 # 0
- у друга на mac'е запустилось
- у подруги на винде и старой интеловской интеграшке линковка шейдеров упала с "error X3511: unable to unroll loop, loop does not appear to terminate in a timely manner"
Stertor 08.01.2014 13:56 # +1
Хм. Теперь искрящиеся молнии.
bormand 08.01.2014 13:59 # +1
Stertor 08.01.2014 14:00 # +1
Abbath 08.01.2014 14:29 # +1
tirinox 08.01.2014 14:35 # +1
Правда от видюхи может зависеть. Во многих Маках встроенная Intel, а у меня GTX670
bormand 08.01.2014 15:06 # 0
Ну здесь еще шейдер не самый удачный, с огромным циклом. Как оказалось, далеко не всем видюхам такое по душе...
P.S. Всем огромное спасибо за тестирование!
kegdan 08.01.2014 14:58 # +1
7/ ишак 10 -
Sorry :(
http://bormand.github.io/julia-webgl/js/main.js:37
Can't link shader program:
bormand 08.01.2014 15:23 # 0
Ну майкрософт как всегда в своем стиле. Ошибка без текста ошибки ;)
P.S. Кстати, а в 10 ишаке откуда WebGL? Can I Use говорит, что минимальный - 11.0.
http://caniuse.com/webgl
kegdan 08.01.2014 15:28 # 0
Он кстати шустрый стал. как хром
bormand 08.01.2014 15:30 # 0
kegdan 08.01.2014 16:02 # +1
Символ: 13
Код ошибки: 0
Сообщение: Can't link shader program:
URL: http://bormand.github.io/julia-webgl/js/main.js
bormand 08.01.2014 16:06 # 0
А getProgramInfoLog() походу вернул пустую строку, и что там за ошибка мы никогда не узнаем ;(
kegdan 08.01.2014 16:09 # 0
inkanus-gray 08.01.2014 16:14 # +1
В Хроме 29 работает с дефолтными настройками (хотя предыдущие версии Хрома напрочь отказывались включать WebGL), в ФФ работает (после пинка webgl.force-enabled=true), а Опера 12 выдала:
TarasB 10.01.2014 18:44 # +5
Назвать это видеокартой язык не повернулся? Правильно.
1024-- 08.01.2014 20:20 # +2
bormand, это великолепно!
kegdan 08.01.2014 20:56 # +1
WGH 08.01.2014 21:23 # +1
Firefox (вроде бы я принудительно отключил блеклист, не помню уже)
Работает.
wvxvw 10.01.2014 10:43 # +1
Все работает.
3.14159265 10.01.2014 18:37 # +7
ПРОЦ ЖИВ.
bormand 10.01.2014 18:40 # +3
А брат?
Stertor 10.01.2014 18:43 # +1
3.14159265 10.01.2014 19:08 # +2
LispGovno 10.01.2014 19:05 # +1
bormand 10.01.2014 19:10 # +5
Бага какая-то. Должен был установить линукс.
LispGovno 10.01.2014 19:19 # +1
У них какая-то любовь к этой цифре. DirectX 11, DirectX 8.1
bormand 10.01.2014 19:21 # +2
Фигассе майкрософт отжигает. Запустилось хотя бы в 11 ишаке?
LispGovno 10.01.2014 19:22 # +1
bormand 10.01.2014 19:24 # +2
kegdan 10.01.2014 19:51 # +1
LispGovno 10.01.2014 19:53 # 0
kegdan 10.01.2014 19:58 # 0
http://myzuka.ru/Song/1776280/Audiomachine-Spartacus-No-Choir/Page4
1024-- 10.01.2014 19:34 # +1
Кстати, у меня не запустилось в 11м. Ошибка как у кегдана.
bormand 10.01.2014 19:37 # 0
Хех, и эта ошибка "" ни на шаг не приближает нас к разгадке ;(
Есть предположение, что ему не нравится длинный цикл, рисующий фрактал.
На http://get.webgl.org у тебя кубик же крутится?
1024-- 10.01.2014 19:39 # 0
Крутится.
bormand 10.01.2014 19:44 # 0
Да и хрен с ним, с ишаком. Я ж не игру на продажу ваяю ;)
bormand 10.01.2014 19:25 # 0
Хм. А на девятой винде он опять станет DirectX 9? Знатные тролли.
LispGovno 10.01.2014 19:33 # 0
bormand 10.01.2014 19:35 # 0
LispGovno 10.01.2014 19:48 # 0
bormand 10.01.2014 20:04 # 0
Да, слона то я и не заметил :)
LispGovno 10.01.2014 20:07 # +1
kegdan 10.01.2014 20:10 # 0
LispGovno 10.01.2014 20:08 # 0
LispGovno 10.01.2014 19:50 # 0
sort . nub
Abbath 13.01.2014 01:35 # 0
kegdan 10.01.2014 19:54 # +1
LispGovno 10.01.2014 20:09 # 0
1024-- 10.01.2014 20:12 # 0
kegdan 10.01.2014 20:14 # 0
1024-- 10.01.2014 20:25 # 0
LispGovno 10.01.2014 20:16 # 0
kegdan 10.01.2014 20:18 # 0
LispGovno 10.01.2014 20:20 # 0
bormand 10.01.2014 20:56 # 0
OpenGL :)
Вот зря M$ его закопал на версии 1.2, и пошел пилить свой велосипед. Лучше бы тоже поучаствовали в стандартизации OpenGL. И был бы он сейчас на всех устройствах, включая винду. А не на всех устройствах, кроме винды и х-коробки.
А то вот WebGL под виндой гоняется через жопу ANGLE - транслятор OpenGL ES в DX.
А по возможностям, если я не туплю, последние OpenGL и Direct3D совпадают чуть более чем полностью - тот же набор шейдеров (вершинные, тесселяционные, геометрические и фрагментные емнип), те же буферы, то же индексное рисование, те же текстуры...
Будем надеяться на то, что они все-таки закопают свой Direct3D, как когда-то сделали это с ускорением звука в DirectSound.
Abbath 13.01.2014 01:40 # 0
bormand 13.01.2014 05:13 # 0
Да оно собственно никогда и не работало. Ну 1.2, которое там с древних времен не менялось, работой не считается. А настоящие OpenGL дрова на ту же нвидию качаются отдельно и где-то в жопе их сайта...
Или производители видюх не выпустили дров под 8.1?
Abbath 13.01.2014 16:35 # 0
http://stackoverflow.com/questions/19236021/wglmakecurrent-fails-on-x64
http://social.msdn.microsoft.com/Forums/windowsdesktop/en-US/b3fbe482-eba4-451d-bbed-3bc00b7c8bb5/wglmakecurrent-in-windows-8-64-bit-always-returns-false?forum=windowssdk
bormand 13.01.2014 05:18 # 0
Version: 332.21 WHQL
Release Date: 2014.1.7
Operating System: Windows 7 64-bit, Windows 8.1 64-bit, Windows 8 64-bit, Windows Vista 64-bit
Supports OpenGL 4.4 for GeForce 400-series and later GPUs.
Ну а про остальных производителей - х.з.
3.14159265 10.01.2014 20:57 # +1
WGH 10.01.2014 22:54 # +1
3.14159265 10.01.2014 20:47 # 0
inkanus-gray 11.01.2014 02:56 # 0
— Не могу установить Windows. Скачиваю, пытаюсь установить, а у меня OS/2 ставится. Повторяю — то же самое.
— А какой протокол у модема?
— V.42bis со сжатием и с коррекцией ошибок.
Yuuri 10.01.2014 19:16 # +1
bormand 10.01.2014 19:19 # +1
P.S. Кстати забавно, но демка пошла даже на андроидах (фаерфоксом, хромом или оперой, в штатном нету WebGL). А вот эппл - пидорасы. Сделали в iOS поддержку WebGL, и никому не дают ее юзать.
LispGovno 10.01.2014 19:21 # +2
Шутканул...
> Сделали в iOS поддержку WebGL, и никому не дают ее юзать.
Собака на сене пилит айфон 6 с играми через бровсер
bormand 10.01.2014 19:23 # +2
Вот и закопали сначала флеш, а потом и вебгл.
inkanus-gray 11.01.2014 02:52 # 0
opera:config#UserPrefs|EnableHardwareAcceleration — вот тут тоже.
После перезапуска браузера (это единственная ситуация, когда его нужно перезапускать), идём на opera:gpu и смотрим, какой бекенд не поддерживается.
Увы, софтверного GL в Опере нет.
inkanus-gray 11.01.2014 22:54 # +4
Читать далее>>> http://archive.is/Uqa4Y
crastinus 11.01.2014 22:59 # 0
defecate-plusplus 11.01.2014 23:05 # +4
ты уж определись
LispGovno 11.01.2014 23:14 # 0
https://dl.dropboxusercontent.com/u/100032494/Blog/TarasB/1.png
https://dl.dropboxusercontent.com/u/100032494/Blog/TarasB/2.png
https://dl.dropboxusercontent.com/u/100032494/Blog/f3b.jpg
По дропбоксу врага можно вычислить и набить Ибала?
crastinus 12.01.2014 22:27 # +3
http://www.youtube.com/watch?feature=player_detailpage&v=uIbMfC 7h3XE&t=792
Stertor 12.01.2014 22:51 # +2
crastinus 12.01.2014 23:03 # 0
Ты читал библию?
govnomonad 13.01.2014 06:11 # 0
kegdan 13.01.2014 08:01 # 0
- что это?
- Это детектор сарказма
- какая нужная вещь!
После этих слов детектор сарказма взрывается от перегрузки
kegdan 13.01.2014 08:02 # 0
Если бог и есть, думаешь ему не похуй на то, что ты там, мелкий человечек делаешь?
Stertor 13.01.2014 12:26 # −1
govnomonad 12.01.2014 07:14 # 0
И кто же их сажать будет? Quod licet Iovi not licet bovi
inkanus-gray 13.01.2014 15:58 # 0
TarasB 13.01.2014 16:10 # 0
inkanus-gray 13.01.2014 16:23 # 0
defecate-plusplus 11.01.2014 23:00 # +4
интересно, можно ли нагнуть жппл в басманном суде на миллиард за разрыв контракта
Stertor 11.01.2014 23:55 # −1
Что лишь подтверждает, что все яблочники-пидорашки.
Когда вижу у парня айфон или ноут с обгрызанным яблоком, заочно причисляю его к пассивным геям.
bormand 12.01.2014 00:02 # +3
Попрошу не обобщать!
Stertor 12.01.2014 00:06 # 0
XD
bormand 12.01.2014 00:32 # 0
kegdan 12.01.2014 06:17 # −1
TarasB 12.01.2014 11:22 # +3
Stertor 12.01.2014 13:35 # 0
>> окажется сильным,
т.е. ты противопоставляешь к слабости?
На заметку: лупят и вытирают ноги не об слабых, а об трусливых. {CompilerIF оппонент не упорот} Если ты найдешь в себе мужество сказать перечисленное выше в лицо оппоненту, он даже зауважает тебя.{CompilerENDIF}
wvxvw 12.01.2014 23:54 # +1
TarasB 13.01.2014 13:01 # 0
bormand 13.01.2014 15:07 # +1
Как страшно жить в этом мире ;(
Stertor 12.01.2014 13:44 # 0
Если никто не согласился на пассивную роль, они просто разойдутся.
Stertor 12.01.2014 13:40 # 0
kegdan 12.01.2014 13:56 # +6
Stertor 12.01.2014 14:11 # 0
kegdan 12.01.2014 14:28 # 0
LispGovno 12.01.2014 00:16 # +1
bormand 12.01.2014 00:31 # 0
Железяка сама по себе годная, но больно уж огороженная.
defecate-plusplus 12.01.2014 00:48 # +2
bormand 12.01.2014 01:03 # +1
MC769RU/A если быть точным.
> надо было бросить эту застарелую непотребщину обратно в лицо организаторам соцсоревнования!
Да ладно. Я ж не ради айпада участвовал. Это так, приятный бонус.
kegdan 12.01.2014 06:21 # 0
bormand 12.01.2014 07:04 # 0
LispGovno 08.01.2014 19:06 # +2
bormand 08.01.2014 19:14 # +3
Поэтому они никогда не возьмутся писать движок под медленный яваскрипт и глючные браузеры ;) Настоящие посоны пишут движки на си и крестах.
kegdan 10.01.2014 20:25 # +2