.[ ČeskéHry.cz ].
Jaderná část enginu
Jdi na stránku Předchozí  1, 2
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 29. srpen 2012, 15:09:24    Předmět: Odpovědět s citátem

#VODA - já bych osobně neodsuzoval žádný návrhový vzor jako špatný/dobrý. Tato věc je imho dost subjektivní jak k tomu, kdo aplikaci píše, tak k samotnému typu aplikace - jsou aplikace, kde singleton je mnohem méně bolestná cesta jak danou věc dobře napsat (avšak celý engine to zajisté není).
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
mar



Založen: 16. 06. 2012
Příspěvky: 610

PříspěvekZaslal: 29. srpen 2012, 15:28:24    Předmět: Odpovědět s citátem

Marek napsal:

1) Textury v OpenGL jsou defaultně nesdílené mezi kontexty, ale dá se při vytvoření kontextu zadat, že textury sdílet chci. Má to ale háček - modifikace nad texturama (např. glTexImage) nemusí být za určitých okolností okamžitě vidět v jiných kontextech.

No ... tak to jsem žil až doteď v omylu Embarassed
Takže využiji možnost a položím jednu OTázku: Doufám, že je možné přepínat kontexty různým oknům, tj. při překreslení zavolat wglMakeCurrent() a pak to odmapovat. Pokud to jde, existuje ekvivalent na Linuxu/OSXu, jak udělat totéž?
Díky.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 29. srpen 2012, 16:05:12    Předmět: Odpovědět s citátem

Jenom takový malý dotaz - tohle se již vícekrát řešilo na OpenGL.org i Gamedev.net a také na Devmaster.net ... k věci...

Potřebuješ nutně 4 okna pro 4 viewporty? Nemůžeš je hodit pouze do jednoho (a pracovat s nimi pomocí glViewport?). Bude to mnohem rychlejší než mít více kontextů a v praxi se to takto řeší. Více kontextů se používá především pro multithreaded rendering, a ne rendering více viewportů.

Navíc pokud to budeš mít v 1 kontextu, můžeš celkem chytře využít geometry shadery a kreslit všechny 4 viewporty najednou (pozn. na first-generation gpu s geometry shadery to bude pomalejší).
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 29. srpen 2012, 16:38:31    Předmět: Odpovědět s citátem

Vilem Otte napsal:
#VODA - já bych osobně neodsuzoval žádný návrhový vzor jako špatný/dobrý. Tato věc je imho dost subjektivní jak k tomu, kdo aplikaci píše, tak k samotnému typu aplikace - jsou aplikace, kde singleton je mnohem méně bolestná cesta jak danou věc dobře napsat (avšak celý engine to zajisté není).

Psal jsem, že já osobně jsem došel k takovému názoru ...tzn. je to subjektivní... Smile
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 29. srpen 2012, 19:20:28    Předmět: Odpovědět s citátem

VODA napsal:
Vilem Otte napsal:
#VODA - já bych osobně neodsuzoval žádný návrhový vzor jako špatný/dobrý. Tato věc je imho dost subjektivní jak k tomu, kdo aplikaci píše, tak k samotnému typu aplikace - jsou aplikace, kde singleton je mnohem méně bolestná cesta jak danou věc dobře napsat (avšak celý engine to zajisté není).

Psal jsem, že já osobně jsem došel k takovému názoru ...tzn. je to subjektivní... Smile


Wink - ale dosel jsi ke spatnemu nazoru Wink - Singleton neni spatny vzor. - jen jsou spatna jeho pouziti, ktera clovek muze ruzne videt v aplikacich, a je opravdu potreba vazit, kdy ma byt neco opravdu globalni a jednou a kdy to ma byt instanciovatelne
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 29. srpen 2012, 20:40:02    Předmět: Odpovědět s citátem

rezna napsal:
VODA napsal:
Vilem Otte napsal:
#VODA - já bych osobně neodsuzoval žádný návrhový vzor jako špatný/dobrý. Tato věc je imho dost subjektivní jak k tomu, kdo aplikaci píše, tak k samotnému typu aplikace - jsou aplikace, kde singleton je mnohem méně bolestná cesta jak danou věc dobře napsat (avšak celý engine to zajisté není).

Psal jsem, že já osobně jsem došel k takovému názoru ...tzn. je to subjektivní... Smile


Wink - ale dosel jsi ke spatnemu nazoru Wink - Singleton neni spatny vzor. - jen jsou spatna jeho pouziti, ktera clovek muze ruzne videt v aplikacich, a je opravdu potreba vazit, kdy ma byt neco opravdu globalni a jednou a kdy to ma byt instanciovatelne

Hehe, whatever...v jedné verzi mého enginu jsem singletony používal opravdu hodně (ten link na Singleton topic je z té doby), jenže pak jsem prostě přišel na to, že to jde vždy udělat bez toho a róbustněji, tak jsem singleton úplně zavrhl...a jsem spokojen. Very Happy
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VladR



Založen: 30. 07. 2007
Příspěvky: 1322
Bydliště: Greater New York City Area

