www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
twister или twisting bar
На страницу Пред.  1, 2, 3, ... 9, 10, 11  След.
 
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Tronix



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


СообщениеДобавлено: Вс Авг 05, 2012 22:34    Заголовок сообщения: Ответить с цитатой

То-есть я не понял, никто чтоле твистер с текстурированием не делал, и поэтому не знает алгоритм? OMG, ну вы ж сценеры, как так получается, это верно шутка какая-то?

Там (на амижной борде) чувак все подробно объясняет: нужна такая текстура, где начиная с лево направо присутствуют картинки четырех граней. Так, если граней 4 и максимальная ширина одной грани 64 пикселя, текстура должна быть размером в ширину 4*64 = 256 пикселей.
Код:
64 пикселя 1 грань; 64 пикселя 2 грань; 64 пикселя 3 грань; 64 пикселя 4 грань; следующая строка
64 пикселя 1 грань; 64 пикселя 2 грань; 64 пикселя 3 грань; 64 пикселя 4 грань; следующая строка
64 пикселя 1 грань; 64 пикселя 2 грань; 64 пикселя 3 грань; 64 пикселя 4 грань; следующая строка
64 пикселя 1 грань; 64 пикселя 2 грань; 64 пикселя 3 грань; 64 пикселя 4 грань; следующая строка

и тд, я думаю понятно.

Затем, когда нужно нарисовать пиксель в цикле по иксу, берем его цвет из текстуры по следующей формуле:
Код:
du = (maxwidth<<8) / linelength
, где maxwidth = 64 а linelength = 256. Че тут сложного то?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


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


СообщениеДобавлено: Пн Авг 06, 2012 04:02    Заголовок сообщения: Ответить с цитатой

Tronix писал(а):
То-есть я не понял, никто чтоле твистер с текстурированием не делал, и поэтому не знает алгоритм? OMG, ну вы ж сценеры, как так получается, это верно шутка какая-то?


я делал, лет 15 назад, текстурированный, + с текстом бегущим по граням, и освещением. На ассемблере.

Что ты, хочешь чтобы я написал код? Мне реально лень и неинтересно, поскольку это слишком просто и написано уже 10000 раз.

Может чтонить по-интереснее разберёшь? Например воксельный красивый твист, аля
http://www.youtube.com/watch?v=L_lD7iqG8nA&feature=player_detailpage#t=105s
или ещё круче:
http://www.youtube.com/watch?v=HTZr0bctcAk&feature=player_detailpage#t=272s
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



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


СообщениеДобавлено: Пн Авг 06, 2012 05:04    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):

Может чтонить по-интереснее разберёшь? Например воксельный красивый твист, аля
http://www.youtube.com/watch?v=L_lD7iqG8nA&feature=player_detailpage#t=105s
или ещё круче:
http://www.youtube.com/watch?v=HTZr0bctcAk&feature=player_detailpage#t=272s

закончу с текстурой, доберусь до вас)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tronix



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


СообщениеДобавлено: Пн Авг 06, 2012 08:19    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
Что ты, хочешь чтобы я написал код? Мне реально лень и неинтересно, поскольку это слишком просто и написано уже 10000 раз.


Да не нужен мне код, я сам его могу написать раз плюнуть. Просто аналогично - не интересно так как слишком просто и ничуть не отличается от обычного твистера без текстурирования (ну парой строк всего).

BiTL писал(а):
Может чтонить по-интереснее разберёшь? Например воксельный красивый твист, аля
http://www.youtube.com/watch?v=L_lD7iqG8nA&feature=player_detailpage#t=105s
или ещё круче:
http://www.youtube.com/watch?v=HTZr0bctcAk&feature=player_detailpage#t=272s


Вот это да, это интересно, но что значит разобрать? Я ваще даж не представляю как эта хрень сделана, особенно вторая.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tronix



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


СообщениеДобавлено: Пн Авг 06, 2012 13:04    Заголовок сообщения: Ответить с цитатой

