本文整理汇总了C++中GLTexture::setTextureBlendMode方法的典型用法代码示例。如果您正苦于以下问题:C++ GLTexture::setTextureBlendMode方法的具体用法?C++ GLTexture::setTextureBlendMode怎么用?C++ GLTexture::setTextureBlendMode使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GLTexture
的用法示例。
在下文中一共展示了GLTexture::setTextureBlendMode方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
//.........这里部分代码省略.........
material_0._specular_material = glm::vec3(1.0, 1.0, 1.0);
material_0._shininess = 2.0;
material_0._transparency = 1.0;
// Add the material to the apperance object
apperance_0->setMaterial(material_0);
//************************************************************************************************
// Add a texture
GLTexture* texture = new GLTexture();
texture->loadAndCreateTexture("../../data/textures/reflactance_map1.bmp");
apperance_0->setTexture(texture);
//************************************************************************************************
// Finalize the appearance object
apperance_0->finalize();
// create the sphere geometry
GLSphere3D* sphere_0 = new GLSphere3D(0.0,0.0,0.0, 10.0, 50, 50);
sphere_0->setApperance(*apperance_0);
sphere_0->init();
// If you want to change appearance parameters after you init the object, call the update function
apperance_0->updateLightSources();
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// Main render loop
// Set up our green background color
static const GLfloat clear_color[] = { 0.0f, 0.0f, 0.0f, 1.0f };
static const GLfloat clear_depth[] = { 1.0f, 1.0f, 1.0f, 1.0f };
// This sets the camera to a new location
// the first parameter is the eye position, the second the center location, and the third the up vector.
SetViewAsLookAt(glm::vec3(12.0f, 12.0f, 65.5f), glm::vec3(1.0f, 0.0f, 0.0f), glm::vec3(0.0f, 1.0f, 0.0f));
SetCameraManipulator(CAMERA_MANIPULATOR);
// Enable depth test
// ignore this line, it allows us to keep the distance value after we proejct each object to a 2d canvas.
glEnable(GL_DEPTH_TEST);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// Blending
// Enable blending
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// Main render loop
// This is our render loop. As long as our window remains open (ESC is not pressed), we'll continue to render things.
while(!glfwWindowShouldClose(window))
{
// Clear the entire buffer with our green color (sets the background to be green).
glClearBufferfv(GL_COLOR , 0, clear_color);
glClearBufferfv(GL_DEPTH , 0, clear_depth);
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//// This renders the objects
// Set the trackball locatiom
SetTrackballLocation(GetCurrentCameraMatrix(), GetCurrentCameraTranslation());
// draw the objects
cs->draw();
sphere_0->draw();
// change the texture appearance blend mode
bool ret = texture->setTextureBlendMode(g_change_texture_blend);
if(ret)apperance_0->updateTextures();
//// This renders the objects
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Swap the buffers so that what we drew will appear on the screen.
glfwSwapBuffers(window);
glfwPollEvents();
}
delete cs;
}