Wczoraj wnikliwiej wczytałem się w artykuł Krógera o wypełniankach z któregoś Seriousa, i poruszyło mnie. Kolega pisze tam o półprekalkach typu stablicowanie współrzędnych bryły po rotacji. Zaznacza jeszcze, że jest to dopuszczalne i sam tego używa, co mnie ucieszyło. :) Zaraz też przyszło mi do głowy, że w takiej tablicy możnaby umieścić również kolory wierzchołków dla gouarda, czy współrzędne tekstury dla environmental mappingu - zamiast wyliczać z dot productów i innych intensywnych działań. Nie znam dokładnie obyczajów koderów 8-bit, dlatego pytam: czy dopuszczalny prekalk to poprostu taki, który nie jest animką, czy też granica jest ściślejsza?

2

Olej moralność. Dobry efekt to taki, który dobrze wygląda i szybko chodzi (i ładuje się z Jedynego Słusznego DOSa, z twardego dysku IDEa ;>).
Jak go zrobisz to twoja prywatna sprawa.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

3

Uważaj epij, bo zaraz przyjdzie tu taki jeden i powie, że jesteś za krótko na scenie żeby snuć takie teorie ;)

Śmigło - rób dalej tak, jak uważasz. Po tym co pokazałeś na Grzybsoniadzie wierzymy w Ciebie i popieramy Twoje produkcje!

Czy możecie wyjaśnić, Stirlitz, dlaczego wasz służbowy adres stirlitz@rsha.gov.de ma aliasa justas@gru.su?
Nie czytam PM. Proszę używać e-mail.

4 Ostatnio edytowany przez mikey (2008-01-07 16:02:34)

Jakbyś chciał wyliczać dotproducty, albo liczyc wspolrzedne tekstur i normalne w realtime to bys sie zesrał, ze tak obrazowo powiem :)
Istotą jest wyważenie między tym co się nie opłaca 'kalkulacyjnie' a tym co da się uprościć prostymi działaniami/trickami itp.
Równowaga musi być ;)

5 Ostatnio edytowany przez macgyver (2008-01-07 16:37:14)

Tak się złożyło, że nasze kochane 6502 nie ma nawet zaimplementowanych rozkazów mnożenia i dzielenia, żeby nie powiedzieć o czymś, co jest już abstrakcją, mianowicie koprocesora z funkcjami trygonometrycznymi, pierwiastkami itp i tylko sztuka optymalizacji, tworzenia tablic i stosowania sztuczek daje możliwość uzyskania sensownych efektów. Praktycznie każdy efekt opiera się na wcześniej przeliczonych danych, różnica polega jedynie na tym w jakim stopniu dane są przeliczone. A że szybkość procesora od 30 prawie lat nie zmieniła się, a mimo to widoczny jest postęp, trzeba na jakimś poziomie to nadrabiać ;)

6

ja uwazam, ze jak fajnie zrobione to moze byc i animka.

7

dely, ja nie mówię z punktu widzenia kodera, tylko widza. Rybka mnie, co pod spodem, byle były ekłalizery.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

8

Jakkolwiek staram się tego unikać, przeliczanie owszem ma sens.
Jeśli chodzi o 3D, pamiętaj, że różne klatki animacji wyrenderują Ci się z różną prędkością, więc najlepiej:
- wylicz jakby chodziło co 1/50 s
- renderując zaznaczaj które klatki bierzesz
- do gotowego produktu wstaw te, które brałeś.
Inna rzecz, że dla skomplikowanych scen ilość danych bardzo szybko rośnie, i o ile chcesz zrobić dłuższą animkę, sporo pamięci Ci na to zejdzie.
No i gry na takim enginie nie zrobisz :(

: 404. Stopka not found

9

> No i gry na takim enginie nie zrobisz

ktos polknal bakcyla ? ;-)

---

odnosnie tematu z pozycji watchera powiem tylko, ze nie liczy sie wklad pracy tak bardzo jak efekt koncowy. tablicuj co i ile chcesz.

http://atari.pl/hsc/ad.php?i=1.

10 Ostatnio edytowany przez pr0be (2008-01-07 19:28:23)

mikey napisał/a:

Jakbyś chciał wyliczać dotproducty, albo liczyc wspolrzedne tekstur i normalne w realtime to bys sie zesrał, ze tak obrazowo powiem :)

