关于GLM的一个简单问题。 我是C ++和GLM的新手,所以请耐心等待。
我不明白这行是做什么的:
glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f);
什么是" vec" ?方法名称?构造函数?如果我重构它(重命名),它仍然有效。
我知道它必须是变量,但对我来说它看起来像是一种方法。
由于
答案 0 :(得分:1)
glm :: vec4是一个包含4个分量x,y,z和w的矢量。
db.collection.aggregate({
$project: {
"tmp": { // we create a temporary field
$objectToArray: "$$ROOT" // that contains our respective root document represented as an array of key-value pairs
}
}
}, {
$unwind: "$tmp" // flatten the temporary array into multiple documents
}, {
$match: {
"tmp.v": { $not: { $type: "object" } } // filter all documents out that we do not want in our result
}
}, {
$group: { // group all documents together again
"_id": "$_id", // into one bucket per original document ("_id")
"tmp": {
$push: "$tmp" // and create an array with all the key-value pairs that have survived our $match stage
}
}
}, {
$replaceRoot: { // create a new top level document...
"newRoot": {
$arrayToObject: "$tmp" // ...out of the data we have left in our array
}
}
})
创建一个名为vec的变量vec4。向量的内容用
初始化glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f)