• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C++ check_gl_error函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C++中check_gl_error函数的典型用法代码示例。如果您正苦于以下问题:C++ check_gl_error函数的具体用法?C++ check_gl_error怎么用?C++ check_gl_error使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



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

示例1: startup

void startup(int argc, char* argv[]) {
	GLenum glew_init_result;
	create_window(argc, argv);
	glewExperimental = GL_TRUE;
	glew_init_result = glewInit();

	check_gl_error(glew_init_result, "");

	fprintf(stdout, "INFO: OpenGL Version: %s\n", glGetString(GL_VERSION));

    rendering_program = create_shaders();
    create_vao();

    // glEnable(GL_CULL_FACE);
    // glCullFace(GL_BACK);
}
开发者ID:gorthon,项目名称:practice,代码行数:16,代码来源:main.c


示例2: glDeleteVertexArrays

void Mesh::Clear() {
	finalized = false;
	this->vertices.clear();
	this->indices.clear();
	if (this->VAO)
		glDeleteVertexArrays(1, &this->VAO);
	if (this->VBO)
		glDeleteBuffers(1, &this->VBO);
	if (this->EBO)
		glDeleteBuffers(1, &this->EBO);
	check_gl_error();

	this->VAO = 0;
	this->VBO = 0;
	this->EBO = 0;
}
开发者ID:ggtucker,项目名称:SugoiEngine,代码行数:16,代码来源:Mesh.cpp


示例3: clear_gl_error

void
cylinder::init_model(view& scene)
{
	if (!scene.cylinder_model[0].compiled()) {
		clear_gl_error();
		// The number of faces corrisponding to each level of detail.
		size_t n_faces[] = { 8, 16, 32, 64, 96, 188 };
		size_t n_stacks[] = {1, 1, 3, 6, 10, 20 };
		for (size_t i = 0; i < 6; ++i) {
			scene.cylinder_model[i].gl_compile_begin();
			render_cylinder_model( n_faces[i], n_stacks[i]);
			scene.cylinder_model[i].gl_compile_end();
		}
		check_gl_error();
	}
}
开发者ID:AprilArcus,项目名称:vpython-wx,代码行数:16,代码来源:cylinder.cpp


示例4: glGenTextures

void			Framebuffer::setDepthTextureOnly()
{
	glGenTextures(1, &m_depthTextureOnlyHandle);
	glBindTexture(GL_TEXTURE_2D, m_depthTextureOnlyHandle);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
	glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
	glTexParameterf(GL_TEXTURE_2D, GL_DEPTH_TEXTURE_MODE, GL_INTENSITY);

	glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT32F, m_width, m_height, 0, GL_DEPTH_COMPONENT, GL_UNSIGNED_INT, NULL);

	glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, m_depthTextureOnlyHandle, 0);

	check_gl_error();
}
开发者ID:GregJo,项目名称:BA-Framework,代码行数:16,代码来源:Framebuffer.cpp


示例5: setup_texture

static void
setup_texture(ModeInfo * mi)
{
  planetstruct *gp = &planets[MI_SCREEN(mi)];

  glGenTextures (1, &gp->tex1);
  glBindTexture (GL_TEXTURE_2D, gp->tex1);

  /* Must be after glBindTexture */
  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

  if (!which_image ||
      !*which_image ||
      !strcmp(which_image, "BUILTIN"))
    {
    BUILTIN:
      setup_xpm_texture (mi, dymaxionmap_xpm);
    }
  else
    {
      if (! setup_file_texture (mi, which_image))
        goto BUILTIN;
    }

  glGenTextures (1, &gp->tex2);
  glBindTexture (GL_TEXTURE_2D, gp->tex2);

  /* Must be after glBindTexture */
  glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
  glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);

  setup_xpm_texture (mi, ground);

  check_gl_error("texture initialization");

  /* Need to flip the texture top for bottom for some reason. */
  glMatrixMode (GL_TEXTURE);
  glScalef (1, -1, 1);
  glMatrixMode (GL_MODELVIEW);
}
开发者ID:Ro6afF,项目名称:XScreenSaver,代码行数:47,代码来源:dymaxionmap.c


