Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вт Ноя 22, 2011 01:52 Заголовок сообщения: |
|
|
numerouno писал(а): | numerouno писал(а): | вылетело из головы название. кто помнит демку со spline texture cube?
чорт, память девичья... |
нашел:
http://www.pouet.net/prod.php?which=1275
местные демосценеры, по ходу дела или не шарят нифига, или заняты. |
я ж это постил вроде в этом топике ранее ) Дело в том, что те названия эффектов которые ты постоянно озвучиваешь никому ни о чем не говорят, вообще. Какой нах spline texture cube? Я даже не понял чо эт за хуйня? То что ты привёл по ссылке, это slime cube, ещё называеют stored cube, суть эффекта рассказывал (на примере моей интро) Манве в передаче Oldskool Clinic #22 http://scene.rpod.ru/123692.html
так что всетаки нифига не шаришь именно ты |
|
Вернуться к началу |
|
|
numerouno
Зарегистрирован: 04.09.2011 Сообщения: 390
|
Добавлено: Вт Ноя 22, 2011 07:18 Заголовок сообщения: |
|
|
BiTL писал(а): | numerouno писал(а): | numerouno писал(а): | вылетело из головы название. кто помнит демку со spline texture cube?
чорт, память девичья... |
нашел:
http://www.pouet.net/prod.php?which=1275
местные демосценеры, по ходу дела или не шарят нифига, или заняты. |
я ж это постил вроде в этом топике ранее ) Дело в том, что те названия эффектов которые ты постоянно озвучиваешь никому ни о чем не говорят, вообще. Какой нах spline texture cube? Я даже не понял чо эт за хуйня? То что ты привёл по ссылке, это slime cube, ещё называеют stored cube, суть эффекта рассказывал (на примере моей интро) Манве в передаче Oldskool Clinic #22 http://scene.rpod.ru/123692.html
так что всетаки нифига не шаришь именно ты |
ты твистер с rubber cube не путаешь? у Комплекса он называется так, есть исходники интрухи Placebo(placesrc.zip фиг скачаешь), где называется LARUSSE SHADER, он иногда упоминается, но сырцов я не нашол, вапще непонятно штоза фигня. а в паскальских demostuf.zip rubber cube не компилится, типа с менеджером памяти наворочено, я не динозавр какойта, штоп настроить.
ну и далше, нашел на джаваскрипте:
http://engene.se/cube2.html
но с ним о5 фигня полная(
а про педарачи, што Манве вел я низнал, буду в курсе. надо будет посмотреть поржать...он надеюсь, не амижный эффект описываед?
на Амиге одну из демок не помню, видел эффект, нашел вторую - Point Blank Andromeda 1992. Ютуб сам найдешь? _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл! |
|
Вернуться к началу |
|
|
numerouno
Зарегистрирован: 04.09.2011 Сообщения: 390
|
Добавлено: Вт Ноя 22, 2011 07:28 Заголовок сообщения: |
|
|
http://feenix.iqs.fi/vrendtech.html
вот тут например шейдер упоминается.
http://www.algonet.se/~synchron/pheaven/www/area3.htm
а тут ссылка, видимо на Плацебо исходник, тока фиг его утянешь из оригинала. _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл! |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вт Ноя 22, 2011 18:36 Заголовок сообщения: |
|
|
numerouno писал(а): |
ты твистер с rubber cube не путаешь? ? |
не путаю, то что Манве рассказывал о технологии в моей интро Slime Patriotic, это именно stored cube (ну назови как хочешь), именно такой алгоритм, просто в данной интро я его применил не стандартно, а вот в этой интро: http://pouet.net/prod.php?which=51550 (видео http://www.demoscene.tv/prod.php?id_prod=13542 ) более стандарнто, хотя там не куб как объект, ибо куб это просто слишком (хотя в конце там и кубик гнутый проскакивает). Но суть так же, что и в амижных демках и дос-демках.
Я эффектом этим с "гибким кубом" заинтерисовался ещё в году 94-м, когда увидел его в демках. Было понятно, что на 386-м компьютере кубик не поизгибаешь сделав его высокополигональным. Значит это фокус. Ну а вместо того, чтобы тупо ковырять чужие сорцы, я подумал мозгами и понял, что суть в буферизации кадров с обычным не гибким кубиком и выводе строк на экран из забуферизированных ранее кадров, где каждая последующая строка берётся из более раннего буфера. Потом уже, когда у меня появились сорцы из интернета, я убедился, что так все и делали.
Ну и потом я не отказал себе в удовольствии написать этот же эффект на конвеере GPU, и даже обошелся без шейдера. |
|
Вернуться к началу |
|
|
numerouno
Зарегистрирован: 04.09.2011 Сообщения: 390
|
Добавлено: Вт Ноя 22, 2011 20:23 Заголовок сообщения: |
|
|
вооооооооооооот, харашо тебе,сам догадался..
у меня о5 затык, никак не идет код.
Чужое ковырять, што от Комплекса,бестолку. былоп неплохо эти сырцы надыбать. _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл! |
|
Вернуться к началу |
|
|
numerouno
Зарегистрирован: 04.09.2011 Сообщения: 390
|
Добавлено: Сб Дек 10, 2011 18:15 Заголовок сообщения: |
|
|
BiTL писал(а): | numerouno писал(а): | http://depositfiles.com/files/8afh1gse7
так и не нашел, где были BBStro, первая похоже на воксельное? |
Да, это те же воксели. Наверняка же ты видел mars.exe знаменитый? Так вот посмотри на вышеуказанную bbstro под улом, закрыв левую (или правую) половину экрана. Увидишь что это очень покохе на mars.exe, который также в свою очередь является воксельным ланшафтом. |
та самая демка в виде сырцов на textfiles.com, называется dna_dsrc.zip, в суть еще не въехал, кагдато руки дойдут. _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл! |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
|
Вернуться к началу |
|
|
numerouno
Зарегистрирован: 04.09.2011 Сообщения: 390
|
Добавлено: Пт Янв 13, 2012 23:10 Заголовок сообщения: |
|
|
стока новостей)
нашел twist на Processing, видел на Атари несколько разновидностей. _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл! |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
|
Вернуться к началу |
|
|
Tronix
Зарегистрирован: 02.11.2011 Сообщения: 72
|
Добавлено: Пт Мар 02, 2012 15:26 Заголовок сообщения: |
|
|
Всем привет,
возвращаясь к ротозумеру... Немного не понятно, как именно нужно "перемешивать" пиксели после зума и поворота. Соседние пиксели переставлять местами или как?
Просто захотелось написать сабж для WinCE, в качестве скринсейвера (навигатор у меня). Там как в досе примерно - есть линейный rowbuffer, он 480x272 * 2 (16,bnysq wdtn) для моего девайса. Делаю тупо как здесь и говорили:
1) в центре экрана +/-20 пикселей рисую небольшой квадрат рандомным цветом (в бекбуфере).
2) поворачиваю на небольшой угол и увеличиваю немного. Отрисовываюсь на экране.
3) копирую содержимое экрана в бекбуфер.
Процедура поворота - почти без изменений дернутая из demo.design.faq (только сдвинул координаты центра поворота, хз - правильно ли):
screen_dx = 480;
screen_dy = 272;
buffer = бекбуфер
shadow_buffer = можно сказать видимый буффер (экран)
Код: | void FastRotate(float scale, //the scaling factor
float ang) //the rotation angle
{
long xscale=sin(ang)*65536L/scale;
long yscale=cos(ang)*65536L/scale;
long xc=(screen_dx/2)*65536L - ((screen_dx/2)*yscale+(screen_dy/2)*xscale);
long yc=(screen_dy/2)*65536L - ((screen_dy/2)*yscale-(screen_dx/2)*xscale);
WORD far *scn=shadow_buffer;
for (int y=0;y<screen_dy;y++) //normally from 0 to 199
{
long xlong=xc,ylong=yc; //init x/ylong to topleft of square
for (int x=0;x<screen_dx;) //normally from 0 to 319
{
register int tempx=xlong>>16;
register int tempy=ylong>>16;
if( (tempx<0) || (tempx>=screen_dx) || (tempy<0) || (tempy>=screen_dy) )
scn[x++]=0;
else
scn[x++]= buffer[tempx+y320[tempy]];
}
xlong+=yscale;ylong-=xscale;
}
scn+=screen_dx;
xc+=xscale;yc+=yscale;
}
} |
Но получается совсем не то, как в оригинале. Вот, попытался заснять с эмулятора:
http://youtu.be/VFChPjwesHI
Пробовал после 1-ого шага перемешать в центре экрана (в квадрате 64x64) соседние пикселе местами. Выходит немного получше, но все равно сабжевого эффекта не возникает (((
Прошу совета |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Мар 03, 2012 02:44 Заголовок сообщения: |
|
|
в оригинале там не пиксели перемешиваются, там происходит "дрожание" сетки при считывании блоков в бэкбуфер. Там ведь поворот и зумирование фэйковое, тоесть не попиксельное, а для ускорения алгоритма и сведения математики к минимуму растр представлен из блоков 32х32, которые смещаются вниз/влево (или вверх/вправо), а потом какбы накреняется, что в купе с фидбэком даёт нам непрерывный зум+вращение контента. И вот когда поблочно считывается, то генерится небольшое псевдо-рандомное дрожание координат "сетки", что и вытекает в эти узорные ломанные узоры похожие на фрактальчики.
Если ты делаешь зум+поворот цельного растра, то эффекта точно такого не добьёшься. Точнее добьёшся, но будет сильно "крупно" дрожать, ведь прийдётся сам квад целиком "болтать". А там каждая "клеточка" поотдельности +1...-1 колеблется.
Вобщем думай как сэмулировать ) Либо проходить по изображению после зума/поворота какимто фильтром который мазаично "подвигает" на 1-2 пикселя участки растра, либо повтори код оригинала в точности ( http://www.bel.fi/~alankila/rotzoomer.html ). |
|
Вернуться к началу |
|
|
Tronix
Зарегистрирован: 02.11.2011 Сообщения: 72
|
Добавлено: Сб Мар 03, 2012 14:25 Заголовок сообщения: |
|
|
Да-да, я потом уже вчера тоже додумался про "мозаику". Пробовал сделать так: (на говнокод не обращайте внимания, на си пишу второй-третий раз в жизни, потом оптимизировать буду; ща главное чтоб работало)
Код: | void ShuffleImage( LPWORD buf )
{
for (int j=16; j < screen_dy-16; j+=16)
for (int i=16; i < screen_dx-16; i+=16)
{
int pos = 0;
for (int y=j; y <j+16; y++)
for (int x=i; x<i+16; x++)
mas[pos++] = buf[y*screen_dx+x];
pos = 0;
int dx,dy;
dx = 3-rand()%6;
dy = 3-rand()%6;
for (int y=j+dy; y <j+16+dy; y++)
for (int x=i+dx; x<i+16+dx; x++)
buf[y*screen_dx+x] = mas[pos++];
}
} |
Читаю последовательно квадратики 16x16 пикселей и затем вставляю их +/- 1-2 пикселя от начальной позиции. Так почти по всему экрану (ну кроме совсем крайних к началу и концу экрана). Получается хренотень - все трясется, но эффекта нет ((
Вот так примерно это выглядит: http://www.youtube.com/watch?v=xK_9Yl6UM_c
"Честный" алгоритм с амиги (ну, с яваскрипта) я до конца не совсем понимаю. И поэтому хотелось бы обойтись малой кровью, простым скейлом и поворотом с последующим фильтром. Быть может я просто неправильную "мозаику" делаю?? |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Мар 03, 2012 22:59 Заголовок сообщения: |
|
|
Tronix писал(а): |
Читаю последовательно квадратики 16x16 пикселей и затем вставляю их +/- 1-2 пикселя от начальной позиции. Так почти по всему экрану (ну кроме совсем крайних к началу и концу экрана). Получается хренотень - все трясется, но эффекта нет ((
|
Ну почему хренотень? Видно, что эффект вырисовывается тот что надо, просто шаг "тряски" очень большой.
И да, надо "трясти" квады не при отрисовке, а трясти координаты считывания. Считывать надо по-квадратикам, а не целым куском. |
|
Вернуться к началу |
|
|
Tronix
Зарегистрирован: 02.11.2011 Сообщения: 72
|
Добавлено: Вт Мар 06, 2012 12:49 Заголовок сообщения: |
|
|
BiTL писал(а): | И да, надо "трясти" квады не при отрисовке, а трясти координаты считывания. Считывать надо по-квадратикам, а не целым куском. |
Попробовал "трясти" координаты при считывании, убавил шаг тряски (+/- 1 пиксель сделал). Уменьшил квадраты до 8x8 пикселей. Эффект вроде бы есть, но не такой как оригинальный конечно. Ну да ладно, видно действительно если хочется повторить эффект из амиги, нужно делать строго по оригинальному алгосу.
На эмуляторе: http://www.youtube.com/watch?v=wnUVF0LT4aE
На девайсах: http://www.youtube.com/watch?v=GsxCCbGsY8M |
|
Вернуться к началу |
|
|
numerouno
Зарегистрирован: 04.09.2011 Сообщения: 390
|
Добавлено: Ср Мар 07, 2012 19:26 Заголовок сообщения: |
|
|
Троникс, куда-то тебя понесло немного..можно пыхтеть над процедурой зумера, можно накопанное ротозумером неутомимого Битла просто повторить.
смысл фтом, што координаты копируемых спрайтов примитивно вычисляются, глянь на переменную shift, и потом блоки(т.е. фрагменты) пихаются в буфер памяти, затем выводятся поочередно.
не знаю, как на платформах и на Амиге реализовано, но получилось так - попиксельное копирование и попиксельный вывод на экран.
формально, никакого поворота тут нет.
Рандомное заполнение цветом центре делается от балды, у BlitzBasic'a(Kumpa) рисуется просто линия по окружности. _________________ вначале было крактро, а потом такое началось,когда праникся дэмоспиритом апасля вайнспирита!1
Аднажды на ДемосценеРупоявился невежа. его с позором прогнали. Так появились тролли.
миниатюры 256bytes.net в одном флаконе
Я программист, Зип Файл! |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|