void SkyBox::draw(gdl::AShader *shader, const gdl::Clock &clock, const glm::vec3& pos) const { GameGeometry tmpCube(*_cube); tmpCube.setPosition(pos); _texture->bind(); tmpCube.draw(shader, clock); }
// This routine implements the isomorphism from F_p[X]/(Phi_m(X)) to // F_p[X_1, ..., X_k]/(Phi_{m_1}(X_1), ..., Phi_{m_k}(X_k)). The input // is a polynomial mod q, which must be of degree < m. The output is a // HyperCube of dimension (phi(m_1), ..., phi(m_k)). // // It is assumed that the current modulus is already set. // For convenience, this method returns the value of the modulus q. long PowerfulConversion::polyToPowerful(HyperCube<zz_p>& powerful, const zz_pX& poly) const { HyperCube<zz_p> tmpCube(getLongSig()); long n = deg(poly); //OLD: assert(n < indexes->m); helib::assertTrue(n < indexes->m, "Degree of polynomial poly is greater or equal than indexes->m"); for (long i = 0; i <= n; i++) tmpCube[indexes->polyToCubeMap[i]] = poly[i]; for (long i = n+1; i < indexes->m; i++) tmpCube[indexes->polyToCubeMap[i]] = 0; zz_pX tmp1, tmp2; recursiveReduce(CubeSlice<zz_p>(tmpCube), cycVec_p, 0, tmp1, tmp2); for (long i = 0; i < indexes->phim; i++) powerful[i] = tmpCube[indexes->shortToLongMap[i]]; return zz_p::modulus(); }