示例6: main

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

  try {

    graphicObjects = GraphicObject::loadObjects("resources/mobile.obj", "resources/");

    // initialize GLUT; set double buffered window and RGBA color model
    glutInit(&argc, argv);

    //Intel HD Fix
    glutInitContextVersion(3, 3);
    glutInitContextProfile(GLUT_CORE_PROFILE);
    glewExperimental = GL_TRUE;

    glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH);
    glutInitWindowSize(900, 900);
    glutInitWindowPosition(10, 10);
    glutCreateWindow("CG Proseminar - Mobile");

    // initialize GL extension wrangler
    GLenum res = glewInit();
    if (res != GLEW_OK) {
      fprintf(stderr, "Error: '%s'\n", glewGetErrorString(res));
      return 1;
    }

    check_gl_error();

    // Setup scene and rendering parameters
    initialize();

    // Specify callback functions;enter GLUT event processing loo
    // handing control over to GLUT
    glutIdleFunc(onIdle);
    glutDisplayFunc(display);
    glutKeyboardFunc(keyboard);
    glutPassiveMotionFunc(mouse);

    glutMainLoop();
  }
  catch (const std::exception &e) {
    return EXIT_SUCCESS;
  }


  return 0;
}
开发者ID:rolandg,项目名称:ringelspiel,代码行数:47,代码来源:Mobile.cpp


示例7: bind

void Framebuffer::clean()
{
	bind();
	if(m_colorTextureHandles.size() != 0)
	{
		glClear(GL_COLOR_BUFFER_BIT);
	}
	if (m_depthRBOHandle != GL_INVALID_VALUE || m_depthTextureOnlyHandle != GL_INVALID_VALUE)
	{
		glClear(GL_DEPTH_BUFFER_BIT);
	} else if (m_depthStencilRBOHandle != GL_INVALID_VALUE || m_depthStencilTextureHandle != GL_INVALID_VALUE)
	{
		glClear(GL_DEPTH_BUFFER_BIT|GL_STENCIL_BUFFER_BIT);
	}
	unbind();
	check_gl_error();
}
开发者ID:GregJo,项目名称:BA-Framework,代码行数:17,代码来源:Framebuffer.cpp


示例8: init_model

void
cone::gl_pick_render(view& scene)
{
	if (degenerate())
		return;
	init_model(scene);

	size_t lod = 2;
	clear_gl_error();

	gl_matrix_stackguard guard;
	const double length = axis.mag();
	model_world_transform( scene.gcf, vector( length, radius, radius ) ).gl_mult();

	scene.cone_model[lod].gl_render();
	check_gl_error();
}
开发者ID:AprilArcus,项目名称:vpython-wx,代码行数:17,代码来源:cone.cpp


示例9: render_scene_to_texture

static void
render_scene_to_texture (ModeInfo *mi)
{
  glblur_configuration *bp = &bps[MI_SCREEN(mi)];

  glViewport (0, 0, bp->tex_w, bp->tex_h);

  glCallList (bp->scene_dlist1);
  glCallList (bp->scene_dlist2);

  glBindTexture (GL_TEXTURE_2D, bp->texture);
  glCopyTexImage2D (GL_TEXTURE_2D, 0, GL_LUMINANCE, 0, 0,
                    bp->tex_w, bp->tex_h, 0);
  check_gl_error ("texture2D");

  glViewport (0, 0, MI_WIDTH(mi), MI_HEIGHT(mi));
}
开发者ID:MaddTheSane,项目名称:xscreensaver,代码行数:17,代码来源:glblur.c


示例10: glsl_set_shader_matrix

static bool glsl_set_shader_matrix(ALLEGRO_SHADER *shader,
   const char *name, ALLEGRO_TRANSFORM *matrix)
{
   ALLEGRO_SHADER_GLSL_S *gl_shader = (ALLEGRO_SHADER_GLSL_S *)shader;
   GLint handle;

   handle = glGetUniformLocation(gl_shader->program_object, name);

   if (handle < 0) {
      ALLEGRO_WARN("No uniform variable '%s' in shader program\n", name);
      return false;
   }

   glUniformMatrix4fv(handle, 1, false, (float *)matrix->m);

   return check_gl_error(name);
}
开发者ID:BorisCarvajal,项目名称:allegro5,代码行数:17,代码来源:ogl_shader.c


