void initVariables() { cam.setOrthoGraphicProjection((bool)str2num<int>(parameters.find("OrthographicMode"))); drawInfo = (bool)util::str2num<int>(parameters.find("DrawInfo")); //cam.setOrthoGraphicProjection(orthoMode); cerr << "COMPUTED IOD=" << interoculardistance << endl; trial.init(parameters); stimulusTime=util::str2num<double>(parameters.find("StimulusTime")); trialTimer.start(); trial.next(); interoculardistance = str2num<double>(parameters.find("IOD"))*trial.getCurrent().at("IODFactor"); int textureResolution = util::str2num<int>(parameters.find("TextureResolution")); int maxTextureResolutionZ = (int) std::ceil(textureResolution*util::str2num<double>(parameters.find("MaxCurvatureZ"))); // allocate the texture memory if (parameters.find("UsePolkaDots")=="1") { surface.resize(textureResolution,textureResolution, maxTextureResolutionZ); surface.initializeSurfaceShaders(VolumetricSurfaceIntersection::SurfaceParabolicCylinder); } updateStimulus(trial.getCurrent().at("CurvatureZ")); CurvatureZ=0.0; }
/** * @brief initRendering */ void initRendering() { glShadeModel(GL_SMOOTH); glEnable(GL_MULTISAMPLE); glEnable(GL_DEPTH_TEST); glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); glClearColor(0.0,0.0,0.0,1.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glTranslatef(0,0,eyeDistance); int nspheres=500; int minRadius=15; int maxRadius=50; glewInit(); surface.resize(iWidth,iHeight,iDepth*3); surface.fillVolumeWithSpheres(nspheres,minRadius,maxRadius); surface.initializeTexture(); surface.initializeSurfaceShaders(VolumetricSurfaceIntersection::SurfaceParabolicCylinder); surface.parabolicCylinderSurface.curvature=1.0; surface.parabolicCylinderSurface.centerX=surface.parabolicCylinderSurface.centerY=surface.parabolicCylinderSurface.centerZ=0.0; surface.parabolaSurface.curvature=1.0; surface.coneSurface.c=1.0; surface.ellipsoidSurface.axisX=1.0; surface.ellipsoidSurface.axisY=1.0; surface.ellipsoidSurface.axisZ=1.0; surface.ellipticCylinderSurface.axisX=1.0; surface.ellipticCylinderSurface.height=1.0; surface.ellipticCylinderSurface.axisZ=1.0; getGLerrors(); }