После гугла немножка прояснилось: строится обычный классический воксельный ландшафт, только лучи кастуются на все 360 градусов (а не на 60 или около того, при классическом алгоритме воксельного террайна). Затем координаты переводятся в полярные, маленько корректируются меджик числами (игра с sin и тд) и вууаля.

Получается что-то типа того (только представьте вместо домов и тд воксельный ландшафт):

Если по первой части еще примерно понятно, то с второй ваще нехрена не понятно ))) Ну да и ладно, адин хрен я такое не накодю никогда ибо скиллов не хватает (математику не любил еще со школы).
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tronix



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


СообщениеДобавлено: Пт Авг 10, 2012 20:36    Заголовок сообщения: Ответить с цитатой

Посаны, а все-таки как замутить воксельный твистер? Дайти плиз код для нуба. Да хер с ним, даже на васике сойдет.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


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


СообщениеДобавлено: Пт Авг 10, 2012 20:44    Заголовок сообщения: Ответить с цитатой

Tronix писал(а):
Посаны, а все-таки как замутить воксельный твистер? Дайти плиз код для нуба. Да хер с ним, даже на васике сойдет.


ну есть же сорцы Despair: http://pouet.net/prod.php?which=365 бери и смотри как там чо
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



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


СообщениеДобавлено: Сб Авг 11, 2012 08:51    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
Tronix писал(а):
Посаны, а все-таки как замутить воксельный твистер? Дайти плиз код для нуба. Да хер с ним, даже на васике сойдет.


ну есть же сорцы Despair: http://pouet.net/prod.php?which=365 бери и смотри как там чо

кстати, вроде бы на HTML5 порт делали, но я ссылку не сохранил.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


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


СообщениеДобавлено: Сб Авг 11, 2012 18:32    Заголовок сообщения: Ответить с цитатой

bi71 писал(а):
BiTL писал(а):
Tronix писал(а):
Посаны, а все-таки как замутить воксельный твистер? Дайти плиз код для нуба. Да хер с ним, даже на васике сойдет.


ну есть же сорцы Despair: http://pouet.net/prod.php?which=365 бери и смотри как там чо

кстати, вроде бы на HTML5 порт делали, но я ссылку не сохранил.


ты наверное это http://pouet.net/prod.php?which=59403 имеешь ввиду?

Таки да, но очень сложно разобрать JS-код, там адский матан и хак из-за оптимизации по размеру.

Код:
<canvas id=c><script>
a=c.getContext("2d");S=String.fromCharCode;e='';
M=[R=Math.random,Q=Math.cos,c.style.cssText='position:fixed;top:0;left:0;width:100%;height:100%;background:#000',e='data:audio/wav;base64,UklGRiQAAABXQVZFZm10IBAAAAABAAEAwF0AAMBdAAABAAgAZGF0YQAA'];for(t=2560;t--;)M[t]={t:t,u:t%48/7.64,v:t/366.7,x:128-R()*256,y:64-R()*256,z:128-R()*256};for(t=0;t++<8e5;)e+=btoa(S('13107103135701314204'[(t>>10&15)+(t>>13&4)]*t&96,R()*127*(Math.pow(t/144000%1,16)/4+Math.pow(1-t/144000%1,64)),t>>10&7^5||R()*127));Z=new Audio(e);Z.play(setInterval(function b(v,w){if(v)return w.W-v.W;M.sort(b);h=c.height=0|300*innerHeight/innerWidth;C=Q(r=Z.currentTime/2);S=Q(r-8);a.rotate((r&13)/64-.1);B=r/9;A=Math.pow(B%1,64);d=[1-A,0,A][0|B++%3];f=[1-A,0,A][0|B++%3];e=[1-A,0,A][0|B++%3];for(t=2560;t--;){v=M[t];if(v.W>0)a.fillRect(150-v.W*v.U,v.W*(v.y+Math.max(16*Q(r),150-r*42))+h/2,v.W*7,v.W*7,a.fillStyle='hsl('+[r*17-v.y+R()*48,(16+R()*48)+'%',v.W*7+32-32*Q(v.u*2-8)*Q(v.v*3-8)]+'%)');if(v.t<2304)Y=96-30*v.v,D=32+8*Q(v.u*2)*Q(v.v*3),v.x=(96-30*v.u)*d+D*(Q(v.u)*e+Q(v.u)*Q(v.v/2-8)*f),v.z=Y*d+D*(Q(v.u-8)*e+Q(v.u-8)*Q(v.v/2-8)*f),v.y=D*d+Y*e+D*Q(v.v/2)*f;v.W=128/(v.z*C-v.x*S+96);v.U=v.x*C+v.z*S}a.fillText(['P01 4MAT','MATRAKA'][B&1].substr(a.drawImage(c,0,r*h%h,32,h/8*(3+A+Q(B+A)),0,r*h%h,300,h/8*(3+A+Q(B+A))),r*8-48)+'|',32,h/2)},Z.loop=9))
</script>


