.[ ČeskéHry.cz ].
Návrh interface 2D/3D enginu - obrázky a textury
Jdi na stránku Předchozí  1, 2, 3, 4  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
Ladis



Založen: 18. 09. 2007
Příspěvky: 1537
Bydliště: u Prahy

PříspěvekZaslal: 22. listopad 2009, 19:31:28    Předmět: Odpovědět s citátem

Laethnes napsal:
Ladis napsal:
Ano, ve Win2000 a vyšší jede vše interně v Unicode a ty *A funkce jsou pouze přeložení parametrů z ANSI do Unicode a zavolání těch *W funkcí.

Fakt? Hm, to je zajímavé. To takto funguje obecně, nebo jen ve Windows? (Pozn. používám MinGW)

Na kompilátoru to nezávisí, na konci se stejně volá API operačního systému (v případě MinGW je to skrze MSVCRT.dll). A definuj "obecně", tohle mě pobavilo (existuje milion platforem).

Druhá věc, když si budeš nechávat surface pro kreslení, tak při BeginDraw nic z OpenGL nečteš - máš to v tom surface od posledně.

Třetí věc, z obrazovky žádná data nečti, je to ohromně pomalé (čtení z color bufferu). Vůbec nechápu, proč za každou cenu kombinuješ kreslení ve 2D s 3D. Ve 3D verzi enginu by se měly používat jen 3D funkce, jinak to celé bude několikrát pomalejší.

Mimochodem, když nevíš, tak se inspiruj jinde. Jak to maj udělané jiné projekty, proč to ostatní zvládli udělat a ty se s tím furt patláš. Ten tvůj poslední příspěvek jsem opět nečetl celý, řešíš zbytečné věci.
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Laethnes



Založen: 14. 02. 2008
Příspěvky: 38

PříspěvekZaslal: 22. listopad 2009, 20:13:02    Předmět: Odpovědět s citátem

Ladis napsal:
Laethnes napsal:
Ladis napsal:
Ano, ve Win2000 a vyšší jede vše interně v Unicode a ty *A funkce jsou pouze přeložení parametrů z ANSI do Unicode a zavolání těch *W funkcí.

Fakt? Hm, to je zajímavé. To takto funguje obecně, nebo jen ve Windows? (Pozn. používám MinGW)

Na kompilátoru to nezávisí, na konci se stejně volá API operačního systému (v případě MinGW je to skrze MSVCRT.dll). A definuj "obecně", tohle mě pobavilo (existuje milion platforem).


Uznávám, nešťastný výrok. Definuji to jako "nejčastěji používané platformy", tedy Win*, *nix, Mac.

Ladis napsal:
Druhá věc, když si budeš nechávat surface pro kreslení, tak při BeginDraw nic z OpenGL nečteš - máš to v tom surface od posledně.


Jo, jenomže já spíš uvažuji o tom, že si nebudu nechávat surface pro kreslení, protože drtivá většina případů vygeneruje obrázek a ten už nezmění a pokud ano, tak včetně velikosti, takže se vytvoří znovu (a nebude potřeba načítat z textury).

Ladis napsal:
Třetí věc, z obrazovky žádná data nečti, je to ohromně pomalé (čtení z color bufferu). Vůbec nechápu, proč za každou cenu kombinuješ kreslení ve 2D s 3D. Ve 3D verzi enginu by se měly používat jen 3D funkce, jinak to celé bude několikrát pomalejší.


Jo, to jsem kdysi zjistil taky - udělal jsem si 3D bludiště a když jsem zapl print-screen pro každý snímek, rychlost byla úžasná :3. (A nebylo to diskem.) Proč to kombinuji? Protože chci mít rozhraní (GUI), které pracuje ve 2D. Použije instance třídy, které nakonec 2D obrázek zobrazí jako 3D polygon v ortogonální projekci (tedy "falešné 2D"). Nicméně potřebuji i textury generovat a k tomu potřebuji kreslení do 2D obrázků. Na řešení něčeho takového jsem našel jen 4 cesty:
1.) Napsat GUI pro 2D a pro 3D samostatně. Každé bude využívat svých možností, ale jinak to bude vlastně 2x totéž. (A co to takhle napsat pro OpenGL, SDL, NDS a DirectX samostatně? To už by bylo 4x.)
2.) Vzdát se generování textur. Tedy všechno složité (rámec, který jsem zmínil je jen jednoduchý příklad) generovat každý snímek pokaždé znovu, i když třeba desítky sekund budou neměnné. Některé po celou dobu běhu hry a mění se jen s změnou rozlišení.
3.) Napsat obecný algoritmus založený na vykreslování do zadního bufferu a pak čtení dat z něj. (Bude fungovat pro čisté SDL a OpenGL. Jak je to s NDS netuším v tomto ohledu.)
4.) Napsat obecný algoritmus, který obsahuje část vyhraněného kódu právě pro tvorbu obrázků.

(3 jsi sám zavrhl a o 4 se tu pokouším) Co je podle tebe nejlepší? Nebo máš něco lepšího, co mě nenapadlo?

