.[ ČeskéHry.cz ].
xna neviditelne pixely

 
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
pepekpepek



Založen: 30. 09. 2011
Příspěvky: 7

PříspěvekZaslal: 30. září 2011, 07:04:28    Předmět: xna neviditelne pixely Odpovědět s citátem

Mám dotaz v xna vykresluju teren a v hlsl na něm provádím výpočet světla a multitexturing, a rychlost tohoto vypoctu neni moc dobra. Jde nějak v hlsl v pixel shaderu podle pohledu kamery nějak určit pro ktere pixely nema smysl toto osvětlení atd. počítat a jenom vratit nejakou barvu. Vim ze v xna by se mohla spočítat Bouding frustrum jetsli se neprotina s nějakym objektem ale toto mi na teren neprislo jako dobré řešení. Díky za odpovědi
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
micky



Založen: 28. 02. 2008
Příspěvky: 348
Bydliště: Plzeň, Praha

PříspěvekZaslal: 30. září 2011, 08:20:57    Předmět: Odpovědět s citátem

Moment... není to náhodou tak, že pixely, co na obrazovce nebudou, pixel shaderem vůbec neprocházejí?
_________________
https://www.bluepulsar.cz/
https://twitter.com/11thDream_Game/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pepekpepek



Založen: 30. 09. 2011
Příspěvky: 7

PříspěvekZaslal: 30. září 2011, 08:56:52    Předmět: Odpovědět s citátem

ja nevim ale mi se zda ze vypocty probihaji na vsech pixelech ale jenom se nevykresluji, protoze jakmile vyjedu pryc z terenu tak by mi mel narust fps na 60 ale zvetsi se jenom o 10 -20 fps a to asi z toho ze se nemusi vykreslovat ale pocitat se asi museji...

pokud to debaguju v PIX tak jsou pocitany vsechny pixely
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 30. září 2011, 09:23:33    Předmět: Odpovědět s citátem

samozrejme ze sa nekreslia vsetky pixely. najpr sa prevedie cliping. a asi mas bootlenec na geometrii ak nevidis prislis velky narast.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pepekpepek



Založen: 30. 09. 2011
Příspěvky: 7

PříspěvekZaslal: 30. září 2011, 09:38:18    Předmět: Odpovědět s citátem

co tim bootlenec myslite? Takze to znamena ze potom neviditelne pixely nebo vrcholy se (automaticky) nepocitaji ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



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

PříspěvekZaslal: 30. září 2011, 10:04:42    Předmět: Odpovědět s citátem

vrcholy sa pocitaju vsetky. potom to ide do zostavenia geometrie. tam sa vykona cliping a az potom sa to posle do rasterizera a teda spusta sa pixel shader.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pepekpepek



Založen: 30. 09. 2011
Příspěvky: 7

PříspěvekZaslal: 30. září 2011, 10:54:22    Předmět: Odpovědět s citátem

no tak jsem to znova zkusil jednou s pocitanim osvetleni textur a pak sem jenom vratil nejakou barvu a rozdil v fps byl o 14 snimku.
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: 30. září 2011, 13:37:29    Předmět: Odpovědět s citátem

Tak ti to brzdí geometrie, ty pixely se skutečně nepočítají, když nejsou vidět (polygony se po převedení do souřadnic obrazovky oříznou; jedna z posledních grafik, která to nedělala, byl GeForce 4 MX). Ta geometrie nemusí znamenat nutně počet vertexů a polygonů, ale i způsob, jak je vykresluješ.
_________________
Award-winning game developer
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. září 2011, 16:48:18    Předmět: Re: xna neviditelne pixely Odpovědět s citátem

pepekpepek napsal:
v xna vykresluju teren
......
Vim ze v xna by se mohla spočítat Bouding frustrum jetsli se neprotina s nějakym objektem ale toto mi na teren neprislo jako dobré řešení.
Tak to ti prislo nespravne.

A nezalezi tu pritom na API. Teren som renderoval v OpenGL, DirectX aj XNA a vsade ho musis nejako nasekat na chunky a renderovat len tie, ktore pretinaju View Frustum, nech karta zbytocne neprocesuje neviditelne vertexy.

Nemusis to robit jedine vtedy, ak mas kameru nastavenu tak, ze vidis vzdy cely teren.

Brute-force metody je dobre mat po ruke ako referencny bod, a vracat sa k nim, len ak ti nieco nejde ako by malo.

O akej graf.karte sa tu bavime, ake rozlisenie a kolko polygonov ma teren ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pepekpepek



Založen: 30. 09. 2011
Příspěvky: 7

PříspěvekZaslal: 30. září 2011, 17:28:08    Předmět: Odpovědět s citátem

no teren jsem zkoušel na sekat na kousky, ale ještě jsem nedělal porovnání jestli protína view frustrum nějakou čast, protože jak jsem vykreslil celou plochu po částech tak se vyrazně snížil vykon a pokud by se nahdou nekdy vykreslovala cela čast tak by to bylo na nic ale je pravděpodobne že sem to nasekal nějak špatně
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. září 2011, 20:08:58    Předmět: Odpovědět s citátem

citace:
vyrazne snizil vykon

Co to znamena, ze vyrazne ? 14 framov z 1400 alebo 14 framov zo 40 ?

Na kolko chunkov si ho nasekal ? Pouzivas 1 spolocny Index Buffer ? Nevyratavas nic za behu na kazdy chunk ? Spravne by si mal len bindnut vertex buffer noveho chunku (index buffer zostane ten isty) a to je vsetko.

Kedze dokazes teren vykreslit naraz jednym volanim, tak je zjavne, ze nepotrebujes prepinat materialy/shadery pomedzi jednotlive chunky, takze fakt jedine co musis urobit je switchnut VB per chunk.

Pokles vykonu mozes ocakavat, ak to nasekas az prilis - tzn. napr. 16x16 = 256 DIP calls na viditelnu cast terenu - v taky cas je logicke, ze API overhead ta zbrzdi.
Stale si nenapisal, na akej karte to bezi a kolko tris ma teren. Mas tam zapnuty nejaky postprocessing, alebo AA ktory by ta mohol brzdit ? Mas urcite vygenerovane mipmapy na textury terenu ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Marek



Založen: 28. 07. 2007
Příspěvky: 1782
Bydliště: Velká Morava

PříspěvekZaslal: 30. září 2011, 21:06:08    Předmět: Odpovědět s citátem

Je jasný, že ho brzdí CPU.

Buď má dost rychlé GPU, nebo má nenáročný rendering vzhledem k jeho GPU, nebo má pomalý kód na CPU.

Doporučuju projet to profilerem. Předpokládám, že kompiluje se všema optimalizacema zapnutýma, jinak se nemá smysl o výkonu ani bavit. Cool (debug kód = klidně i 10x pomalejší)
_________________
AMD Open Source Graphics Driver 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 -> 3D API / 3D Enginy Č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