2013-03-25 15 views
36

Ho recentemente iniziato ad imparare OpenGL (> 3.3) & Ho notato molti esempi di tutorial & che usano entrambi freeglut & glew, ma in realtà non spiegano affatto la differenza. La migliore descrizione che ho trovato, dopo aver cercato la nausea fino alla nausea, è stata questa OpenGL Related toolkits and APIs ma è stata trovata mancante. Ho persino letto le informazioni sui tag su SO.
differenza di freeglut vs glew?

Come qualcuno davvero nuovo per OpenGL sto ancora cercando di comprendere i diversi concetti. Sono arrivato allo stadio di creare un programma di base che utilizza glew, creare un contesto (su Windows, VS2010), & disegnare forme veramente semplici, il tutto senza la necessità di includere esplicitamente freeglut. Quindi non capisco perché ne ho bisogno.

Quindi la mia domanda è allora, qual è la differenza tra:
-freeglut
-glew
- (& glfw)
Cosa si può fare che l'altro non può ?

+3

Ma è proprio così, come ho già detto, tutti gli esempi e le esercitazioni che ho letto ecc., Non rendono davvero chiaro a un principiante ** quello che fanno effettivamente, quindi la mia confusione. Tutti gli esempi usano le funzioni ecc., Ma in realtà non stabiliscono cosa si può fare e l'altro non può in alcun modo chiaro. – ReturnVoid

risposta

44

L'OpenGL Extension Wrangler (GLEW) viene utilizzato per accedere alle moderne funzioni API OpenGL (versione 3.2 fino all'ultima versione). Se utilizziamo una versione antica di OpenGL, possiamo accedere alle funzioni OpenGL semplicemente come #include <GL/gl.h>. Ma nella moderna OpenGL, le funzioni API sono determinate in fase di esecuzione, non compilare il tempo. GLEW gestirà il caricamento tempo di esecuzione del OpenGL API.About GLEW vedere here

GLFW o freeglut permette di creare una finestra, e ricevere il mouse e della tastiera in modo più piattaforme. OpenGL non gestisce la creazione o l'immissione di finestre, quindi dobbiamo usare queste librerie per gestire finestre, tastiera, mouse, joystick, input e altri scopi.

GLFW e freeglut sono alternative per noi secondo le nostre necessità siamo in grado di scegliere una qualsiasi, ma GLEW è diverso da loro che viene utilizzato per il caricamento fase di esecuzione delle API OpenGL.

+1

@MichhaelIV Ho modificato la mia risposta –

2

Sto usando entrambi per un lavoro nella mia università.

GLEW è un "estensione al caricamento di librerie multipiattaforma open-source C/C++" (dal suo sito), mentre freeglut è un window manager che sostituisce la libreria predefinita OpenGL Utility Toolkit (GLUT).

Quindi, come vedi, entrambi diversi hanno scopi diversi. Il punto di usare freeglut è che è ancora mantenuto, mentre l'eccesso di default non è, quindi se volete correzioni di bug e nuove caratteristiche si dovrebbe usarlo :)

+0

Quindi, in pratica, si può decidere di utilizzare freeglut da solo? O ridacchiare da solo? Senza uno. Quindi, ognuno di questi ha tutte le funzionalità richieste dall'altro, perché includere entrambi? Di nuovo, non capisco.Scusate se questo suona davvero denso, ma io no, e il fatto che tutti gli esempi che ho visto includano entrambi o qualche variante simile non aiuta. – ReturnVoid

+0

Aspetta, quindi GLEW è specifico per C/C++? Considerando che, Glut/Freeglut non è? Significa che qualcuno che esegue C# o .net o qualcosa che non è C/C++ non può usare GLEW, dovrebbero usare l'eccesso o qualcos'altro? – ReturnVoid

+1

Non è necessario utilizzare GLEW perché è un gestore delle versioni (garantisce la presenza delle versioni corrette per il proprio sistema operativo), ma è utile. Puoi anche rimuovere freeglut se vuoi usare il GLUT predefinito, ma utilizzerai il vecchio software perché sembra essere abbandonato ... – mrcasals

Problemi correlati