PříspěvekZaslal: 30. srpen 2012, 00:52:10    Předmět: Odpovědět s citátem

V domacich amaterskych podmienkach je ale najdolezitejsia efektivita vynalozeneho casu.

Tzn. radsej zvolit mierne prasackejsie riesenie (namiesto uber-template pakarne), ktore bude jednoduche na pouzivanie, aj ked dany kus kodu clovek pol roka nevidel.

Tym sa nechcem zastavat singletonu, tiez uz som od neho upustil a fakt radsej preferujem posuvanie pointerov na triedy enginu - pretoze je to tak hned zjavne, ze co sa tam deje (za cenu copy-pastenia parametrov).

Kedze si na hre kodim sam, tak nie je riziko, ze ten pointer brutalne zneuzijem. A ak aj hej, tak je to len moj problem Smile


Takze - doma nech mi kod mierne chrochta, ale aspon mu to chrochta produktivne Very Happy
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
mar



Založen: 16. 06. 2012
Příspěvky: 610

PříspěvekZaslal: 30. srpen 2012, 08:27:49    Předmět: Odpovědět s citátem

Vilem Otte napsal:

Potřebuješ nutně 4 okna pro 4 viewporty? Nemůžeš je hodit pouze do jednoho (a pracovat s nimi pomocí glViewport?). Bude to mnohem rychlejší než mít více kontextů a v praxi se to takto řeší. Více kontextů se používá především pro multithreaded rendering, a ne rendering více viewportů.

No výkon u editoru neřeším, stejně zarás pracuješ jenom s jedním oknem.
A zvěrstva jako multithreaded rendering apod. taky ne - ostatně k čemu v malém homegrown oldschool enginu Smile
Navíc se starým GMA 950... Řekl bych, že to většina lidí tady ani nebude považovat za GPU.
Jasně, můžu mít jedno okno a kreslit přes viewport, ale to bych si musel napsat vlastní GUI a to je pro mě jako amatéra s nedostatkem času naprostý overkill.
Ok, jasně, stačilo by si napsat jenom vlastní splitter. Ale ani tomu nehodlám obětovat drahocenný čas.
Chci použít native GUI a prostě mít 4 okna, kam budu kreslit přes GL, toť vše.
Proto se ptám, jestli můžu použít jeden context a přepínat ho. Takže počítám, že ano.
Kdysi jsem to nějak řešil ale to bylo přes DX. Vhledem k přenositelnosti a jednoduchosti jsem přešel na GL, ale nechci tady rozjíždět API flamewar.
Nakonec proč nepodporovat obojí, že?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Jakub Doucek



Založen: 08. 12. 2011
Příspěvky: 14
Bydliště: Pardubice

PříspěvekZaslal: 31. srpen 2012, 06:31:22    Předmět: Odpovědět s citátem

Od původního tématu bych řekl se už odbočilo úplně někam jinam ale nevadí Smile Rád bych se tu trochu zastal singletonu. Podle mě je to zcela něco jiného, než jen druh globální proměnné. Osobně singleton chápu naprosto jinak. Je to spíš pomůcka (návrhový vzor), která zajistí aby daná třída mohla být instanciována pouze jednou. To se může hodit. Já mám například třídu Application, která inicializuje sdl (nebo jiné api to je fuk) a vytvoří okno aplikace. Tato třída v podstatě znamená aplikaci samotnou, pak už jen záleží co šoupnu do main loopu. Je tedy nesmysl aby tato třída existovala dvakrát. Je blbost aby v jedné aplikaci běželi dvě aplikace. Tak jsem z ní udělal singleton a už se to nemůže stát. Sebevětší neumětel, když bude používat moje knihovny se nemůže dopustit této chyby. Je to prostě něco na způsob jako když píšete const.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



Založen: 27. 07. 2007
Příspěvky: 2156

PříspěvekZaslal: 31. srpen 2012, 06:43:58    Předmět: Odpovědět s citátem

no a pak prave prijdou ty momenty, kdy clovek potrebuje pustit 2 aplikace v v jednom programu a je v pytli - kamos toto resil, kdyz dodelaval v Qt mail-merge modul pro nejakou DTP aplikaci. Samotny DTP bezelo jako Qt aplikace a udelat v tom druhou soubezne bezici aplikaci jako plugin tez v Qt byl dost opruz, ale nakonec to nejak hacknul

to stejne jsme ted resili v praci. nase 'aplikace' se taky dostala do stavu, kdy se v kodu objevila druha instance objektu, protoze bylo potreba udelat migraci dat mezi dvema verzemi aplikace. A hle, nasly se casti kodu, ktery na to vubec nebyly pripraveny. na spouste mist se pocitalo s tim ze aplikace je jen jedna.

takze singleton jako takovy ano, ma vyznam. ale kod by o tom nemel vedet a mel by pocitat s tim ze instance mohou byt dve. takze vsude poctive predavat. - psalo se to uz ve vedlejsim vlaknu
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Obecné Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2
Strana 2 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna