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



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


СообщениеДобавлено: Вс Авг 26, 2012 11:02    Заголовок сообщения: Processing XOR sphere Ответить с цитатой

найдено тут:
http://www.openprocessing.org/sketch/4289
переписал на PureBasic'e - работает, как ни странно:
Код:

;http://www.openprocessing.org/sketch/4289
If InitSprite() And OpenWindow(0,0,0,640,480,"XOR sphere",#PB_Window_SystemMenu) And OpenWindowedScreen(WindowID(0),0,0,640,480,0,0,0)
  p.i=0
  w=255
  Repeat
;    Sleep_(1)
        StartDrawing(ScreenOutput())
        For j=0 To 128;w-1
          y.f=-1+2*j/128;w
        For i=0 To 128;w-1
          x.f=-1+2*i/128;w
          d.f=Sqr(x*x+y*y)
          t.f=(3-Sqr(4-5*d*d))/(d*d+1)*w
          z.i=Int(y*t+p)!Int(x*t+p)
          Plot(i,j,RGB(z&w,0,0))
        Next i
        Next j
       
        StopDrawing()
        p=p+1
      FlipBuffers()
  Until WindowEvent()=#PB_Event_CloseWindow
EndIf

Далее, захотелось реализовать алгоритм без FPU,переписал на Паскале:
Код:
program xorsphere;
uses crt;
var p,z:integer;
i,j:byte;
x,y,d,t:real;
begin

asm
mov ax,13h
int 10h
end;
p:=0;
repeat
for j:=0 to 199 do begin
y:=-1+2*j/199;
for i:=0 to 255 do begin
x:=-1+2*i/255;
d:=sqr(x*x+y*y);
t:=(3-sqr(4-5*d*d)/(d*d+1))*255;
z:=round(y*t+p) xor round(x*t+p);
mem[$a000:j*320+i]:=z shr 8;
end;
end;
p:=p+1;
until keypressed;
end.

и получилась полная фигня. стал искать, в чем ошибка, получилось, что t.f=(3-Sqr(4-5*d*d))/(d*d+1)*w дает NaN, и как код работает дальше вообще неясно. Неясно, почему получается невнятная картинка во втором коде.
и неясно, как быть далее - игнорировать отрицательное значение, или нужен хитрый трюк?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
SCRIMERS



Зарегистрирован: 21.03.2008
Сообщения: 269
Откуда: Sevastopol

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

попробуй на делфях

там есть значения "минус беконечность", "плюс бесконечность" и "неопределено".

Кстати все эти значения вполне имеют конкретное значение, протсо их так интерпритирует среда разработки
_________________
на русской Сцене мы удивляем друг друга тем, что вообще что-то делаем (с) manwe
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


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


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

SCRIMERS писал(а):
попробуй на делфях

там есть значения "минус беконечность", "плюс бесконечность" и "неопределено".

Кстати все эти значения вполне имеют конкретное значение, протсо их так интерпритирует среда разработки


ну он то ведёт к тому, чтоб на ASM было, под MS-DOS, зачем ему делфи?

По теме. Незнаю зачем бороться за исключение FPU.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



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


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

BiTL писал(а):

ну он то ведёт к тому, чтоб на ASM было, под MS-DOS, зачем ему делфи?

По теме. Незнаю зачем бороться за исключение FPU.

Исключений тут нет, в отладчике OllyDbg не происходит, просто на стеке болтается NaN, и операции с ним опять NyanCat(

грешил на Паскаль, баг был в умножении t на 255, теперь картинка похожая на аналог, но наверняка косяк с данными.

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

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


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


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

bi71 писал(а):

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


интры:
http://pouet.net/prod.php?which=2096
http://pouet.net/prod.php?which=2099

алгоритм:
http://adrianboeing.blogspot.com/2011/02/sphere-effect-in-webgl.html
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



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


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

ух ты, спасибо. алгоритм не заметил, он кое-что объясняет.
переписал по нему код, теперь "рыбий глаз":
Код:

        For j=0 To w-1
        For i=0 To w-1
          ;vec2 p = -1.0 + 2.0 * gl_FragCoord.xy / resolution.xy;
          x.f=-1+2*i/w
          y.f=-1+2*j/w
          ;float r =sqrt(dot(p,p));
          r.f=Sqr(x*x+y*y)
          ;float f = 1.0 - sqrt(1.0 - r*r);
          f.f=1-Sqr(1-r*r)
          ;uv.x = p.x*f;
          uvx.i=Int(w*x*f+p)
          ;uv.y = p.y*f;
          uvy.i=Int(w*y*f+p)
 ;gl_FragColor = vec4(texture2D(tex,uv).xyz, 1.0);
         c.a=uvx!uvy
        Plot(i,j,RGB(c,0,0))
        Next i
        Next j
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


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


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

BiTL, как ты помнишь все эти интры - где какой эффект и как интра называлась? Это же невозможно, их дохреналлион! Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
bi71



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


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

Manwe писал(а):
BiTL, как ты помнишь все эти интры - где какой эффект и как интра называлась? Это же невозможно, их дохреналлион! Smile

кстати, тоже удивлен объемом энциклопедических знаний.

отложенная идея пометить ключевыми словами интры пропала....
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
SCRIMERS



Зарегистрирован: 21.03.2008
Сообщения: 269
Откуда: Sevastopol

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

Manwe писал(а):
BiTL, как ты помнишь все эти интры - где какой эффект и как интра называлась? Это же невозможно, их дохреналлион! Smile


ОФФТОП: Битл ,почему бы не создать списочек с примерами основных эффектов?
_________________
на русской Сцене мы удивляем друг друга тем, что вообще что-то делаем (с) manwe
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
bi71



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


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

SCRIMERS писал(а):
Manwe писал(а):
BiTL, как ты помнишь все эти интры - где какой эффект и как интра называлась? Это же невозможно, их дохреналлион! Smile


ОФФТОП: Битл ,почему бы не создать списочек с примерами основных эффектов?

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


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


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

SCRIMERS писал(а):

ОФФТОП: Битл ,почему бы не создать списочек с примерами основных эффектов?


на поуэте есть такой топик. Там кто-то собирал список. Правда без описания принципов и алгоритмов.

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



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


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

BiTL писал(а):
на поуэте есть такой топик. Там кто-то собирал список. Правда без описания принципов и алгоритмов.

Однко, я разве против? Займитесь этим, и потомки будут благодарны )


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


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


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

bi71 писал(а):

алгоритмы изредка встречаются в амижных исходниках, список на pouet состоит из них?


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

Вот ты любишь изучать классические демо-эффекты, занялся бы каталогизированием и внятным описанием на русском. Большое дело бы сделал Smile

А если ещё и новые технологии описать, то что с 3д-акселерацией пришло, с начала 2000-х до сего дня, это была бы вообще крутатошка. Давно пора выпустить новый Demodesign FAQ. Может тогда и молодёжь на сцене появится.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
bi71



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


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

BiTL писал(а):
Не пойму о чем ты. Сорцы то там то здесь всякие встречаются. Но структурированной и полной базы классических демо-эффектов с демонстрацией, описанием и исходниками нет нигде.

я к тому, что чтение исходников без знания Амиги не приведет к пониманию эффекта. Закладки утеряны, не могу привести ссылку хранилища со старыми исходниками демо и крэктро. что они из себя представляют? невнятные каменты и код моторолки 68000. пресловутый Chaos Zoomer/Mortal Combat cracktro by Prestige не поймешь нифига.

BiTL писал(а):
Вот ты любишь изучать классические демо-эффекты, занялся бы каталогизированием и внятным описанием на русском. Большое дело бы сделал Smile


я писал на speccy.info исходники и описание эффектов, но с развитием энциклопедизма участников проекта просто забросил дело.
на каталогизирование нужен нормальный движок, никакой blogspot просто не подходит. пусть лучше драные эффекты с рабочими сырцами и комментариями на страничке поваляются.
рипперство или нет, но неплохой способ изучения имхо.

так что, не с моим косноязычием расписывать. Тем более, что эффект Jello Cube внятно расписать никто не способен, да и алгоритмы утеряны наверняка, я пытался связаться с авторами, ничего не получил.

сейчас последняя отмазка - после вирья DosBox не работает, как надо, какая нафиг каталогизация?

BiTL писал(а):
А если ещё и новые технологии описать, то что с 3д-акселерацией пришло, с начала 2000-х до сего дня, это была бы вообще крутатошка. Давно пора выпустить новый Demodesign FAQ. Может тогда и молодёжь на сцене появится.


Технологии нужны, в частности работа с текстурами, FBO.Беда в том, что над рабочим примером пропыхтишь сутки и получаешь фиг.
И заодно внятное описание marching cubes не помешало.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
BiTL
DOS lover


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


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

bi71 писал(а):

И заодно внятное описание marching cubes не помешало.


http://algolist.manual.ru/graphics/3dfaq/articles/74.php Не? Более внятно даже незнаю как объяснить.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Demoscene.Ru -> Программирование Часовой пояс: GMT + 3
На страницу 1, 2  След.
Страница 1 из 2

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