示例11: glsl_set_shader_float

static bool glsl_set_shader_float(ALLEGRO_SHADER *shader,
   const char *name, float f)
{
   ALLEGRO_SHADER_GLSL_S *gl_shader = (ALLEGRO_SHADER_GLSL_S *)shader;
   GLint handle;

   handle = glGetUniformLocation(gl_shader->program_object, name);

   if (handle < 0) {
      ALLEGRO_WARN("No uniform variable '%s' in shader program\n", name);
      return false;
   }

   glUniform1f(handle, f);

   return check_gl_error(name);
}
开发者ID:BorisCarvajal,项目名称:allegro5,代码行数:17,代码来源:ogl_shader.c


示例12: racing_loop

void racing_loop (double time_step){
    CControl *ctrl = Players.GetCtrl (g_game.player_id);
	double ycoord = Course.FindYCoord (ctrl->cpos.x, ctrl->cpos.z);
	bool airborne = (bool) (ctrl->cpos.y > (ycoord + JUMP_MAX_START_HEIGHT));

    check_gl_error();
    ClearRenderContext ();
	Env.SetupFog ();
	Music.Update ();    

	CalcTrickControls (ctrl, time_step, airborne);

	if (!g_game.finish) CalcSteeringControls (ctrl, time_step);
		else CalcFinishControls (ctrl, time_step, airborne);
	PlayTerrainSound (ctrl, airborne);

//  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
	ctrl->UpdatePlayerPos (time_step); 
//  >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

	if (g_game.finish) IncCameraDistance (time_step);
	update_view (ctrl, time_step);
	UpdateTrackmarks (ctrl);

    SetupViewFrustum (ctrl);
	if (sky) Env.DrawSkybox (ctrl->viewpos);
	if (fog) Env.DrawFog ();
	void SetupLight ();
	if (terr) RenderCourse ();
	DrawTrackmarks ();
	if (trees) DrawTrees ();
	if (param.perf_level > 2) {
		update_particles (time_step);
		draw_particles (ctrl);
    }
	Char.Draw (g_game.char_id);
	UpdateWind (time_step, ctrl);
	UpdateSnow (time_step, ctrl);
	DrawSnow (ctrl);
	DrawHud (ctrl);
	
	Reshape (param.x_resolution, param.y_resolution);
    Winsys.SwapBuffers ();
	if (g_game.finish == false) g_game.time += time_step;
} 
开发者ID:cdlewis,项目名称:extremetuxracer,代码行数:45,代码来源:racing.cpp


示例13: init_stars

static void
init_stars (ModeInfo *mi)
{
  planetstruct *gp = &planets[MI_SCREEN(mi)];
  int i, j;
  int width  = MI_WIDTH(mi);
  int height = MI_HEIGHT(mi);
  int size = (width > height ? width : height);
  int nstars = size * size / 80;
  int max_size = 3;
  GLfloat inc = 0.5;
  int steps = max_size / inc;

  gp->starlist = glGenLists(1);
  glNewList(gp->starlist, GL_COMPILE);
  for (j = 1; j <= steps; j++)
    {
      glPointSize(inc * j);
      glBegin (GL_POINTS);
      for (i = 0; i < nstars / steps; i++)
	{
	  GLfloat d = 0.1;
	  GLfloat r = 0.15 + frand(0.3);
	  GLfloat g = r + frand(d) - d;
	  GLfloat b = r + frand(d) - d;

	  GLfloat x = frand(1)-0.5;
	  GLfloat y = frand(1)-0.5;
	  GLfloat z = ((random() & 1)
		       ? frand(1)-0.5
		       : (BELLRAND(1)-0.5)/12);	  /* milky way */
	  d = sqrt (x*x + y*y + z*z);
	  x /= d;
	  y /= d;
	  z /= d;
	  glColor3f (r, g, b);
	  glVertex3f (x, y, z);
	  gp->starcount++;
	}
      glEnd ();
    }
  glEndList ();

  check_gl_error("stars initialization");
}
开发者ID:Ro6afF,项目名称:XScreenSaver,代码行数:45,代码来源:dymaxionmap.c


