OK, więc już wiem, dlaczego potrzebuję GLEW, ale tylko do pewnego momentu.Co robi GLEW i dlaczego go potrzebuję?
Jeśli używam nowoczesnych rzeczy OpenGL, prawdopodobnie od wersji 3.0 i/lub używam Profilu rdzenia, wtedy GLEW jest wymagany, ponieważ bez tego kompilacja spowodowała błąd, taki jak glGenVertexArrays
nie został zadeklarowany.
Tak więc GLEW wykonuje pewną pracę w tle, w tym nowoczesne funkcje OpenGL, z których chcielibyśmy skorzystać.
Niezależnie od tego, robi on coś jeszcze? A także, jak to działa.
Na przykład, czy ulepsza kompilację między platformami? (Wymagaj mniejszej modyfikacji kodu, jeśli na przykład przejście z Linuksa na Windows lub OS X?
Czy ulepszyło to również "wieloplatformowość" sprzętu graficznego? Na przykład, mamy dwa identyczne komputery, w tym OS: Program jest kompilowany za pomocą poleceń OpenGL 4.3 w jednym systemie.Jeśli drugi system ma kartę graficzną lub sterownik obsługujący tylko OpenGL 3.3, czy GLEW może w tym pomóc? (Kompilowanie shaderów dla starszej wersji OpenGL, być może?)
więc prawdopodobnie można zobaczyć, że w rzeczywistości nie wie, co czyni GLEW lub jak to robi
ostatni punkt;.? czy ktoś wie, jak używać GLEW z GLFW mogę zakładać, że jako oddzielny kwes w rzeczywistości.
Jeśli utworzę okno, a następnie zadzwonię do glewInit(), otrzymam błąd segfault? – user3728501
@EdwardBird: Czy utworzyłeś kontekst OpenGL w tym oknie? Czy kontekst OpenGL jest aktywny podczas wywoływania glewInit? – datenwolf
Tak, zrobiłem, ale naprawiłem problem teraz - dzięki i tak (: – user3728501