Mascot Capsule a fustrum culling i z-bufor

Patrzysz na wersję archiwalną tematu "Mascot Capsule a fustrum culling i z-bufor" z forum pl.comp.demoscena



1 Wrz 2005, 12:08
Marek

Witam

Mam pytanie odnoście aplikacji 3D na bardzo proste urządzenie. Ma ok. 10MHz,
API wspiera 3d, jednak nie oferuje z-bufor’a. I tu pojawia się problem – jak
sobie bez niego poradzić na prostym urządzeniu, o skromnej pamięci i
niewielkiej prędkości. Dodatkowo API wszystkie operacje wykonuje na liczbach
całkowitych (ze względu na prędkość).
Jak się już niektórzy domyślili chodzi o komórkę z Mascot Capsule (np. Sony
Ericsson, Motorola). Same sceny muszą być dość proste (ok 500-600 vertex-ów na
klatkę), więc trzeba jakoś sobie poradzić z brakiem z-bufora oraz z eliminacją
niewidocznych elementów. Ma ktoś pomysł jak to zrobić? Jakieś linki? Googluje,
ale na temat Mascot Capture niewiele jest materiałów, a co do algorytmów to
sam nie wiem które zadziałają na tak słabych urządzeniach. Do eliminacji ścian
jest np. BSP, ale to zbyt złożone raczej dla telefonów. Zna ktoś prostsze
algorytmy fustrum culling oraz zastąpienie z-bufora?

na to urządzenie.

Pozdrawiam
Marek




1 Wrz 2005, 13:48
venire

Mam pytanie odnoście aplikacji 3D na bardzo proste urządzenie. Ma ok. 10MHz,
API wspiera 3d, jednak nie oferuje z-bufor’a. I tu pojawia się problem – jak
sobie bez niego poradzić na prostym urządzeniu, o skromnej pamięci i
niewielkiej prędkości. Dodatkowo API wszystkie operacje wykonuje na liczbach
całkowitych (ze względu na prędkość).
Jak się już niektórzy domyślili chodzi o komórkę z Mascot Capsule (np. Sony
Ericsson, Motorola). Same sceny muszą być dość proste (ok 500-600 vertex-ów na
klatkę), więc trzeba jakoś sobie poradzić z brakiem z-bufora oraz z eliminacją
niewidocznych elementów. Ma ktoś pomysł jak to zrobić? Jakieś linki? Googluje,
ale na temat Mascot Capture niewiele jest materiałów, a co do algorytmów to
sam nie wiem które zadziałają na tak słabych urządzeniach. Do eliminacji ścian
jest np. BSP, ale to zbyt złożone raczej dla telefonów. Zna ktoś prostsze
algorytmy fustrum culling oraz zastąpienie z-bufora?



Hm, ale klasyczny culling oparty o wskazówki zegara chyba jest w
hardwarze na tym?

na to urządzenie.



Pisz demko, pisz :)
Ja się przymierzam do demka pod Symbiana, czyli ARM 153Mhz w moim
przypadku, bez 3d, full soft - nie mam porządnej komóry;)
Ale co tam ;p


1 Wrz 2005, 15:14
Marek


Hm, ale klasyczny culling oparty o wskazówki zegara chyba jest w
hardwarze na tym?



Bark tu hardwerowego 3d;-) Całość leci na sofcie... (look at Sony Ericsson od
k300i do k750). Jest tu tylko
back face culling, a to raczej jeszcze nie wystarczy (jak mam rysować cala
scenę cały czas to telefonik nie pociągnie, a chce rysować tylko to co jest
aktualnie widoczne).

| na to urządzenie.

Pisz demko, pisz :)
Ja się przymierzam do demka pod Symbiana, czyli ARM 153Mhz w moim
przypadku, bez 3d, full soft - nie mam porządnej komóry;)
Ale co tam ;p



Moja nie ma nawet Symbiana (wiec Twoja chyba lepsiejsza;-) Ja mam tylko SE
k300i;-)

Pozdrawiam
Marek


1 Wrz 2005, 16:18
biki

do tego co mowisz chyba najlepszym rozwiazaniem bedzie BSP
liczyc to bedziesz na pececie a potem rendering jest szybki i prosty
co do samej rasteryzacji mozesz zrobic tak ze renderujesz BSP od
przodu do tylu jednoczesnie na ekranie i do bitmapy.
np. blokami po 8-16 pikseli poziomo.
najpierw robisz prosty test , jesli bitmapie jest 0xffff to nie rysujesz
bloku.
mazanie po bitmapie jest szybkie wiec przy bardziej zlozonych scenach, z wiekszym
overdrawingiem bedziesz mial dopale, jesli planujesz proste sceny
to spokojnie ci wystarczy BSP + backface culling



1 Wrz 2005, 16:49
Marek