示例14: setup_xpm_texture

/* Set up and enable texturing on our object */
static void
setup_xpm_texture (ModeInfo *mi, const unsigned char *data, unsigned long size)
{
  XImage *image = image_data_to_ximage (MI_DISPLAY (mi), MI_VISUAL (mi),
                                        data, size);
  char buf[1024];
  clear_gl_error();
  glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
  /* iOS invalid enum:
  glPixelStorei(GL_UNPACK_ROW_LENGTH, image->width);
  */
  glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA,
               image->width, image->height, 0,
               GL_RGBA, GL_UNSIGNED_BYTE, image->data);
  sprintf (buf, "builtin texture (%dx%d)", image->width, image->height);
  check_gl_error(buf);
  XDestroyImage (image);
}
开发者ID:Zygo,项目名称:xscreensaver,代码行数:19,代码来源:glplanet.c


示例15: glClearColor

void Painter::draw()
{
    glClearColor(1., 1., 1., 0.);
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    
    interface->draw();
    wire_frame->draw();
    
    domain->draw();
    
    glDisable(GL_CULL_FACE);
    edges->draw(GL_POINTS);
    unmoved->draw(GL_POINTS);
    low_quality->draw();
    glEnable(GL_CULL_FACE);
    
    check_gl_error();
}
开发者ID:janba,项目名称:DSC,代码行数:18,代码来源:draw.cpp


示例16: main

int main() {
	sf::Window window( { 200, 200 }, "Buffer Example", sf::Style::Default, sf::ContextSettings( 0, 0, 0, 3, 2, sf::ContextSettings::Core ) );
	ogl_LoadFunctions();

	// Create the buffer object
	auto buffer1 = gls::buffer<GL_ARRAY_BUFFER, GL_DYNAMIC_DRAW>();

	// Write some initial data into the buffer object
	auto write_data = std::vector<float>();
	write_data = { 1.f, 2.f, 3.f, 4.f, 5.f, 6.f, 7.f, 8.f, 9.f };
	buffer1.data( write_data.size() * sizeof( float ), write_data.data() );

	// Copy the data into another buffer object
	auto buffer2 = gls::buffer<GL_ELEMENT_ARRAY_BUFFER, GL_STREAM_READ>();
	buffer2.copy_sub_data( buffer1, 0, 0, buffer1.size() );

	// Modify the data in the second buffer object
	write_data = { 0.f, 0.f, 0.f };
	buffer2.sub_data( 3 * sizeof( float ), write_data.size() * sizeof( float ), write_data.data() );

	// Read the data back from the buffer object
	auto read_data = std::vector<float>();
	read_data.resize( static_cast<std::size_t>( buffer2.size() ) / sizeof( float ) );
	buffer2.get_sub_data( 0, read_data.size() * sizeof( float ), read_data.data() );

	// Print out the data
	for( auto value : read_data ) {
		std::cout << value << " ";
	}
	std::cout << std::endl;

	while( window.isOpen() ) {
		auto event = sf::Event();

		while( window.pollEvent( event ) ) {
			if( event.type == sf::Event::Closed ) {
				window.close();
			}
		}

		check_gl_error( glClear( GL_COLOR_BUFFER_BIT ) );
		window.display();
	}
}
开发者ID:binary1248,项目名称:GLS,代码行数:44,代码来源:buffer.cpp


示例17: RenderSequence

void RenderSequence (double timestep) {
	check_gl_error();
	set_gl_options (TUX);
    ClearRenderContext (colDDBackgr);

	GluCamera.Update (timestep);
	if (TestFrame.active) TestFrame.UpdateTest (timestep, &TestChar);
	else if (keyrun) {
		TestFrame.InitTest (NullVec, &TestChar);
		keyrun = false;
	}

	glPushMatrix ();
	TestChar.Draw ();
	glPopMatrix ();

	Reshape (param.x_resolution, param.y_resolution);
    Winsys.SwapBuffers();
}
开发者ID:RKSimon,项目名称:extremetuxracer,代码行数:19,代码来源:tool_frame.cpp


示例18: draw

