www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Forth Haiku
На страницу Пред.  1, 2, 3 ... 11, 12, 13 ... 19, 20, 21  След.
 
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Демо
Предыдущая тема :: Следующая тема  
Автор Сообщение
tone
robot modeller


Зарегистрирован: 21.09.2007
Сообщения: 513


СообщениеДобавлено: Вт Фев 11, 2014 00:35    Заголовок сообщения: Ответить с цитатой

хахаха отлично
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Digimind
assembler digger


Зарегистрирован: 22.09.2007
Сообщения: 103


СообщениеДобавлено: Вт Фев 11, 2014 08:12    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
Чего-то анимация сломалась - таймер вперёд ушёл, и привет.

Ну так t модулировать надо, чтобы не зависеть от времени суток. Та же проблема, что и с колонией выше...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Фев 11, 2014 09:54    Заголовок сообщения: Ответить с цитатой

Digimind писал(а):
Manwe писал(а):
Чего-то анимация сломалась - таймер вперёд ушёл, и привет.

Ну так t модулировать надо, чтобы не зависеть от времени суток. Та же проблема, что и с колонией выше...

С Virus Colony я как раз наоборот хотел посмотреть как она в будущем разовьётся.
А с Samarkand да - утром работает, вечером не работает Smile Как модулировать-то? Ты кодом покажи! Smile
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Digimind
assembler digger


Зарегистрирован: 22.09.2007
Сообщения: 103


СообщениеДобавлено: Вт Фев 11, 2014 13:04    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
А с Samarkand да - утром работает, вечером не работает Smile Как модулировать-то? Ты кодом покажи! Smile


так вроде не рокет сайенс.
"t a mod" сужает диапазон c 0..86400 до 0..a
sin/cos сужает диапазон до -1..1
и т.д.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Фев 11, 2014 15:12    Заголовок сообщения: Ответить с цитатой

А там точно таймер в пределах суток?
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Digimind
assembler digger


Зарегистрирован: 22.09.2007
Сообщения: 103


СообщениеДобавлено: Вт Фев 11, 2014 16:40    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
А там точно таймер в пределах суток?


А я точно назначен справочником по этому чуду? Smile
По крайней мере можно судить по haiku.js:

t определяется через time_val:
Код:
dict['t'] = ['dstack.push(time_val);'];


time_val определяется через GetTime():
Код:

var time_val_loc = gl.getUniformLocation(cv3.program3d, 'time_val');
gl.uniform1f(time_val_loc, GetTime());


