NGI.Home > Forum
  EOLO HOME  OFFERTE INTERNET WIRELESS EOLO  FORMULA ADSL
   
   
WEBMAIL
   
 
  > Register  
  > FAQ  
  > Members List  
 
  > Calendar  
  > Today's Posts  
   
 

Go Back   NGI Forum > Tech & Tech > Developer's Zone

Reply
 
Thread Tools Rate Thread
Old 20th August 2008, 10:01   #1
Arėsius
Soft computer
 
Arėsius's Avatar
 
Join Date: Feb 2000
Posts: 67,351
[OpenGL] mostrare il contenuto del depth buffer

per facilitarmi la vita col testing e il debugging, ho la necessitą di visualizzare realtime il contenuto del depth buffer.

ho pensato di cavarmela cosģ: effettuo il rendering normalmente e come ultima cosa piazzo

Code:
glReadPixels (0, 0, width, height, GL_DEPTH_COMPONENT, GL_UNSIGNED_BYTE, pippo);
glDrawPixels (width, height, GL_LUMINANCE, GL_UNSIGNED_BYTE, pippo);
che dovrebbe copiare il depth buffer in pippo e poi riversarlo come valori di luminanza nel frame buffer.

mi pareva sensato, ma quello che ottengo č un simpatico rettangolone bianco chi mi dice dove sbaglio?
__________________
Lode a Bacco, in saecula saeculorum.
Emergent
Arėsius is offline   Reply With Quote
Old 23rd August 2008, 14:31   #2
Nemo
~~~~~
 
Nemo's Avatar
 
Join Date: Feb 1999
Location: /index.php
Posts: 19,586
tutti john carmack quģ dentro eh
Nemo is offline   Reply With Quote
Old 23rd August 2008, 16:25   #3
gh3
|> play
 
gh3's Avatar
 
Join Date: Mar 2002
Location: Milan
Posts: 10,195
ah i miei ricordi di ogl si fermano al 2001, quindi non contate su di me :\
gh3 is offline   Reply With Quote
Old 24th August 2008, 15:12   #4
pigoz
望むところです
 
pigoz's Avatar
 
Join Date: Feb 2004
Location: ~/
Posts: 1,462
io non so ogl
__________________
github page
pigoz is offline   Reply With Quote
Old 30th August 2008, 00:17   #5
Ufo13
Dalla Russia con amore
 
Ufo13's Avatar
 
Join Date: May 2000
Posts: 11,757
Non conosco bene ogl.

Puoi spiegare un po' meglio le due funzioni

Ma sei sicuro si possa fare? In DirectX9 non puoi.
Ufo13 is offline   Reply With Quote
Old 1st September 2008, 09:32   #6
Arėsius
Soft computer
 
Arėsius's Avatar
 
Join Date: Feb 2000
Posts: 67,351
fanno esattamente quello che ci si puņ aspettare, glReadPixels legge una porzione (0,0)->(w,h) del buffer corrente; si puņ selezionare quale sotto-buffer utilizzare (frame, depth, stencil) e sposta le informazioni in memoria principale (quindi č lentissima).

glDrawPixels fa il percorso inverso: carica una "bitmap" dalla memoria principale e la riversa nel buffer corrente. si puņ utilizzare i dati della bitmap come informazioni di colore, profonditą, alpha, stencil o quant'altro (purché il tipo di dato sia coerente).

cmq nel frattempo ho fatto un po' di prove; in alcune situazioni funziona, soprattutto se mi appoggio alle GLUT. col solo framework che mi hanno affidato per il progetto invece non funziona mai; secondo me fa casino col depth buffer, vi farņ sapere quando avrņ risolto
__________________
Lode a Bacco, in saecula saeculorum.
Emergent
Arėsius is offline   Reply With Quote
Old 5th September 2008, 11:32   #7
Ufo13
Dalla Russia con amore
 
Ufo13's Avatar
 
Join Date: May 2000
Posts: 11,757
Ricorda che ci sono diverse limitazioni dettate dall'architettura e dai driver della tua scheda video.

Alcuni formati non sono supportati, alcune conversioni non vanno, mi pare di aver visto un articolo che trattava questo argomento in uno degli ultimi ShaderX.
Ufo13 is offline   Reply With Quote
Old 5th September 2008, 11:38   #8
Arėsius
Soft computer
 
Arėsius's Avatar
 
Join Date: Feb 2000
Posts: 67,351
in effetti sģ, bisogna stare attenti alla scheda video su cui gira, non č cosģ scontato. tra l'altro, molto del risultato finale č legato alla precisione del depth buffer. cmq č cosģ che appare ora:



il mio nuovo cruccio č che le ombre dello shadow mapping mi appaiono bianche ma il resto funziona. devo capire cosa sbaglio (probabilmente l'alpha test)
__________________
Lode a Bacco, in saecula saeculorum.
Emergent
Arėsius is offline   Reply With Quote
Old 5th September 2008, 11:42   #9
Ufo13
Dalla Russia con amore
 
Ufo13's Avatar
 
Join Date: May 2000
Posts: 11,757
Quote:
Originally Posted by Arėsius View Post
in effetti sģ, bisogna stare attenti alla scheda video su cui gira, non č cosģ scontato. tra l'altro, molto del risultato finale č legato alla precisione del depth buffer. cmq č cosģ che appare ora:



il mio nuovo cruccio č che le ombre dello shadow mapping mi appaiono bianche ma il resto funziona. devo capire cosa sbaglio (probabilmente l'alpha test)

Non vedo la pic. Comunque esistono differenze tra ATI e Nvidia e altre differenze tra modelli diversi.

Se hai Nvidia puoi usare l'hardware (non l'ho mai fatto) per le shadow map filtrate altrimenti io di solito uso un render target a 16 o 32 bit (intero o float dipende da te) dove invece del colore mando in output la profondita`.
Ufo13 is offline   Reply With Quote
Reply

Bookmarks

Thread Tools
Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 20:47.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright 1998-2014 by NGI SpA