void draw(int x, int y, int width, int height)
{
	glBindBuffer(GL_PIXEL_UNPACK_BUFFER, 0);
	glPixelTransferf(GL_GREEN_SCALE, 255.0f);
	glDrawPixels(width, height, GL_GREEN, GL_UNSIGNED_BYTE, (GLvoid*)bufs[grid.which_buf]);

	/*float red[2]   = {0.0f, 1.0f};*/
	/*float green[2] = {0.0f, 1.0f};*/
	/*float blue[2]  = {0.0f, 0.0f};*/
	/*float alpha[2] = {0.0f, 0.0f};*/
	/*glPixelMapfv(GL_PIXEL_MAP_I_TO_R, 2, red);*/
	/*glPixelMapfv(GL_PIXEL_MAP_I_TO_G, 2, green);*/
	/*glPixelMapfv(GL_PIXEL_MAP_I_TO_B, 2, blue);*/
	/*glPixelMapfv(GL_PIXEL_MAP_I_TO_A, 2, alpha);*/
	/*glDrawPixels(width, height, GL_COLOR_INDEX, GL_UNSIGNED_BYTE, (GLvoid*)bufs[grid.which_buf]);*/


	check_gl_error();
}
开发者ID:anojavan,项目名称:csinparallel,代码行数:19,代码来源:openmp.c


示例19: draw_cubes

static int
draw_cubes (ModeInfo *mi, cube *c)
{
  int polys = 0;
  int i, j;

  glColor4fv (c->color);
  glMaterialfv (GL_FRONT, GL_AMBIENT_AND_DIFFUSE, c->color);

  glPushMatrix();
  for (j = 0; j < 6; j++)
    {
      for (i = 0; i < 4; i++)
        {
          polys += draw_strut (mi, c);
          glRotatef (90, 0, 0, 1);
        }
      if (j == 3)
        glRotatef (90, 0, 0, 1);
      if (j < 4)
        glRotatef (90, 0, 1, 0);
      else
        glRotatef (180, 1, 0, 0);
    }
  glPopMatrix();

  if (c->next)
    {
      /* This leaves rotations on the prevailing matrix stack, but since
         this is a tail-call, that's fine.  Don't blow the matrix stack. */
      glRotatef (c->rot.x, 1, 0, 0);
      glRotatef (c->rot.y, 0, 1, 0);
      glRotatef (c->rot.z, 0, 0, 1);
      glTranslatef (c->pos.x, c->pos.y, c->pos.z);
      c->next->pos = c->pos;
      c->next->rot = c->rot;
      polys += draw_cubes (mi, c->next);
    }

  check_gl_error("cubetwist");
  return polys;
}
开发者ID:Zygo,项目名称:xscreensaver,代码行数:42,代码来源:cubetwist.c


示例20: create_buffers

void		create_buffers(t_core *c)
{
	glGenVertexArrays(1, &c->otest.vao_id);
	glBindVertexArray(c->otest.vao_id);
	glGenBuffers(2, &c->otest.vbo_ids[0]);
	glBindBuffer(GL_ARRAY_BUFFER, c->otest.vbo_ids[0]);
	glBufferData(GL_ARRAY_BUFFER, sizeof(GLfloat) * c->otest.vertices_size * 6,
				c->otest.vertices, GL_STATIC_DRAW);
	glEnableVertexAttribArray(c->position_loc);
	glVertexAttribPointer(c->position_loc, 3, GL_FLOAT, GL_FALSE,
							6 * sizeof(GLfloat), (void *)0);
	glEnableVertexAttribArray(c->color_loc);
	glVertexAttribPointer(c->color_loc, 3, GL_FLOAT, GL_FALSE,
						6 * sizeof(GLfloat), (void *)(3 * sizeof(GLfloat)));
	glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, c->otest.vbo_ids[1]);
	glBufferData(GL_ELEMENT_ARRAY_BUFFER,
				sizeof(GLushort) * c->otest.indices_size * 3,
				c->otest.indices, GL_STATIC_DRAW);
	check_gl_error(__LINE__);
}
开发者ID:rdavid42,项目名称:Simple-obj-viewer,代码行数:20,代码来源:create_buffers.c



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C++ check_header函数代码示例发布时间:2022-05-30
下一篇:
C++ check_fwstate函数代码示例发布时间:2022-05-30
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap