Per chiarire, quando dico 'framebuffer predefinito' intendo quello fornito dal sistema di finestre e ciò che finisce sul monitor.Miscela FBO sul framebuffer predefinito
Per migliorare le velocità di rendering per un'app CAD, sono riuscito a separare gli elementi 3D da quelli 2D gestiti da Qt e ora vengono resi ciascuno nel proprio FBO. Quando arriva il momento di farli apparire sullo schermo, metto l'FBO 3D sull'FB predefinito, e poi voglio fondere il mio FBO 2D su di esso.
Ho ottenuto la parte blitting bene, ma non riesco a vedere come si fondono il mio FBO 2D su di esso? Entrambi gli FBO sono identici per dimensioni e formato e sono entrambi uguali all'FB predefinito.
Sono sicuro che è un'operazione semplice, ma non riesco a trovare nulla in rete - presumibilmente mi manca il termine giusto per quello che sto cercando di fare. Anche se sto usando Qt, posso usare comandi OpenGL nativi senza problemi.
Questo sembra proprio orribilmente inefficiente però, ho due array di valori di pixel (i buffer) di uguali dimensioni, in definitiva tutto che debba fare è applicare un'operazione matematica di fondere un elemento di una di esse l'elemento corrispondente dell'altro. OpenGL in realtà tratta solo gli FBO come trame? – cmannett85
@ il rendering di cbamber85 per la trama non sarebbe inefficiente –
@ cbamber85: "OpenGL in realtà tratta solo gli FBO come trame?" Gli FBO sono solo contenitori per immagini. Alleghi immagini agli FBO, ma l'FBO stesso non li possiede. Le immagini provengono da altri oggetti: trame e renderbuffer. E tuttavia "inefficiente" potrebbe sembrare, il rendering di un'immagine sopra l'altra è estremamente veloce. Nessuna trasformazione dei vertici. Nient'altro che il campionamento delle texture nello shader dei frammenti. Inoltre, l'API non ti offre un altro modo per farlo, quindi è tanto efficiente quanto diventa. –