dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Ko spēj videokarte ar SM2.

 
dev.gamez.lv Forum Index -> OpenGL
View previous topic :: View next topic  
Author Message
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Jul 10, 2007 7:47 pm    Post subject: Ko spēj videokarte ar SM2.

(topiks specially for EDDY)

Negribējā piemēslot VOH žurnālu, tāpēc sarunu turpināšu te.
EDDY saki, ka ar SM2 nevar skaistu displacement mappingu panākt? Ceru, ka pareizi saprotu tavu terminoloģiju - tu ar displacement mapping domā vertex šeideri, kuram katrai vertex koordinātei normāles virzienā pieskaitās noteikts lielums ņemts no heightmap tekstūras, tādējādi panākot ģeometrijas detalizāciju "lētā" veidā - vajag glabāt tikai tekstūru, nevis daudz virsotņu/poligonu? Nu tiešā izpratnē vertex šeiderī veikt tekstūras lookupus uz SM2 nevar, tam piekritīšu. Taču ar nedaudz citām metodēm var panākt ļoti skaistu "viltus" ģeometrijas detalizāciju.

Piemēru vajag? Nesen pētīju dažādus paņēmienus kā padarīt ģeometriju "detalizētāku". Sākot no parasta bump-mapping, parallax-mapping, parallax-steep-mapping un beidzot ar tādiem paņēmieniem kā relief-mapping un parallax-occlusion mapping ar visu self-shadowing (viens vienīgs poligons met ēnas pats uz sevi).

Zemāk skrīnšoti. Lai arī programma ir rakstīta OpenGL'ā, taču tā izmanto tikai SM2 piedāvātās iespējas. Lai arī šeideri bija dikti neoptimizēti (tos rakstīju pēc iespējas vienkāršāk, lai pats saprastu, kas tur notiek), freimreits bija ciešamā lielumā - ap 20. Esmu pārliecināts, ka nedaudz paoptimizējot, varētu diezgan labu fps dabūt.

Ņemiet vērā, ka skrīniņos redzamie ķieģeli ir tikai divi trijstūri - tiek renderēta plakana siena, uz kuras ir uzmaukta tekstūra, kurai pielietojot ūberīgus šeiderus var panākt redzamos efektus.

Un tas viss uz "lieliskās" GF FX5200 64bit videokartes.

Parasts Bump mappings:



Daudz krutāks Parallax Occlusion mappings:



Te abas saliktas kopā, lai vieglāk salīdzināt:



Vēl viens salīdzinājums:



Varam secināt, ka piemēram šeit te: http://www.guru3d.com/article/Videocards/431/26/ notiek pamatīga tautas čakarēšana (Call of Juarez FirePlace).
Rāda "DirectX 10", kaut arī tas ir parasts parallax-mappings (par kārtu mazāks nekā skrīnos redzamais parallax-occlusion mappings).

Tā ka vajag mācēt pielietot visus videokartes piedāvātos resursus, nevis tikai copy&paste no SDK atrastajiem koda piemēriem darīt ;) Tur jau parasti demonstrē kādu jaunu videokartes tehnoloģiju, kas bieži vien tikai palīdz vecākus efektus rādīt ātrāk vai īsāk (koda apjoma ziņā). Tas nebūt nenozīmē, ka ar SM2 nevar panākt daudz labu lietu - piemēram arī to pašu HDR renderēšanu, kas pēc būtības ir SM3 lieta, jo pieprasa floating point tekstūras.
Back to top
View user's profile Send e-mail
elvman
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 09 Apr 2003
Posts: 1278
Location: Kuldiga

PostPosted: Thu Jul 12, 2007 12:16 pm    Post subject:

bubu wrote:
kas pēc būtības ir SM3 lieta, jo pieprasa floating point tekstūras.

wikipedia wrote:
DirectX9 Shader Model 2.x suggested the support of two precision types: full and partial precision. Full precision support could either be FP32 and FP24 (floating point 24-bit per component) or greater, while partial precision was FP16. ATI’s R300 series of GPUs supported FP24 precision only in the programmable fragment pipeline (although FP32 was supported in the vertex processors) while NVIDIA’s NV30 series supported both FP16 and FP32; other vendors such as S3 Graphics and XGI supported a mixture of formats up to FP24.

kautkur netā wrote:
The GeForece6800 supports filtering for 16 bit floating point textures.

Arii FX kartes atbalsta floating-point textuuras, kaut arii taas nevar tikt izmantotas Direct3D.
_________________
long time; /* know C */
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Jul 12, 2007 4:59 pm    Post subject:

Ok, tas ir iespējams kautkādiem SM2 vēlākajiem variantiem. Taču SM3 noteikti pieprasa supportēt kā minimums 32-bit'us uz vienu krāsas kanālu. Bet ar 16-bit floatu ir limitēts intervāls, kādu gaišumu/tumšumu var rādīt. Tas vairs nav īsts HDR, kaut arī acs gandrīz vai nemana atšķirību ;)
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> OpenGL All times are GMT + 2 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group