本文整理汇总了C++中GenericObject::distMoved方法的典型用法代码示例。如果您正苦于以下问题:C++ GenericObject::distMoved方法的具体用法?C++ GenericObject::distMoved怎么用?C++ GenericObject::distMoved使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GenericObject
的用法示例。
在下文中一共展示了GenericObject::distMoved方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drawAll
void GenericHolder::drawAll()
{
glUseProgram(shaderProgram);
glBindVertexArray(vao);
glBindBuffer(GL_ARRAY_BUFFER, vbo);
for (std::vector<GenericObject*>::iterator it = objs.begin(); it != objs.end(); ){
GenericObject* itObj = *it;
if (itObj->markedForDeath){
delete itObj;
it = objs.erase(it);
}
else
{
double reps = (itObj->distMoved()) + 1;
auto rotation = (itObj)->rotation();
auto newTrans = ((itObj)->translate())*rotation;
auto oldTrans = ((itObj)->translateOld())*rotation;
for (int i = 0; i <= reps; i++){
GLint uniTrans = glGetUniformLocation(shaderProgram, "trans");
glUniformMatrix4fv(uniTrans, 1, GL_FALSE, glm::value_ptr(glm::interpolate(oldTrans, newTrans, i / (float)reps)));
draw();
}
++it;
}
}
}