jak najbardziej mozna to robic w realtime, wystarczy, ze zamiast liczyc dotprodukty, bedziemy mieli juz przeliczone wczesniej Normalne, ktore podczas renderingu wystarczy obrocic o taki sam kat jak wierzcholki obiektu - koszt obrocenia Normalnej jest o 1/3 mniejszy niz obrot zwyklego wierzochlka, wiec nie sa to jakies kosmiczne wartosci...


co do mnozenia i dzielenia - owszem 6502 nie ma wbudowanych tych operacji, ale to nie jest problem, w latwy sposob mozna mnozyc liczby 8bitowe (ze znakiem i bez) uzywajac tylko 2kb/4kb tablic... w niektorych przypadkach (np. obrot punktow) mozna uzyskac mnozenie 8bitowych liczb z 16bitowym wynikiem juz w 16cyklach...


jesli chodzi o mnie, to jestem przeciwny uzywaniu precalcu w stylu: przeliczone wierzcholki, przeliczone sciany itp
po to sie pisze efekt, zeby pokazac, ze jest on wstanie dzialac na danej maszynie...

oczywiscie uzywanie precalcu nie jest czyms zlym, a na malym Atari powiedzialbym, ze jest nawet powrzechnym zjawiskiem, jesli autor nie ma zadnych wyrzutow sumienia gdy uzywa precalcu to nie widze zadnego problemu -  ja poprostu wole aby dany efekt chodzil o ta jedna czy dwie ramki wolniej ale byl liczony 100% realtime poniewaz napisanie takiego efektu daje mi duzo wieksza satysfakcje...

podsumowujac, jesli Tobie nie przeszkadza, ze uzyjesz precalcu/pol precalcu to nie ma sprawy - wazne, ze nie jest to animka ;)

11

Uwazajcie bo juz kiedys byla wojna o tablice. Zwlaszcza o cudze.
:)

12

No to trochę mi się rozjaśniło. :) THX wszystkim za sugestie.

Dely, Wasze wsparcie jest dla mnie nieocenione - nic nie motywuje bardziej do dalszej pracy. Dziękuję. :)

13

Kiedy "owoc" pokosztujemy ?

14

"dot product" to taki młodzieżowy slang?

15

Nie, to są zagadnienia z geometrii, przydatne do najróżniejszych przekształceń 3D

http://en.wikipedia.org/wiki/Dot_product
http://en.wikipedia.org/wiki/Cross_product

16

Zenon/Dial napisał/a:

Kiedy "owoc" pokosztujemy ?

Nie mam pojęcia, ale raczej nie na foreverze. Narazie to jest jeszcze etap doprowadzania techniki do jakichś ogólnych standardów.

17 Ostatnio edytowany przez gl.h (2008-01-09 15:57:23)

mikey napisał/a:

Nie, to są zagadnienia z geometrii, przydatne do najróżniejszych przekształceń 3D

http://en.wikipedia.org/wiki/Dot_product
http://en.wikipedia.org/wiki/Cross_product

No tak. Jakie pytanie taka odpowiedź :D Dzięki Miker. Odpowiedziałeś w dobre wierze, ale mi chodziło o kontekst użycia wyrazenia. Ludzie piszą długie posty po polsku, w liceum (przynajmniej na matfizie za moich czasów) był "iloczyn skalarny", na pierwszym roku każdych niehumanistycznych studiów jest iloczyn skalarny, potem są przestrzenie Hilberta, "iloczyn skalarny" odmienia się przez wszystkie przypadki i uzywa na codzień, a tutaj wszyscy piszą dot product. Zaciekawiło mnie to. Nie mam kontaktu ze sceną, zastanawiam się czy może chodzi o to, że scenowcy zaczynają bardzo młodo i pierwsze wektorki poznają z jakiegoś SDK siłą rzeczy nieprzetłumacoznego na prowincjonalne języki. Nie zamierzam się tu wygłupiac z jakąś językową krucjatą. autentycznie byłem ciekaw skąd ten slang, acz niekurywam, że brzmi mi on obco i dziwacznie, tak jak "wezmę szałer" czy "pojde do szopu".

18

Przepraszam ze odpowiedzialem w dobrej wierze ;)
Po prostu wiekszosc literatury/tutoriali z ktorych uczyli sie koderzy jest po angielsku, a nie kazdy mial kontakt z tym w jezyku ojdczystym, na studiach, stąd taki 'slang'
Poza tym krócej sie wymawia i wiadomo o co chodzi ;)