do tego co mowisz chyba najlepszym rozwiazaniem bedzie BSP
liczyc to bedziesz na pececie a potem rendering jest szybki i prosty
co do samej rasteryzacji mozesz zrobic tak ze renderujesz BSP od
przodu do tylu jednoczesnie na ekranie i do bitmapy.
np. blokami po 8-16 pikseli poziomo.
najpierw robisz prosty test , jesli bitmapie jest 0xffff to nie rysujesz
bloku.
mazanie po bitmapie jest szybkie wiec przy bardziej zlozonych scenach, z wieksz
ym
overdrawingiem bedziesz mial dopale, jesli planujesz proste sceny
to spokojnie ci wystarczy BSP + backface culling



Problem widzę w tym ze BSP po wygenerowaniu jest dość spore... A pamięć w
komórkach trzeba oszczędzać... Dodatkowo RAM-u na całość mam ok 512 KB;-)

Pozdrawiam
Marek


2 Wrz 2005, 02:14
biki

no to nie wiem czy wogole jest sens sie bawic w 3d na czyms takim.
bsp wcale nie jest duze, jesli madrze je zbudujesz to ci duzo wielokatow
nie przybedzie. oczywiscie mozesz sortowac ale to tez nie jest ani pamiecio
oszczedne ani poprawne

2 Wrz 2005, 08:55
mx

a na tym dresofonie jest moze mophun moze ?

ja mapisalem kiedys na nokie 3650 engin 3d :) ale przepadl mi gdzies heh ...
ale to zupelnie inna klasa sprzetu z tego co piszesz (tam jest ARM 100Mhz +
4 mega ramu)

w przypadku tak ograniczonego ramu to 3d raczej marny ma ses
moze sproboj czegos w rodzaju dooma (raycasting ze zmienna wysokosca podlogi
i sufitu)
efekt bedzie o niebo leprzy wizualnie zapewne

wracajc do BSP bo tylko to mi przychodzi do glowy to przy dobrej organizacji
danych
nie powinno byc az tak pamieciozerne.

mozesz to zrobic np. majac tablice nodeow  [0 - n]
w kazdym nodzie czymasz tylko indexy do childrenow danego node'a w tej
tablicy i indexy do vertexow
budujacych 3kat dla danego leafa. w ten sposob wyleca wszelakie duplikujace
sie vertexy przynajmniej.
jak indexy bedziesz czymal jako unsigned short to powinno jeszcze zostac
troche miejsca oprocz bsp.


2 Wrz 2005, 11:41
Marek


a na tym dresofonie jest moze mophun moze ?



Nie nie ma.

ja mapisalem kiedys na nokie 3650 engin 3d :) ale przepadl mi gdzies heh ...
ale to zupelnie inna klasa sprzetu z tego co piszesz (tam jest ARM 100Mhz +
4 mega ramu)



Co do procka to nie wiem do końca co tam jest bo SE nie podaje...A co do
pamięci to może dokładniej:

Memory stroage: 8 MB
Java heap memory: 0.5 MB - 1.5 MB (przydzielane dynamicznie)
Native video RAM: ok. 0.5 MB

Inne - rozdzialka: 128x128 w 65K kolorów

w przypadku tak ograniczonego ramu to 3d raczej marny ma ses
moze sproboj czegos w rodzaju dooma (raycasting ze zmienna wysokosca podlogi
i sufitu)
efekt bedzie o niebo leprzy wizualnie zapewne



Zobacz to - gierca m.in. na ten telefon w Mascot Capsule
http://developer.sonyericsson.com/site/global/newsandevents/latestnew....
Jak na komórkę to niezłą grafika;-)

wracajc do BSP bo tylko to mi przychodzi do glowy to przy dobrej organizacji
danych
nie powinno byc az tak pamieciozerne.

mozesz to zrobic np. majac tablice nodeow  [0 - n]
w kazdym nodzie czymasz tylko indexy do childrenow danego node'a w tej
tablicy i indexy do vertexow
budujacych 3kat dla danego leafa. w ten sposob wyleca wszelakie duplikujace
sie vertexy przynajmniej.
jak indexy bedziesz czymal jako unsigned short to powinno jeszcze zostac
troche miejsca oprocz bsp.



Po wgłębieniu się w dokumentacje widzę ze żadne BSP etc. nie przejdzie.
Niestety Mascot Capsule obsługuje tylko swój własny format modeli, wiec nie da
rady zaimplementować ani BSP ani żadnego culling-uy. Wiec musi to jakoś
inaczej działać...
Właduję mu nieco danych i zobaczę jak to zniesie;-)

Pozdrawiam
Marek


2 Wrz 2005, 14:34
mx

Memory stroage: 8 MB
Java heap memory: 0.5 MB - 1.5 MB (przydzielane dynamicznie)
Native video RAM: ok. 0.5 MB
Inne - rozdzialka: 128x128 w 65K kolorów



no to ma to calkiem niezle parametry,
a jaki to ma sys operacyjny, zapewne nie symbian (to bylo by za piekne)

