int main(int argc, char **argv) {

	if(argc < 2) {
		std::cout << "IBL.exe configFile.txt" << std::endl;
		return 0;
	}

	loadArguments(argc, argv);
	loadVolumeData();
	if(!strcmp(IBLext, "cam"))
		lightProbeCapture = new LightProbeCapture();
	precomputeSphericalHarmonics();

	glutInit(&argc, argv);
	glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB | GLUT_DEPTH | GLUT_ALPHA);
	glutInitWindowSize(windowWidth, windowHeight);
	glutCreateWindow("Image-Based Lighting");

	glutReshapeFunc(reshape);
	glutDisplayFunc(display);
	glutIdleFunc(idle);
	glutKeyboardFunc(keyboard);
	glutSpecialFunc(specialKeyboard);
	
	glewInit();
	initGL();

	initShader("Shaders/IBL", 0);
	initShader("Shaders/VRRaycasting", 1);
	initShader("Shaders/VRImage", 2);
	initShader("Shaders/FinalRendering", 3);
	glUseProgram(0);

	glutMainLoop();

	delete volume;
	delete minMaxOctree;
	delete transferFunction;
	delete myGLTextureViewer;
	delete hdrImage;
	if(!strcmp(IBLext, "cam"))
		delete lightProbeCapture;
	return 0;

}
示例#2
0
文件: base2.cpp 项目: 8l/insieme
void Base2::runProc() {
	std::cout << "Base2::runProc" << std::endl;
	loadArguments();
	run();
}