void initData() { WindowManager::Instance().setFPS(30); textureNo = LoadTexture(L"1.BMP", *device); if (textureNo == -1) { init_texture(); } initObject(); device->setBGColor(0xFFFFFF); device->setRenderState(cubeNo, MAPPING); device->setCullBack(true); //device->setCVVCheck(true); device->setLightPosition(Light0, vector_c(4, 7, 4)); //device->setLight(Light0, AMBIENT, Color(0xFF0000)); device->setLight(Light0, DIFFUSE, Color(0x00FF00)); device->activeLight(Light0); SetKeyFunction(VK_UP, Main::forward); SetKeyFunction(VK_DOWN, Main::backward); SetKeyFunction(VK_LEFT, Main::left); SetKeyFunction(VK_RIGHT, Main::right); SetKeyFunction(VK_SPACE, Main::space); }
// this example demonstrates how to use Boost.Compute's STL // implementation to add two vectors on the GPU int main() { // setup input arrays float a[] = { 1, 2, 3, 4 }; float b[] = { 5, 6, 7, 8 }; // make space for the output float c[] = { 0, 0, 0, 0 }; // create vectors and transfer data for the input arrays 'a' and 'b' compute::vector<float> vector_a(a, a + 4); compute::vector<float> vector_b(b, b + 4); // create vector for the output array compute::vector<float> vector_c(4); // add the vectors together compute::transform( vector_a.begin(), vector_a.end(), vector_b.begin(), vector_c.begin(), compute::plus<float>() ); // transfer results back to the host array 'c' compute::copy(vector_c.begin(), vector_c.end(), c); // print out results in 'c' std::cout << "c: [" << c[0] << ", " << c[1] << ", " << c[2] << ", " << c[3] << "]" << std::endl; return 0; }