fho*_*fho 3 c++ opengl stl glsl glm-math
我尝试在STL容器中使用GLM向量类.只要我不尝试使用就没什么大不了的<algorithm>
.大多数算法依赖于==
未针对GLM类实现的运算符.
任何人都知道解决这个问题的简单方法吗?没有(重新)实现STL算法:(
GLM是一个很好的数学库,用c ++实现GLSL函数
我刚刚发现glm实际上在扩展中实现了比较运算符(这里).但是我如何在stl中使用它们?
这个问题已经被这个问题所取代:如何在stl算法中使用glm的operator ==?
许多STL算法接受用于对象比较的仿函数(当然,在比较包含浮点值的两个向量时,您需要特别小心).
例:
要排序std::list<glm::vec3>
(由你决定是否那种排序向量会有任何实际意义),你可以使用
std::sort(myVec3List.begin(), myVec3List.end(), MyVec3ComparisonFunc)
Run Code Online (Sandbox Code Playgroud)
同
bool MyVec3ComparisonFunc(const glm::vec3 &vecA, const glm::vec3 &vecB)
{
return vecA[0]<vecB[0]
&& vecA[1]<vecB[1]
&& vecA[2]<vecB[2];
}
Run Code Online (Sandbox Code Playgroud)
所以,幸运的是,没有必要修改GLM甚至重新发明轮子.
归档时间: |
|
查看次数: |
3675 次 |
最近记录: |