Портировать код можно, но понять как он работает сложновато Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



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


СообщениеДобавлено: Вс Авг 12, 2012 05:29    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
bi71 писал(а):
BiTL писал(а):
Tronix писал(а):
Посаны, а все-таки как замутить воксельный твистер? Дайти плиз код для нуба. Да хер с ним, даже на васике сойдет.


ну есть же сорцы Despair: http://pouet.net/prod.php?which=365 бери и смотри как там чо

кстати, вроде бы на HTML5 порт делали, но я ссылку не сохранил.


ты наверное это http://pouet.net/prod.php?which=59403 имеешь ввиду?

Таки да, но очень сложно разобрать JS-код, там адский матан и хак из-за оптимизации по размеру.


нет, это:
http://www.webgl.com/2012/05/webgl-demo-despair/

код JS везде аццкий.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


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


СообщениеДобавлено: Вс Авг 12, 2012 18:43    Заголовок сообщения: Ответить с цитатой

bi71 писал(а):
BiTL писал(а):
bi71 писал(а):
BiTL писал(а):
Tronix писал(а):
Посаны, а все-таки как замутить воксельный твистер? Дайти плиз код для нуба. Да хер с ним, даже на васике сойдет.


ну есть же сорцы Despair: http://pouet.net/prod.php?which=365 бери и смотри как там чо

кстати, вроде бы на HTML5 порт делали, но я ссылку не сохранил.


ты наверное это http://pouet.net/prod.php?which=59403 имеешь ввиду?

Таки да, но очень сложно разобрать JS-код, там адский матан и хак из-за оптимизации по размеру.


нет, это:
http://www.webgl.com/2012/05/webgl-demo-despair/

код JS везде аццкий.


Ну прикольно, интересно как они эту штуку:



в WebGL закодили. Надо будет глянуть.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Tronix



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


СообщениеДобавлено: Ср Авг 15, 2012 23:13    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):

Ну прикольно, интересно как они эту штуку:



в WebGL закодили. Надо будет глянуть.


Есть некое подозрение, что эта штука не воксельная. А обычная 3д фигура, тока в сканлайн засунули синосуидальное искажение относительно икса. Примерно такое есть в Disaev Demo Guide от лохматого года на паскакале.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


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


СообщениеДобавлено: Чт Авг 16, 2012 00:03    Заголовок сообщения: Ответить с цитатой

Tronix писал(а):
BiTL писал(а):

Ну прикольно, интересно как они эту штуку:



в WebGL закодили. Надо будет глянуть.


Есть некое подозрение, что эта штука не воксельная. А обычная 3д фигура, тока в сканлайн засунули синосуидальное искажение относительно икса. Примерно такое есть в Disaev Demo Guide от лохматого года на паскакале.


В порте WebGL, ты имеешь ввиду?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



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


СообщениеДобавлено: Чт Авг 16, 2012 14:30    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
в WebGL закодили. Надо будет глянуть.


надо бы, и на тот исходник, что нарыл(dna_src), глянуть.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


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


СообщениеДобавлено: Чт Авг 16, 2012 20:34    Заголовок сообщения: Ответить с цитатой

к слову о твистерах... вот демка с Evoke 2012 жжот http://pouet.net/prod.php?which=59699

Особено саудтрек.

и платформа экзотическая.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Программирование Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3, ... 9, 10, 11  След.
Страница 2 из 11

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