Ladis napsal:
Mimochodem, když nevíš, tak se inspiruj jinde. Jak to maj udělané jiné projekty, proč to ostatní zvládli udělat a ty se s tím furt patláš. Ten tvůj poslední příspěvek jsem opět nečetl celý, řešíš zbytečné věci.


Já se snažím! Problém GUI (který za tím vším stojí) řeším už několik měsíců. Hledám různé tutorialy po internetu, hledám různé 2D/3D API GUI obsahující a dívám se, jak to oni řeší. Nedávno jsem si zase prohlížel návrhy v Irrlichtu a asi před měsícem jsem se snažil zkompilovat jednu knihovnu, která vypadala, že obsahuje všechno, co jsem chtěl. Ale na toto téma nevidím nic, než jen "na GUI použij Qt/GTK/wxWidgets nebo tak". Tohle použiji pro editor, ale do vnitřní grafiky hry?!? A ohledně návrhu in-game GUI jsem našel jen jeden (free) tutorial, který mi ukázal je to, co už vím. Obecné řešení něčeho středně složitého nikde nic nemůžu najít. Už jsem psal výše, mám napsaných několik různých základů/návrhů na VideoDriver/GUI, ale vše nakonec padlo. (A mimochodem, řešení, které bylo nastíněno výše mě docela vyhovuje. Řeší to to, co potřebuji.)

Koneckonců úprava textury se hodí už jen pro takový blbý nápad, že nějaká textura (např. tabule ve hře) bude mít na sobě "připláclý" text, místo toho, abych kreslil dva polygony přes sebe. (A mít text napevno v textuře nepřichází v úvahu.)

Nicméně pokud jdu špatnou cestou, budiž. Jsem jenom amatér začátečník a jsem otevřený novým/správným řešením (koneckonců teď přemýšlím nad tím UTF-16), ale pokud mám zahodit to, co jsem doposud vyplodil, jsem zase (skoro) na začátku.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



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

PříspěvekZaslal: 22. listopad 2009, 20:53:53    Předmět: Odpovědět s citátem

Quiark napsal:
Houp: Myslíš Byte Order Mark? Smile


hmm taky by me zajimalo jak by chtel pan Houp rozeznavat kodovani souboru bez BOMu a asi by si o tom mel neco precist Smile
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 22. listopad 2009, 21:24:32    Předmět: Odpovědět s citátem

Tak třeba v linuxu utf-8 soubory BOM nemají. A jak se to kódování rozpozná? Nevím. Asi jedině nějak podle obsahu.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Laethnes



Založen: 14. 02. 2008
Příspěvky: 38

PříspěvekZaslal: 22. listopad 2009, 21:28:28    Předmět: Odpovědět s citátem

frca napsal:
Tak třeba v linuxu utf-8 soubory BOM nemají. A jak se to kódování rozpozná? Nevím. Asi jedině nějak podle obsahu.


PS-Pad to taky dokáže. Nedávno byl kdesi na Rootu NEBO ABC Linuxu zveřejněn rozhovor s ním včetně ukázky kódu, který zrovna řešil kódování. Říkal, že to řeší tak, že si projede prvních cca 1000 znaků počítá všechny "zvláštní" znaky (> 127) a podle tabulek, jak moc se tyto znaky používají rozpozná kódování. Jinak, než podle obsahu to nejde...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
rezna



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

PříspěvekZaslal: 22. listopad 2009, 23:08:56    Předmět: Odpovědět s citátem

frca - ROFL - to jako myslis ze OS definuje jestli se BOM pouziva nebo ne? - pust si jEdit - navol kodovany UTF8-Y (UTF-8 s BOM) a dej ulozit - ejhle mas v linuxu soubor v UTF-8 s BOMem

Laethnes - jo 1000 znaku - jedna z nejvetsich kravin co kdy kdo vymyslel - kdyby aspon precetli prvnich 10kB souboru - vecne mi to aplikace s timhle systemem hadani kodovani uhodnou blbe protoze pisu v US-ASCII a az nekde na 5000. znaku mam prvni cestinu v UTF-8 - takze diky, nechci

----------------------------------

jako celej tenhle thread me zacina pripadat pekne o hovne - protoze nic rozumneho se tu nevyresilo - akorat to ze autor ma sam zmatky v tom co chce a mota kodovani 5. pres 9.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Laethnes



Založen: 14. 02. 2008
Příspěvky: 38

PříspěvekZaslal: 23. listopad 2009, 07:45:17    Předmět: Odpovědět s citátem

rezna napsal:
jako celej tenhle thread me zacina pripadat pekne o hovne - protoze nic rozumneho se tu nevyresilo - akorat to ze autor ma sam zmatky v tom co chce a mota kodovani 5. pres 9.


K tomu prvnímu se nijak nevyjadřuji, nicméně za pomoci jednoho člověk se můj problém vyřešil. Pokud jde o to, co chci, tak v tom mám naprosto jasno, možná to zmateně prezentuji, za což se omlouvám. A pokud jde o kódování - běžím si spokojeně na UTF-8 a nebýt odpovědí na jednu mou poznámku, taky by se to (k mé spokojenosti) neřešilo. Nicméně bych byl velmi vděčný, kdybys mi napsal, co všechno dělám špatně.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 23. listopad 2009, 07:57:00    Předmět: Odpovědět s citátem

