Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
if.then
Založen: 13. 04. 2008 Příspěvky: 579
|
Zaslal: 22. září 2014, 20:49:39 Předmět: |
|
|
Mem napsal: |
Radis napsal: |
Extends je cesky "dedi"... |
A inherits je potom co?
A když chci nedejbože říct "rozšiřuje", tak použiju jaké slovo? |
Inherits je nějaká VBasicovina, ne?
Java-like mají k tomuhle jen extends a implements, tj. "dědí a rozšiřuje třídu", "dědí a implementuje rozhraní". _________________ For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++. |
|
Návrat nahoru |
|
|
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 23. září 2014, 06:38:15 Předmět: |
|
|
Mem: Anglicky tady umime vsichni, Meme. Ale ViliX se na to slovo ptal v urcitem kontextu... V cestine proste naprosto bezne trida X dedi ze tridy Y. X rozsiruje Y mi zni jako strojovy preklad a nevzpominam si, ze bych to nekdy v praxi slysel.
ViliX: Tak to bude asi lepsi |
|
Návrat nahoru |
|
|
Mem
Založen: 28. 07. 2007 Příspěvky: 1959 Bydliště: Olomouc
|
Zaslal: 23. září 2014, 07:37:57 Předmět: |
|
|
- Anglicky tu vsichni neumi, Radisi.
- Java je parodie na objektove paradigma, nepodporuje napr. ani vicenasobnou dedicnost atd. Opravdu bych se proto v pojmech nenechal omezovat nejakym konkretnim jazykem. (A o Dartu radsi ani nemluvim, jeho implementace interfaces byl asi puvodne april a pak se to nejak dostalo do verejne verze. Nejvetsi pruser JavaScriptu, totiz beztypovost vedouci zcela automaticky k chybam, byl pritom z vetsi casti zachovan.)
- Cesky pojem "rozsiruje" se pouziva v popisech objektoveho programovani bezne, a to i v priruckach Javy.
I rest my case. |
|
Návrat nahoru |
|
|
Radis
Založen: 29. 03. 2014 Příspěvky: 235
|
Zaslal: 23. září 2014, 08:46:11 Předmět: |
|
|
Mem: ok, ty tridy rozsirujes, ja z nich dedim. Od native speakeru nejcasteji slysim "X subclasses Y" nebo "X inherits from Y", ale to je spis tim, ze moc nedelam s javisty. U tech je extends asi normalni, kdyz na to maji keyword
Pokud se bavime o OOP obecne (mimo konkretni jazyky), tak tam mi slovo "rozsiruje" uz vubec nesedi, ale je to evidentne subjektivni. Tim bych tenhle offtopic uzavrel. |
|
Návrat nahoru |
|
|
ViliX
Založen: 04. 08. 2014 Příspěvky: 116
|
Zaslal: 24. září 2014, 16:33:17 Předmět: |
|
|
Málo, ale opět pár změn:
Proměnná fontSize
Proměnná lineHeight
Proměnná backgroundChar
názvy proměnných jsou docela deskriptivní a intuitivní, takže není třeba to ani něják více vysvětlovat
Opakuji, pokud by chtěl někdo přispět nápadem nebo se jen mrknout, tak je projekt na GitHubu. |
|
Návrat nahoru |
|
|
ViliX
Založen: 04. 08. 2014 Příspěvky: 116
|
Zaslal: 27. září 2014, 06:32:05 Předmět: |
|
|
@Radis už jsem spravil ten problém s knihovnami a takže teď už víceméně stačí importovat 'viltage.dart'. Předtím tam byly (ak jsi správně podotkl) jednotlivé knihovny. |
|
Návrat nahoru |
|
|
ViliX
Založen: 04. 08. 2014 Příspěvky: 116
|
Zaslal: 5. říjen 2014, 17:18:49 Předmět: |
|
|
Projekt na GitHubu překročil 100 commitů a dnes jsem vydal ukázkovou gamejolt mini hru (je také sdílena na GitHubu). |
|
Návrat nahoru |
|
|
ViliX
Založen: 04. 08. 2014 Příspěvky: 116
|
Zaslal: 26. říjen 2014, 20:55:24 Předmět: |
|
|
Provedl jsem spoustu změn (snad i výkonostních), jako například používání span element objektů místo explicitního html, rychlost update, apod..
Udělal jsem i několik her, nejnovější AAA Text Area, pak Two And Two a nakonec Faster, Faster!.
Jsou to ale jen malé hry a nic většího jsem s tím nezkoušel (větší 'rozlišení', cca už 100*100 drasticky snižuje výkon). |
|
Návrat nahoru |
|
|
ViliX
Založen: 04. 08. 2014 Příspěvky: 116
|
Zaslal: 31. říjen 2014, 08:48:08 Předmět: |
|
|
Nakonec jsem byl nucen přejít k vykreslování na Canvas. V rychlosti je to velmi poznatelné. Doteď šlo dělat hry v max "rozlišení" 70x70, ale teď jsem zkusil s novou verzí hru o "rozlišení" 600x600 a vše fungovalo pěkně plynule.
Dokonce jsem už našel pár zájemců, kteří mi s tím pomáhají |
|
Návrat nahoru |
|
|
1Pupik1989
Založen: 06. 02. 2013 Příspěvky: 58
|
Zaslal: 1. listopad 2014, 13:21:44 Předmět: |
|
|
A za jak dlouho to pojede i na WebGL? Tak nějak podobně jsem začínal. SVG a VML -> Canvas -> WebGL. Teď řeším GLSL parser. Canvas je pořád ještě pomalý. |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 1. listopad 2014, 18:13:20 Předmět: |
|
|
A k čemu řešíš GLSL parser ve WebGL? Chápal bych ještě GLSL parser kvůli konverzi GLSL => HLSL nebo pokud bys psal vlastní GL driver,
což by v javascriptu bylo opravdu velmi moudré.
Například Mesa v sw režimu jede přes llvmpipe a je SSE a multithreaded a i tak ve srovnání s mým GPU to je rozdíl 1:1000 ve výkonu
(což nakonec není až tak špatné, nicméně v praxi nepoužitelné).
Tomu se v js ani zdaleka nepřiblížíš.
Takže tak maximálně něco velmi lowres nebo s lightweight fragment shadery, i pokud to velmi osekáš z hlediska kvality...
Pokud si píšeš validátor, tak něco takového je už hotové ke stažení na stránkách khronosu. |
|
Návrat nahoru |
|
|
ViliX
Založen: 04. 08. 2014 Příspěvky: 116
|
Zaslal: 1. listopad 2014, 19:00:40 Předmět: |
|
|
Abych se přiznal, tak se GLSL si nejsem moc blízký a nad psaním různých vertex pointů a attributů jsem si trhal vlasy z hlavy.
Zaimplementovat to by možná bylo parádní, ale zkušenosti ani znalosti na to rozhodně nemám |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 1. listopad 2014, 19:21:03 Předmět: |
|
|
Měl jsem nedávno podobný názor, ale přechodu na GLSL z fixed function pipeline nelituji, naopak. Je to ve výsledku mnohem pružnější a jednodušší.
Mimochodem tvůj framework mi připomíná staré ZZT, znáš?
Psal to takový týpek, který později napsal Unreal engine |
|
Návrat nahoru |
|
|
1Pupik1989
Založen: 06. 02. 2013 Příspěvky: 58
|
Zaslal: 1. listopad 2014, 19:38:20 Předmět: |
|
|
GLSL parser je tam kvůli software renderingu. Takže v kterémkoliv prohlížeči bude kód pro WebGL fungovat. Takže Render bude místo několika (ThreeJS) jen jeden. GLSL parser není to nejhorší. Jen jsem se zasekl u toho, jak bude vypadat gl_FragColor po texture2D. Pak musím udělat brutální optimalizaci, což bude nejhorší.
Na WebGL je asi nejlepší developer.mozilla.org
Potom si na to můžeš nástavbu, která bude mít metody jako Canvas (lineTo, moveTo ...). Do stringu si hodíš nějak? obyčejné basic shadery a máš hotovo. Jen nesmíš zapomenout, že WebGL má jiný souřadnicový systém. Pak si ještě stáhni exCanvas, aby ti Canvas frčel i v IE. |
|
Návrat nahoru |
|
|
mar
Založen: 16. 06. 2012 Příspěvky: 608
|
Zaslal: 1. listopad 2014, 20:15:47 Předmět: |
|
|
1Pupik1989 napsal: |
GLSL parser je tam kvůli software renderingu. Takže v kterémkoliv prohlížeči bude kód pro WebGL fungovat. Takže Render bude místo několika (ThreeJS) jen jeden. GLSL parser není to nejhorší. Jen jsem se zasekl u toho, jak bude vypadat gl_FragColor po texture2D. Pak musím udělat brutální optimalizaci, což bude nejhorší.
|
Myslíš bilineární filtering?
To jsou 4 samply a 3 lineární interpolace. Nic moc.
Existuje starý trik (nazval bych ho texture coordinate dithering),
kde používáš 4x4 ordered dithering na u, v souřadnice (posun).
Pak ti stačí jeden sample a je to bez interpolací.
Našel jsem ve svém starém kódu tabulku, třeba by ti to pomohlo:
kód: |
{ 0.0/16.0, -1.0/16.0, 2.0/16.0, -3.0/16.0 },
{ -5.0/16.0, 4.0/16.0, -7.0/16.0, 6.0/16.0 },
{ 3.0/16.0, -4.0/16.0, 1.0/16.0, -2.0/16.0 },
{ -8.0/16.0, 7.0/16.0, -6.0/16.0, 5.0/16.0 }
|
To jsou texel offsety pro jednu souřadnici, pro druhou to stačí transponovat (4x4 dithering, y & 3 pixelu určuje řádek, x & 3 sloupec).
Pokud myslíš perspektivní korekci, dá se počítat každých n pixelů a mezitím lineárně interpolovat.
u/z a 1/z se dá interpolovat lineárně (pokud se bavíme o scanline rasterizaci) a výsledné korigované u je tak u_z / o_z.
Nicméně WebGL už prý umí i IE, ne? Myslím si, že to je cesta, která nikam nevede (prostě nedosáhneš výkonu GPU, ať se budeš snažit sebevíc). Ale je to tvůj boj
Jinak perpektivní korekci potřebuješ ideálně pro všechny interpolované hodnoty, nejen souřadnice textury (i když první GPU interpolovaly barvy lineárně a to nebylo moc pěkné).
Naposledy upravil mar dne 1. listopad 2014, 20:40:46, celkově upraveno 1 krát |
|
Návrat nahoru |
|
|
|