SOFTWARE > Linguaggi di programmazione e scripting

[C] Morphos Opengl

<< < (3/4) > >>

raistlin77it:
vi ringrazio dell'aiuto, vedrò di sistemare un po' il mio programma allora.

cmq c'è qualcosa che non mi quadra lo stesso,possibile che ci sia un bug così grossolano nelle tinygl ? stamane ho fatto un'altro test con un programmino che cicla tutti i valori di r,g,b e mi manca sempre un'unità al conteggio esatto.
Solo che  se ho ad esempio 220,0,0 al posto di 221,0,0 è una cosa, ma se ho 1,1,30 ottengo 0,0,30 quindi si incasina tutto :P :P
Oggi provo a spulciare i sorgenti di blender che usa comunque la funzione glReadPixels e verò un po' :D

raistlin77it:
smadonnando un po' mi sono accorto che tramite le varie
        glGetIntegerv(GL_RED_BITS, &rr);
   glGetIntegerv(GL_GREEN_BITS, &gg);
   glGetIntegerv(GL_BLUE_BITS, &bb);

anche aprendo uno schermo a 24 bit ottengo sempre un buffer di 16 bit e + precisamente R da 5,G da 6 e B da 5

per quello probabilmente non ho i valori rgb corretti, perchè usa una risoluzione di colore a caxxo :D :D
verdò se riesco a trovare qualcuno stanotte in chat e se si può aggirare il problema o forzare almeno 24 bit veri

TheKaneB:
non ti intestardire su quello... implementa invece la classe RgbVector che ti ho abbozzato e usa la distanza tra due vettori RGB come metro di paragone per stabilire se due colori sono simili abbastanza, fidati ;-)

raistlin77it:
fatto , implementato la classe rgb ma in c, perchè solo quello so (da autodidatta per giunta)

per ora funziona bene con la tua soluzione. Ora devo riadattare tutti i calcoli dei poligoni,perchè il numero del colore che trovavo mi indicava il poligono scelto :P

raistlin77it:
Aggiornamento : da quello che mi ha deto youmguy su mzone, pare che ci sia un bug nella funzione glColor3ub()

Dice che è meglio usare la glColor3f() , a mè cmq non va lo stesso :P

Aspetto di avere risposta anche da kiero che ho trovato 3 giorni fa su irc.

Nel frattempo ho sistemato il mio codice con le aggiunte di thekaneb, ma non è purtroppo pratica come soluzione, visto che devo "campionare" i  colori ogni click ed anche con una tolleranza di 3 ovvero 1 per canale, ( e facendo poi la conversione in numero intero) mi rimangono fuori un sacco di numeri.

Sono giunto quindi alla conclusione di farmi una lista di colori da utilizzare e schiaffarla in un'array.

quando trovo il colore giusto, leggo l'indice dell'array e sono apposto :P

Se sistemano le opengl, basta cambiare un flag da riga di comando , ed utilizzo la soluzione classica senza array.

Per ora funziona tutto a dovere, se trovo ancora problemi aprirò un thread aposta con le differenze/bug tra le opengl classiche e quelle MorphOS.

Navigazione

[0] Indice dei post

[#] Pagina successiva

[*] Pagina precedente

Vai alla versione completa