Laethnes napsal:
PS-Pad to taky dokáže.

Ano, mám s tím bohaté zkušenosti, kdy to ukáže jiné kódování než má, a při uložení a otevření v něčem jiném se pak člověk nestačí divit. Konkrétně na kódování si dávám v PSPadu pořádného majzla
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Laethnes



Založen: 14. 02. 2008
Příspěvky: 38

PříspěvekZaslal: 23. listopad 2009, 07:58:57    Předmět: Odpovědět s citátem

Mem napsal:
Laethnes napsal:
PS-Pad to taky dokáže.

Ano, mám s tím bohaté zkušenosti, kdy to ukáže jiné kódování než má, a při uložení a otevření v něčem jiném se pak člověk nestačí divit. Konkrétně na kódování si dávám v PSPadu pořádného majzla


Fakt? Tak to pak díky za upozornění, když už jsem s tím měl problém, tak byl hned vidět...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Mem



Založen: 28. 07. 2007
Příspěvky: 1959
Bydliště: Olomouc

PříspěvekZaslal: 23. listopad 2009, 08:20:30    Předmět: Odpovědět s citátem

A ještě si vybavuju, že nějakou autodetekci při chybějícím BOM má i ten notepad - existoval příklad textu, který když se v něm otevřel, tak to zblblo

EDIT: Tak tohle to bylo http://apipes.blogspot.com/2006/06/this-api-can-break.html
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 23. listopad 2009, 08:31:43    Předmět: Odpovědět s citátem

rezna napsal:
to jako myslis ze OS definuje jestli se BOM pouziva nebo ne?

Nemyslim. Na linuxu je to ale zkratka zauzivana praxe. Treba takovy gedit ani nano BOM u utf-8 neuklada.

...myslis, ze OS definuje, jestli se BOM...
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 23. listopad 2009, 09:48:42    Předmět: Odpovědět s citátem

rezna napsal:
Quiark napsal:
Houp: Myslíš Byte Order Mark? Smile


hmm taky by me zajimalo jak by chtel pan Houp rozeznavat kodovani souboru bez BOMu a asi by si o tom mel neco precist Smile


Já jen vím, že když jsem ukládal XPath výraz do textového souboru v tomto kódování, mělo to tak být, protože to jinak nezvládal parser v Javě. Nejelo to s chybou, že první znak je chybný. Když jsem to v tomto kódování uložil pomocí NetBeans, tak to bylo v pořádku.

Ale to už jsme tu trochu OT.
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
rezna



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

PříspěvekZaslal: 23. listopad 2009, 11:35:26    Předmět: Odpovědět s citátem

frca - ze to neuklada ale nic nerika o tom jestli to je spravne nebo ne ze Razz

Houp - pokud XPath ukladas jako nejake XML a nacitat XmlParserem, tak vez ze v XML je dulezita hlavicka nikoliv BOM a prvni znak souboru musi byt '<'

chjo - kdybyste lidi misto polopravd a nepravd meli radsi prehled...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Houp



Založen: 28. 07. 2007
Příspěvky: 672

PříspěvekZaslal: 23. listopad 2009, 13:00:51    Předmět: Odpovědět s citátem

rezna napsal:

Houp - pokud XPath ukladas jako nejake XML a nacitat XmlParserem, tak vez ze v XML je dulezita hlavicka nikoliv BOM a prvni znak souboru musi byt '<'

chjo - kdybyste lidi misto polopravd a nepravd meli radsi prehled...


Prográmek na testování správnosti mimo jiné XPath výrazů z této stránky dole http://www.ksi.mff.cuni.cz/~mlynkova/Y36XML/indexCV.html, který využívá XPath - Java 1.5, balik javax.xml.xpath a ten se nepopral s tím, co mi vyplivl notepad. Jak už ti to někdo napsal, jsou editory, kteří tam ty znaky na začátek nedávají. Co je "správně"? To je prakticky jedno, tady je podstatné, že někdy to aplikace nezvládnou to "správné" a musí se s tím počítat.
_________________
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
frca



Založen: 28. 07. 2007
Příspěvky: 1561

PříspěvekZaslal: 23. listopad 2009, 13:16:16    Předmět: Odpovědět s citátem

rezna: Dle tveho prehledu je neuvedeni BOM u utf-8 chyba? Ja jenom, jestli te chapu spravne.

Edit:
Podle wikipedie a standardu totiž:
citace:
A UTF-8 BOM is explicitly allowed by the Unicode standard, but is not recommended, as it only identifies a file as UTF-8 and does not state anything about byte order.

z hlediska utf-8 smrdíš ty a windows (nezávisle na sobě) víc než linux a jeho gedit/nano/whatever. Neříkám, že linux v tomto přímo nesmrdí, taky má svoje problémy (viz ten článek na wiki), ale prostě standard je standard a doporučení v něm nejsou jen pro srandu králíků a Steva Ballmera.
_________________
www.FRANTICWARE.com
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku Předchozí  1, 2, 3, 4  Další
Strana 3 z 4

 
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