19

Jeszcze parę lat i do wyboru będzie terminologia japońska, chińska albo koreańska.

Hitler, Stalin, totalniak, SSman, NKWDzista, kaczor dyktator, za długo byłem w ChRL, wypowiadam się afektywnie.

20

mikey napisał/a:

a nie kazdy mial kontakt z tym w jezyku ojdczystym, na studiach, stąd taki 'slang'

To świadczy o tym, co wart jest nasz system edukacji, jeśli chodzi o szkołę podstawową i średnią - kto cokolwiek potem umie, to na ogół jest to samouk. Absolwenci liceów niekiedy ledwie umieją pisać, nie umieją sklecić zdania ani się wysłowić, to i nie dziwne, że specjalistycznego słownictwa również nie znają.

KMK
? HEX$(6670358)

21

Otóż to....

22

epi napisał/a:

Olej moralność. Dobry efekt to taki, który dobrze wygląda i szybko chodzi (i ładuje się z Jedynego Słusznego DOSa, z twardego dysku IDEa ;>).
Jak go zrobisz to twoja prywatna sprawa.

Poruszonym tematem czuję się wywołany do tablicy. Zwracam uwagę, że mowa w nim o moralności półprekalka.

Pytanie, czy stosowanie prekalków jest dopuszczalne pokazuje jak stosunek do takich trików zmieniał się w czasie. Pamiętam oburzenie x-raya w Mikołowie'95 tym że Shadowsi użyli w demie dodatkowe 64kb. Jeszcze lepiej zapadł mi w pamięć zachwyt Bobera, że jako jedyny zorientował się od razu, że Journey to animka (Częstochowa '97). Przykłady można by mnożyć. Minęło 10 lat i stwierdzam, że nie sposób się nie zgodzić z tym, co napisał Epi.

A na koniec mała humoreska - moje słowa sprzed blisko dekady:

"Prekalkiem zwykliśmy złośliwie określać efekty, których trudność wykonania sprowadza się do napisania szybkich procedur rozpakowujących z pamięci kolejne klatki animacji. Jednym słowem - animki. Robienie czegoś takiego (bez informowania widza) oczywiście uwłacza godności kodera. Zrobienie półprekalka jeszcze mieści się w ramach naszego kodeksu etyki zawodowej."

23

fajny byłby taki program np. wczytujesz obiekty 3d (np. z Lightwave) i tworzysz jakąś ścieżkę zachowań takiej bryły typu obrót XYZ, zmiana położenia kamery, odległości widz-bryła itp. czyli wszystkie te bardziej czasochłonne operacje, na wyjściu program wygenerowałby współrzędne XY (2d) dla gotowych klatek takiego projektu

czy jest to moralne :) ?

*- TeBe/Madteam
3x Atari 130XE, SDX, CPU 65816, 2x VBXE, 2x IDE Plus rev. C

24

mikey napisał/a:

Przepraszam ze odpowiedzialem w dobrej wierze ;)
Po prostu wiekszosc literatury/tutoriali z ktorych uczyli sie koderzy jest po angielsku, a nie kazdy mial kontakt z tym w jezyku ojdczystym, na studiach, stąd taki 'slang'
Poza tym krócej sie wymawia i wiadomo o co chodzi ;)

Czyli jak podejrzewałem. Inicjacja ma niebagatelne znaczenie w późniejszym życiu. :) Pogratulować. Ja w swoim nastoletnim żywocie robiłem tylko badziwie w BASICu i żaden dotproduct nie był mi potrzebny. A zrozumienie algerby liniowej to żadna sztuka jesli alternatywą jest WKU :D

25

Jak już mówimy co jest moralne, a co nie to jakie są granice ? Np. gdy robiąc "tunel" wygenerujemy kilka tysięcy razy sekwencję "lda ora sta" to czy to jest moralne ? I czy to jest pół-prekalk czy trzyczwarte-prekalk ? A z kolei nawet jak będziemy rysować tunel z pętli to czy tablice arcustangensów i sinusów to pół-prekalk czy tylko ćwierć-prekalk ?  Gdzie są granice moralności/dopuszczalnego stopnia prekalku ?

Jest jeszcze inny aspekt - jeżeli tunel ma być np. efektem w tle, np. do creditsów, greetingsów, obiektu 3d itp. to czy to jest tak samo moralne-niemoralne jak np. gdy tunel jest efektem dla samego siebie ?