当前位置: 首页>>代码示例>>C++>>正文


C++ texture::load方法代码示例

本文整理汇总了C++中texture::load方法的典型用法代码示例。如果您正苦于以下问题:C++ texture::load方法的具体用法?C++ texture::load怎么用?C++ texture::load使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在texture的用法示例。


在下文中一共展示了texture::load方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

void main (int argc,char **argv)
{
	setlocale(LC_CTYPE, ""); //making autoconverting for non cp866 symbols
	// инициализация библиотеки GLUT
	glutInit(&argc,argv);
	// инициализация дисплея (формат вывода)
	glutInitDisplayMode (GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);

	// создание окна:
	// 1. устанавливаем верхний левый угол окна
	glutInitWindowPosition(200,200);
	// 2. устанавливаем размер окна
	glutInitWindowSize(600,600);
	// 3. создаем окно
	glutCreateWindow("Anytime, anywhere…");
	// устанавливаем обработчик выхода (для освобождения выделенной памяти)
	atexit(onExit);
	// переходим в полноэкранный режим
	//glutFullScreen();

	cfg=new Config();
	try
	{
		cfg->readFile(cfgPath.c_str());
	} catch (...)
	{
		printf("Config doesn't parsed\n");
	}

	// очистка объектов
	objects.clear();
	cam=new camera();
	// загрузка камеры
	cam->loadCamera(cfg);
	
	hasVBO=glutExtensionSupported("GL_ARB_vertex_buffer_object")!=0; // check if VBO supported
	hasFragmentShader=glutExtensionSupported("GL_ARB_fragment_shader")!=0; // check if fragment shader is supported
	hasVertexShader=glutExtensionSupported("GL_ARB_vertex_shader")!=0; // check if fragment shader is supported
	newOGL=atof((const char *)glGetString(GL_VERSION))>=1.5f; // check OGL version

	// проверяем наличие необходимых расширений
	object3DS::checkExtensions();
	shader::checkExtensions();

	if (!hasVBO) { printf("VBO does not supported\n"); } // no VBO
	if (!hasFragmentShader) { printf("Fragment shaders not supported\n"); } // no fragment shader
	if (!hasVertexShader) { printf("Vertex shaders not supported\n"); } // no vertex shader
	if (!newOGL) { printf("OLG 2.0 functions not supported\n"); } // old OGL

	ilInit();
	devilError = ilGetError();
	if (devilError != IL_NO_ERROR)
	{
		wprintf(L"Devil Error (ilInit): %s\n", iluErrorString(devilError));
		exit(2);
	}
	iluInit();
	ilutInit();
	ilutRenderer(ILUT_OPENGL);

	// загрузка объектов по файлу конфигурации
	loadObjects(objects);

	for (unsigned int i=0; i<objects.size(); i++)
	{
		objects[i]->buffer(); // buffer objects to VBO
	}

	modelShader.loadVertexShader("Phong.vsh");
	modelShader.loadFragmentShader("Phong.fsh");
	modelShader.createProgram();

	planeShader.loadVertexShader("Phong.vsh");
	planeShader.loadFragmentShader("Phong.l3.fsh");
	planeShader.createProgram();

	// 4. устанавливаем функцию, которая будет вызываться для перерисовки окна
	glutDisplayFunc(display);
	// 5. устанавливаем функцию, которая будет вызываться при изменении размеров окна
	glutReshapeFunc(reshape);
	// 6. устанавливаем таймер для перерисовки окна по времени
	glutTimerFunc(delayPerFrames,simulation,0);
	// 7. устанавливаем обработчик обычных клавиш
	glutKeyboardFunc(processNormalKeys);
	// 8. устанавливаем обработчик функциональных клавиш
	glutSpecialFunc(processSpecialKeys);

	glEnable(GL_CULL_FACE);
	glEnable(GL_LIGHTING);
	glEnable(GL_LIGHT0);
	glEnable(GL_LIGHT1);
	glEnable(GL_TEXTURE_2D);
	glActiveTexture(GL_TEXTURE0);

	surfaceTex.load(L"textures\\ceram.jpg");

	// вывод строк описывающих OpenGL
	// вывод производителя
	printf("%s\n",glGetString(GL_VENDOR));
	printf("%s\n",glGetString(GL_RENDERER));
//.........这里部分代码省略.........
开发者ID:PaveLiArcH,项目名称:3ds_viewer,代码行数:101,代码来源:main.cpp


注:本文中的texture::load方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。