.[ ČeskéHry.cz ].
OpenGL - překrývání 3D terénu s 2D bitmapama

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> Grafika
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
JC



Založen: 06. 10. 2007
Příspěvky: 137

PříspěvekZaslal: 31. červenec 2010, 15:24:44    Předmět: OpenGL - překrývání 3D terénu s 2D bitmapama Odpovědět s citátem

Celkem jednoduchý problém, ale nějak nevím co s tím. Správně by měla být část traktoru za jehlanem tam kde se překrývají. Z sort u objektů je v pohodě páč se řadí podle tile mapy na kterém jsou, ale terén se kreslí pod 2d bitmapama.



vrstvy:
1 - terén (3D, každé tile je samostatný trianglestrip)
2 - všechny ostatní obejkty (2D)

Jediný co mě napadlo je dát všechny tile terénu + objekty (stromy, domy, jednotky) do jednoho druhu objektů a pak je řadit podle pozice, ale to se mi moc nechce. Existuje ještě nějaké řešení ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 31. červenec 2010, 15:32:49    Předmět: Odpovědět s citátem

Myslim ze by slo mit objekty na jejich opravdovy pozici ve 3D a pak je vykreslovat se zapnutym Z-bufferem (bez zapisu) a s kolmou projekci, aby se sprity se vzdalenosti nezmensovali.
Jesli sem spravne pochopil, ze objekty se maji chovat jako 2D.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JC



Založen: 06. 10. 2007
Příspěvky: 137

PříspěvekZaslal: 31. červenec 2010, 22:32:48    Předmět: Odpovědět s citátem

problém, že tam žádný 3D souřadnice nemám jelikož to je kolmá projekce a i ten terén jsem zjednodušil (možná blbě) tak, že každý dílek mapy je definován jako isometrický čtverec.

V normálních 3D enginech to mají tedy dělané přes Z-buffer ? Tam kde jsou třeba stromy (2D sprity) v terénu ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



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

PříspěvekZaslal: 31. červenec 2010, 23:36:50    Předmět: Odpovědět s citátem

Nekreslí se snad u 2D her odzadu?
_________________
Award-winning game developer
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JC



Založen: 06. 10. 2007
Příspěvky: 137

PříspěvekZaslal: 1. srpen 2010, 10:09:30    Předmět: Odpovědět s citátem

tak u RTS to je snad takto:

1. mapa (terén)
2. objekty
3. interface

jenže u mého terénu se může stát, že se s objekty překrývá
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
if.then



Založen: 13. 04. 2008
Příspěvky: 579

PříspěvekZaslal: 1. srpen 2010, 10:24:59    Předmět: Odpovědět s citátem

citace:
problém, že tam žádný 3D souřadnice nemám jelikož to je kolmá projekce a i ten terén jsem zjednodušil (možná blbě) tak, že každý dílek mapy je definován jako isometrický čtverec.


Jestli jsem to správně pochopil, pak je každý dílek terénu vlastně čtverec, jehož délku a šířku určují osy X a Y a jehož výšku určuje osa Z (nebo máš přehozené osy Y a Z, ale to je vedlejší). V tom případě by mělo stačit udělat billboard (např. http://www.nehe.ceske-hry.cz/cl_gl_billboard.php ) s pozicí X a Y (tj. pozicí, na které je traktor) a výškou Z. Doufám, že to říkám správně Embarassed
_________________
For guns and glory, go to www.ceske-hry.cz.
For work and worry, execute VC++.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Deluxe



Založen: 31. 07. 2007
Příspěvky: 235
Bydliště: Oslavany

PříspěvekZaslal: 1. srpen 2010, 10:26:45    Předmět: Odpovědět s citátem

Jo, normalne se renderuje tak ze se vykresli nepruhledny objekty od predu (se zapnutym Z-bufferem) a pak se polopruhledny objekty vykresluji od zadu stim ze se zapne Z-buffer jen pro cteni.
Urcite je vic zpusobu, ale takhle bych to delal ja.

Edit: Abychom si to trosku ujasnili, ty teda renderujes teren obycejne ve 3D, a pak objekty (2D sprity) renderujes nakonec v pravouhly projekci ve 2D (tj. neni to jako billboarding) spis jako kdyz vykreslujes GUI?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
JC



Založen: 06. 10. 2007
Příspěvky: 137

PříspěvekZaslal: 1. srpen 2010, 20:45:42    Předmět: Odpovědět s citátem

všechno to je v pravoúhlé projekci a není to billboarding, dílek terénu je prostě "kosočtverec" s namapovanou texturou

jak se dělá z sort v 2d grafice to chápu, ale jak udělat překrývání pokud nechci mít terén mezi všema ostatníma objektama
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Ladis



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

PříspěvekZaslal: 2. srpen 2010, 10:34:34    Předmět: Odpovědět s citátem

Pokud nepoužiješ nějaké masky pro překrývání objektů terénem, tak není jiná možnst než seřadit dohromady políčka terénu a objekty na nich Wink.
_________________
Award-winning game developer
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 -> Grafika Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
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