Po wgłębieniu się w dokumentacje widzę ze żadne BSP etc. nie przejdzie.
Niestety Mascot Capsule obsługuje tylko swój własny format modeli, wiec
nie da
rady zaimplementować ani BSP ani żadnego culling-uy. Wiec musi to jakoś
inaczej działać...
Właduję mu nieco danych i zobaczę jak to zniesie;-)



hmm to znaczy jestes tam skazany na pisanie w javie, zadnego C/ASM ?
kijowo troche
a co to znaczy ze 'obsluguje tylko wlasny format modeli' ?
to znaczy ze nie mozesz mu chamsko pakowac polygonow do rasteryzacji ?
tylkos zkazany jestes na jakis interface i nie masz dostepu do vertexow i
facesow ?
kijowo wtedy faktycznie


5 Wrz 2005, 15:03
Marek


no to ma to calkiem niezle parametry,
a jaki to ma sys operacyjny, zapewne nie symbian (to bylo by za piekne)



Nie, niestety to nie jest smartphone;-) Nie ma jakiegoś konkretnego OS-a.

| Po wgłębieniu się w dokumentacje widzę ze żadne BSP etc. nie przejdzie.
| Niestety Mascot Capsule obsługuje tylko swój własny format modeli, wiec
| nie da
| rady zaimplementować ani BSP ani żadnego culling-uy. Wiec musi to jakoś
| inaczej działać...
| Właduję mu nieco danych i zobaczę jak to zniesie;-)

hmm to znaczy jestes tam skazany na pisanie w javie, zadnego C/ASM ?
kijowo troche



Dokładnie - tylko Java...

a co to znaczy ze 'obsluguje tylko wlasny format modeli' ?



Maja jakieś exportety do 3DS Max-a LightWave i jeszcze Softimage i jeszcze
czegoś...

to znaczy ze nie mozesz mu chamsko pakowac polygonow do rasteryzacji ?
tylkos zkazany jestes na jakis interface i nie masz dostepu do vertexow i
facesow ?



I jest i nie ma. Niby mogę wrzucić współrzędne i mazać, ale eliminuje to
automatycznie back face culling - dostępny jest tylko w przypadku korzystania
z ichniego formatu modeli...

Dodatkowo większy problem, który nie wiem już zupełnie jak obejść to to że
cały Mascot Capsule działa na liczbach całkowitych, gdzie 1.0==4096... A
maksymalna wartość to 32768... Czyli mały zakres mam - i jak tu pokazać coś
rozciągającego się daleko na horyzoncie??

Już nawet nie chodzi o to że się uparłem żeby zrobić to demko - fajnie by
było, ale... Bardziej mnie męczy to że da się zrobić (przykładem są gry z
http://www.fishlabs.net/) a ja nie wiem jak się za to zabrać;-) W sieci
informacji jest tyle co kot napłakał:-(

Pozdrawiam
Marek


6 Wrz 2005, 07:36
mx

I jest i nie ma. Niby mogę wrzucić współrzędne i mazać, ale eliminuje to
automatycznie back face culling - dostępny jest tylko w przypadku
korzystania
z ichniego formatu modeli...



tylko backface culling tracisz ?? jak tak to olej go poprostu :)
sam go mozesz zrobic

Dodatkowo większy problem, który nie wiem już zupełnie jak obejść to to że
cały Mascot Capsule działa na liczbach całkowitych, gdzie 1.0==4096... A
maksymalna wartość to 32768... Czyli mały zakres mam - i jak tu pokazać
coś
rozciągającego się daleko na horyzoncie??



to znaczy sie masz int32 czy jestes zmuszony do korzystania z fixpointa
20:12 ?
fixpoint 24:8 jest o wiele leprzy a zasieg az tak straszny ci nie jest
potrzebny chyba
[za dawnych [dobrych] czasow na scenie urzywalo sie fixpointa 16:16 i tez
bylo :)]

Już nawet nie chodzi o to że się uparłem żeby zrobić to demko - fajnie by
było, ale... Bardziej mnie męczy to że da się zrobić (przykładem są gry z
http://www.fishlabs.net/) a ja nie wiem jak się za to zabrać;-) W sieci
informacji jest tyle co kot napłakał:-(



no gierki faktycznie fajnie wygladaja ale nie sa jakies szczegolnie
graficznie pokomplikowane
ot pare modeli, na raz na ekranie widac
na filmikach wyglada jak by to zbuffer mialo, ale byc moze nie ma, tylko
jest dobrze pociete
i posortowane


ogl+bufor ramki
Z-bufor w grafice rastrowej.
Kalkulator w formularzu
duotony w druku
Panie Marku W.
Polskie fonty w Mathcadzie 7.0
zamiennik autocada??-poszukuje
  • gazetka z makro promocyjna
  • jak zaznaczyc pojedynczy wiersz w stringgrid
  • silent hill midi
  • baotian by damo
  • budowa;reduktora;lovatto
  • bleskensgraaf en hofwegen
  • wypozyczenie butli helu do balonow
  • przerobka migomatu na mma
  • po;przebyciu;grypy;znowu;zachorowac
  • Kolekcja tematów z for internetowych - Strona Główna