Contribuire a disegnare una linea tratteggiata in OpenGl

Sto cercando di disegnare una linea tratteggiata in OpenGl utilizzando una texture equidistanti lungo il percorso, come i trattini. Posso ottenere una linea continua, ma che non lavoro per questo progetto.
Qualcuno potrebbe aiutare a mi punto nella giusta direzione?

InformationsquelleAutor user661855 | 2011-03-16

 

3 Replies
  1. 11

    Linea tratteggiata in OpenGL è chiamato battute.

    glPushAttrib(GL_ENABLE_BIT); 
    # glPushAttrib is done to return everything to normal after drawing
    
    glLineStipple(1, 0xAAAA);  # [1]
    glEnable(GL_LINE_STIPPLE);
    glBegin(GL_LINES);
    glVertex3f(-.5,.5,-.5);
    glVertex3f(.5,.5,-.5);
    glEnd();
    
    glPopAttrib();

    0xAAAA è il parametro che si desidera sperimentare.

    (Provenienti da qui)

  2. 0

    Il modo migliore sarebbe quello di utilizzare glBegin(GL_POINTS); e diffusa i punti in modo lineare.

    • si può suggerire questa sintassi per OpenGL ES2.0 in android ?
    • Vedere la risposta da 7KV7
  3. 0

    Una linea tratteggiata è solo una serie di collineare segmenti di linea con intercapedine. Se si desidera che il texturing, è in grado di emettere un gruppo di quad. È possibile controllare le coordinate della texture in modo che ogni dash è un pezzo della trama, o ogni trattino abbraccia l’intera trama, o qualsiasi altra ripetizione modello che ti piace.

    Quello che hai provato finora? Mostra il codice che non funziona e l’output grafico che crea. Poi spiegare che cosa si vuole essere diverso.

    • Il percorso che ho per ottenere la texture è tratto dall’utente. Io uso l’ – (void)touchesBegan:(NSSet *tocca), – (void)touchesMoved:(NSSet *)tocca, e – (void)touchesEnded:(NSSet *)tocca alla pista dove l’utente disegna. Ho disegnato una linea continua che utilizza….
    • È possibile modificare la tua domanda, se si dispone di un sacco di dettagli da aggiungere (e si fa). Il codice non si adatta bene nei commenti.
    • Il mio consiglio sarebbe quello di disegnare una linea continua, mentre l’utente è traccia, poi quando si fermano si tocca lo schermo, sostituirlo con un gruppo di quadrati disposti lungo la diagonale. O sta cercando di seguire un percorso che non è una linea retta?
    • Il percorso non è una linea retta.
    • E si sta cercando di texture? O era il texturing solo un’idea per rendere tratteggiata?
    • La testurizzazione è un’idea, sì. Ho una texture di un file di immagine di una forma che viene utilizzata per disegnare la linea lungo cui l’utente tracce. Ma invece della linea continua, voglio i trattini per essere la forma dell’immagine.
    • Penso che si sta andando ad avere per prendere ogni punto segnalato dal tocco API, filtrare il rumore dove il dito leggermente spostato all’indietro o fuori linea, e quindi calcolare la lunghezza di ogni segmento. Quando la lunghezza complessiva raggiunge un pizzico di lunghezza, smettere di disegnare. Quando la lunghezza complessiva supera la dash lunghezza più una dimensione di spazio, disegnare di nuovo. E così via.
    • Ho provato questo prima, ma ho dimenticato di filtrare il rumore! Grazie per il vostro aiuto. Cercherò di nuovo!

Lascia un commento