View previous topic :: View next topic |
Author |
Message |
snauts Indago Uzvarētājs
Joined: 18 Sep 2007 Posts: 37
|
Posted: Mon Oct 26, 2009 11:37 pm Post subject: GL_DEPTH_COMPONENT |
|
Es cenšos nokopēt dziļuma bufferi iekš tekstūras, lai pēcāk to varētu izmantot fragmentu šeiderī.
Code: |
glBindTexture(GL_TEXTURE_2D, depth_id);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 0, 0, DEPTH_SIZE, DEPTH_SIZE, 0);
glBindTexture(GL_TEXTURE_2D, 0);
|
Kas tur varētu būt nepareizi? Kad GL_DEPTH_COMPONENT vietā ielieku GL_RGBA, tad es savā fragmentu šeiderī dabūju uzzīmēto bildi, kā nākas. |
|
Back to top |
|
|
snauts Indago Uzvarētājs
Joined: 18 Sep 2007 Posts: 37
|
Posted: Tue Oct 27, 2009 12:27 am Post subject: |
|
Pardon, man bija uzlikts pārlieku maziņš zNear, un pārlieku liels zFar. |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Oct 27, 2009 10:59 am Post subject: |
|
Tā, protams, ar glCopyTexImage2D var darīties, bet daudz prātīgāk ir izmantot FBO, lai, renderējot scēnu, depth bufferi pa taisno ierenderētu tekstūrā, kuru izmantot vēlāk šeiderī. Tādējādi izpaliks lieka datu kopēšana = lielāka performance. |
|
Back to top |
|
|
snauts Indago Uzvarētājs
Joined: 18 Sep 2007 Posts: 37
|
Posted: Tue Oct 27, 2009 10:48 pm Post subject: |
|
Izmantojot FBO ierenderēju visu pa taisno tekstūrā.
Kā parādīt tekstūru bez liekas datu kopēšanas? |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Tue Oct 27, 2009 11:44 pm Post subject: |
|
Krāsu kanālā ierenderēji to depth/z? Un kam/kur/kāpēc tu gribi to tekstūru rādīt? _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Tue Oct 27, 2009 11:56 pm Post subject: |
|
snauts wrote: | Izmantojot FBO ierenderēju visu pa taisno tekstūrā.
Kā parādīt tekstūru bez liekas datu kopēšanas? |
Vienkārši rādi kā parastu tekstūru, nekas speciāli nav jādara. Depth tekstūrai jārādās kā melnbaltai bildei. |
|
Back to top |
|
|
snauts Indago Uzvarētājs
Joined: 18 Sep 2007 Posts: 37
|
Posted: Wed Oct 28, 2009 6:12 pm Post subject: |
|
Ko nozīmē vienkārši rādi kā parastu tekstūru? |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Wed Oct 28, 2009 7:14 pm Post subject: |
|
Tas nozīmē, ka to var parādīt (ar šeideri, vai bez šeidera) tieši tāpat kā parastu RGB tekstūru. Bez šeideriem - piebindo tekstūru, saliec korektus texcoordus, un glEnable(GL_TEXTURE_2D). Ar šeideriem - piebindo tekstūru, uploado korektu sampler2D uniformu, saliec korektus texcoordus, un GLSL'ā lookapo tekstūru ar parastu texture2D funkciju. |
|
Back to top |
|
|
snauts Indago Uzvarētājs
Joined: 18 Sep 2007 Posts: 37
|
Posted: Wed Oct 28, 2009 9:04 pm Post subject: |
|
Tik un tā es neredzu, kur "izpaliks lieka datu kopēšana".
Vienā gadījumā es kopēju dziļuma bufferi uz tekstūru.
Otrā gadījumā es kopēju tekstūru uz ekrāna. |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Wed Oct 28, 2009 9:28 pm Post subject: |
|
Vienā gadījumā visu kopē videokarte, citā procesors un tie dati vēl tiek ielādēti VRAMā. Ir vēl iespēja (ja, protams, OpenGL nav tik ļoti atpalicis no D3D) pielikt vēl vienu render targetu un zīmēt krāsas vienā un depth/z otrā. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
bubu Indago Uzvarētājs
Joined: 23 Mar 2004 Posts: 3223 Location: Riga
|
Posted: Thu Oct 29, 2009 1:14 am Post subject: |
|
FBO, sneik, arī ir tavi rendertargeti. Pats tu esi atpalicis ;) |
|
Back to top |
|
|
snake5 Indago dalībnieks
Joined: 27 Jun 2007 Posts: 2590
|
Posted: Thu Oct 29, 2009 3:49 am Post subject: |
|
bubu wrote: | FBO, sneik, arī ir tavi rendertargeti. Pats tu esi atpalicis |
Vai nav vienalga, kā viņus sauc? Darbojas tāpat. Anyway, es nerunāju par to, vai viņi tur ir, vai nav, bet gan par to, vai var vairākos iekšā rakstīt uzreiz. _________________ "There are two choices here: "looks good" and "realism"." -- Paul Nettle |
|
Back to top |
|
|
|