GetTime() определяется через локальное время в пределах суток:
Код:
function GetTime() {
  var dt = new Date();
  var tm = dt.getHours();
  tm = tm * 60 + dt.getMinutes();
  tm = tm * 60 + dt.getSeconds();
  tm = tm + dt.getMilliseconds() / 1000.0;
  return tm;
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Фев 11, 2014 21:30    Заголовок сообщения: Ответить с цитатой

Спасибо, Digimind.

Вот ещё кое-что в 120 байт.
Код:
0
5
x .5 - 20 ** y .5 - 20 ** + .05 **
dup -rot
/
t dup floor - pi * 2 *
+ sin
over 9 * 4 ** **
swap .1 - 0 max * 5 *
.9

_________________
Manwe/SandS
www.manwe.ru


Последний раз редактировалось: Manwe (Ср Фев 12, 2014 09:32), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
tone
robot modeller


Зарегистрирован: 21.09.2007
Сообщения: 513


СообщениеДобавлено: Вт Фев 11, 2014 22:25    Заголовок сообщения: Ответить с цитатой

квадрат конечно гораздо удобнее и гармоничнее для всяких плазм, чем горизонтальный экран. все такое само собой уравновешенное получается.
а мониторы в отстойную сторону только изменяются. =( нет чтобы квадратные сделали.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Ср Фев 12, 2014 17:06    Заголовок сообщения: Ответить с цитатой

говорят, some GPU needs 'abs' before '**' and 'log' (видимо, моя программа не у всех работает) - неужели GLSL не универсален?
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Digimind
assembler digger


Зарегистрирован: 22.09.2007
Сообщения: 103


СообщениеДобавлено: Чт Фев 13, 2014 01:09    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
говорят, some GPU needs 'abs' before '**' and 'log' (видимо, моя программа не у всех работает) - неужели GLSL не универсален?

GLSL как раз универсален и определяет стандарт, как и должно быть в математике:

pow(x, y)
Results are undefined if x < 0.
Results are undefined if x = 0 and y <= 0.

log(x)
Results are undefined if x <= 0.

Т.е. использование отрицательных чисел попросту некорректно (как и деление на ноль, например).
Оно может случайно заработать на определённом конфиге, создавая иллюзию работоспособности, но в целом будет весьма ненадежным кодом.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Чт Фев 13, 2014 10:28    Заголовок сообщения: Ответить с цитатой

Digimind писал(а):
как и должно быть в математике:
pow(x, y)
Results are undefined if x < 0.
Results are undefined if x = 0 and y <= 0.
Т.е. использование отрицательных чисел попросту некорректно

Разве X в степени Y в математике некорректно при X<0 ? Скажем, -3 в степени 2 - это не 9, а "undefined"? И почему 0 нельзя возводить в степень?
Мне нетрудно заменить "2 **" на "dup *" (хотя, терять 1 байт жаль), но хотелось бы понять, чем руководствовались создатели GLSL.

DarkstarAG бывает на этом форуме? Чтобы проверить такой код тоннеля на GeForce 8600 GT
Код:
: fix abs 1e-30 + ;
0
5
x .5 - fix 20 ** y .5 - fix 20 ** + .05 **
dup -rot
/
t dup floor - pi * 2 *
+ sin
over 9 * fix 4 ** **
swap .1 max .1 - * 5 * 1 min
.9

_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
frag



Зарегистрирован: 18.01.2012
Сообщения: 14


СообщениеДобавлено: Чт Фев 13, 2014 10:50    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):

Разве X в степени Y в математике некорректно при X<0 ? Скажем, -3 в степени 2 - это не 9, а "undefined"?
Мне нетрудно заменить "2 **" на "dup *" (хотя, терять 1 байт жаль), но хотелось бы понять, чем руководствовались создатели GLSL.

Зависит от того, целочисленная это математика или нет.
Сколько будет -3^2.0000001? Хотя бы знак-то какой получится?
Как насчёт -2^1.5? Это же по смыслу квадратный корень из -8.
Т.к. целых чисел в представлении float или double гораздо меньше,
чем дробных, то такие случаи никто не рассматривает отдельно
и любая степень отрицательного числа не определена.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Чт Фев 13, 2014 11:06    Заголовок сообщения: Ответить с цитатой

frag писал(а):
Т.к. целых чисел в представлении float или double гораздо меньше, чем дробных, то такие случаи никто не рассматривает отдельно

Хитрый вид оптимизации: в железе или драйвере видеокарты сэкономить на проверке того, что степень - целое число, но возложить проверку и дополнительные действия на прикладного программиста. Странный подход к надёжности. Понятно теперь, почему половина демок выпускают с оправданием "извините, фикс под другие видеокарты будет позже".
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
frag



Зарегистрирован: 18.01.2012
Сообщения: 14


СообщениеДобавлено: Чт Фев 13, 2014 11:26    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
frag писал(а):
Т.к. целых чисел в представлении float или double гораздо меньше, чем дробных, то такие случаи никто не рассматривает отдельно

Хитрый вид оптимизации: в железе или драйвере видеокарты сэкономить на проверке того, что степень - целое число, но возложить проверку и дополнительные действия на прикладного программиста. Странный подход к надёжности. Понятно теперь, почему половина демок выпускают с оправданием "извините, фикс под другие видеокарты будет позже".

На проверках больше потеряешь.
Да и это же fpu, зачем ему проверки такого рода?
Гораздо надёжнее и проще объявить это undefined
и все такие частные случай пусть сам программист чекает.
Кроме того, большие целые числа непредставимы в fpu,
и многие простые дроби вроде 0.2.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Чт Фев 13, 2014 11:47    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):

Хитрый вид оптимизации: в железе или драйвере видеокарты сэкономить на проверке того, что степень - целое число, но возложить проверку и дополнительные действия на прикладного программиста. Странный подход к надёжности. Понятно теперь, почему половина демок выпускают с оправданием "извините, фикс под другие видеокарты будет позже".


Знаешь что получается, когда пытаются создать платформу, которая "облегчает жизнь программисту"? Получаются Flash, Java и прочие тормозные угробища. А потом блин, чтобы нарисовать кубик или плазму нам требуется четырёх-ядерный процессор и 8 гигабайт ОЗУ Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Демо Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3 ... 11, 12, 13 ... 19, 20, 21  След.
Страница 12 из 21

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах