本文整理汇总了C++中glm::ceil方法的典型用法代码示例。如果您正苦于以下问题:C++ glm::ceil方法的具体用法?C++ glm::ceil怎么用?C++ glm::ceil使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类glm
的用法示例。
在下文中一共展示了glm::ceil方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: sampleDensity
float DensityField::sampleDensity(const vec3& pos) const {
// Compute normalized position [0..1]^3
const vec3 n_pos{m_bbox.computeNormPos(pos)};
// Compute texel coordinate
vec3 tex_coord{n_pos * vec3{m_res}};
// Use voxel centers as texel values, just as OpenGL does
tex_coord -= vec3{0.5f};
// Compute pixel coordinates
const int x[2] = {static_cast<int>(floor(tex_coord.x)), static_cast<int>(ceil(tex_coord.x))};
const int y[2] = {static_cast<int>(floor(tex_coord.y)), static_cast<int>(ceil(tex_coord.y))};
const int z[2] = {static_cast<int>(floor(tex_coord.z)), static_cast<int>(ceil(tex_coord.z))};
// Obtain neighbouring samples
const float tx{tex_coord.x - x[0]};
const float ty{tex_coord.y - y[0]};
const float tz{tex_coord.z - z[0]};
const float d000{sample(x[0], y[0], z[0])};
const float d100{sample(x[1], y[0], z[0])};
const float d010{sample(x[0], y[1], z[0])};
const float d110{sample(x[1], y[1], z[0])};
const float d001{sample(x[0], y[0], z[1])};
const float d101{sample(x[1], y[0], z[1])};
const float d011{sample(x[0], y[1], z[1])};
const float d111{sample(x[1], y[1], z[1])};
// Perform trilinear interpolation
return lerp3D(d000, d100, d010, d110, d001, d101, d011, d111, tx, ty, tz);
}