Hvis dere ?nsker ? gj?re …
Hvis dere ?nsker ? gj?re shader oppgaven som en av de to oppgavene p? oblig 5, s? er dette mulig. Takk til Morten ?degaard for tipset om hvordan dette kan gj?res:
---------------------------------------------------------------
Last ned glew.h, libGLEW.so og libGLEW.so.1.5. Disse ligger i "Kode til ?vinger". Legg disse filene i samme mappe som obligen deres.
Endre CXXFLAGS og LDFLAGS linjene i Makefile til: CXXFLAGS := $(CXXFLAGS) -Wall -pedantic -g2 -DDEBUG -DGLGLEXTPROTOTYPES LDFLAGS := $(LDFLAGS) -L. -L/usr/X11R6/lib -lm -lGL -lGLU -lGLEW -lglut -lXi -lXmu
I GLUTWrapper.hpp ha #include "glew.h" F?R alle andre includes, og inkluder IKKE gl.h, glu.h eller glut.h i den fila hvor main() er. (Hvis man ikke bruker GLUTWrapper, bare s?rg for at glew.h blir inkluda f?r gl.h og glu.h)
Legg s? til disse to linjene rett etter glutCreateWindow() i GLUTWrapper.hpp: GLenum = err = glewInit(); if (err != GLEW_OK) std::cout << "Error in GLEW init: " << glewGetErrorString(err) << std::endl;
Da kan man kompilere kode som bruker ARB-variantene av shader-funksjonene. Disse har litt andre navn enn de funksjonene som st?r i foilene, men fungerer likt. Denne tutorialen viser begge deler, b?de OpenGL2- og ARB-variantene: http://www.lighthouse3d.com/opengl/glsl/index.php?oglshader
For ? f? kj?rt programmet m? du sende med en environment variable s? den finner libGLEW.so.1.5 S? hvis programmet heter main, skriv f?lgende for ? starte det: LDLIBRARYPATH=. ./main loop models/cow.msh
Man kan ogs? legge til "export LDLIBRARYPATH=/full/path/to/oblig/folder" i .bashrc for ? slippe ? skrive LD_.. hver gang.
---------------------------------------------------------------
Dette fungerer p? Abel maskinene, og trolig p? Ifi maskinene. Siden vb maskinene ikke er spessielt glade i OpenGL vil den ikke fungere der.
Dette vil derimot ikke n?dvendigvis fungere p? hjemmemaskinen din. Hvis du har ett kort som ikke st?tter shadere, er det ingenting ? gj?re med det. Kortene p? abel st?tter derimot shadere, men har ikke installert OpenGL 2.0, og derfor er en n?dt til ? bruke glew, som er extensioner til OpenGL, for ? f? shadere i OpenGL < 2.0.
Send en mail til martiert@ifi.uio.no hvis dere f?r problemer.