Untitled
List<Numbers> Images; Image img; img.x = 100; img.y = 200; img.value = "Ammo = 100"; img.localImageBuffer = localImageBuffer[100][200] = loadFromDisk("Ammo.bmp"); Images.push_back(img); list<characters> Characters; characters.Ascii = "a"; characters.localImageBuffer = localImageBuffer[100][200] = loadFromDisk("Ammo.bmp"); list<words> Words; Word wrd; wrd.x = 100; wrd.y = 200; wrd.CharacterWidth = 10; wrd.CharacterHeight = 10; wrd.Characters = {'h', 'e', 'l', 'l', 'o'}; wrd.value = "Ammo = 100"; wrd.localImageBuffer = localImageBuffer[100][200] = loadFromDisk("Ammo.bmp"); cgh.parallel_for(range<1>(totalThreads), [=](id<1> threadIdx) { // Decompose threadIdx into (channel_output, x_output, y_output) size_t globalThreadId = threadIdx[0]; for (int i = 0; i < Images.size(); i++) { if (x >= Images[i].x && x <= Images[i].x + Images[i].localImageBuffer.width && y >= Texts[i].y && y <= Texts[i].y + Texts[i].localImageBuffer.height) { auto localX = x - Images[i].x; auto localY = y - Images[i].y; outputColor = Images[i].localImageBuffer[localX][localY]; } } for (int i = 0; i < Words.size(); i++) { for (int j = 0; j < Words[i].Characters.size(); j++) { if (x >= Words[i].x && x <= Words[i].x + Words[i].CharacterWidth && y >= Words[i].y && y <= Words[i].y + Words[i].CharacterHeight) { auto localX = x - Words[i].x; auto localY = y - Words[i].y; outputColor = Words[i].localImageBuffer[localX][localY]; } } if ((x == 2 || x == 3 ||x == 4) && y == 0) { outputColor == Yellow; } auto x = threadIdx % screenwidth; auto y = threadIdy / screenWidth;
Leave a Comment