bool TriangulationCDTWindow::OnCharPress(unsigned char key, int x, int y) { switch (key) { case '0': UnindexedSimplePolygon(); OnDisplay(); return true; case '1': IndexedSimplePolygon(); OnDisplay(); return true; case '2': OneNestedPolygon(); OnDisplay(); return true; case '3': TwoNestedPolygons(); OnDisplay(); return true; case '4': TreeOfNestedPolygons(); OnDisplay(); return true; } return Window::OnCharPress(key, x, y); }
bool TriangulationECWindow::OnCharPress(unsigned char key, int x, int y) { switch (key) { case '0': UnindexedSimplePolygon(); OnDisplay(); return true; case '1': IndexedSimplePolygon(); OnDisplay(); return true; case '2': OneNestedPolygon(); OnDisplay(); return true; case '3': TwoNestedPolygons(); OnDisplay(); return true; case '4': TreeOfNestedPolygons(); OnDisplay(); return true; case '5': FourBoxesThreeNested(0, 1, 2); OnDisplay(); return true; case '6': FourBoxesThreeNested(0, 2, 1); OnDisplay(); return true; case '7': FourBoxesThreeNested(1, 0, 2); OnDisplay(); return true; case '8': FourBoxesThreeNested(1, 2, 0); OnDisplay(); return true; case '9': FourBoxesThreeNested(2, 0, 1); OnDisplay(); return true; case 'a': case 'A': FourBoxesThreeNested(2, 1, 0); OnDisplay(); return true; } return Window::OnCharPress(key, x, y); }
TriangulationCDTWindow::TriangulationCDTWindow(Parameters& parameters) : Window(parameters) { mScreen = std::make_shared<Texture2>(DF_R8G8B8A8_UNORM, mXSize, mYSize); mScreen->SetUsage(Resource::DYNAMIC_UPDATE); memset(mScreen->GetData(), 0xFF, mScreen->GetNumBytes()); mScreenTexels = mScreen->Get<unsigned int>(); mOverlay = std::make_shared<OverlayEffect>(mProgramFactory, mXSize, mYSize, mXSize, mYSize, SamplerState::MIN_P_MAG_P_MIP_P, SamplerState::CLAMP, SamplerState::CLAMP, true); mOverlay->SetTexture(mScreen); UnindexedSimplePolygon(); }
TriangulationECWindow::TriangulationECWindow(Parameters& parameters) : Window(parameters), mTree(nullptr), mExample(0), mColor(0xFF000000), mBlack(0xFF000000), mBlue(0xFFFF8000), mWhite(0xFFFFFFFF) { mScreenTexture = std::make_unique<Texture2>(DF_R8G8B8A8_UNORM, mXSize, mYSize); mScreenTexture->SetUsage(Resource::DYNAMIC_UPDATE); memset(mScreenTexture->GetData(), 0xFF, mScreenTexture->GetNumBytes()); mScreenTexels = mScreenTexture->Get<unsigned int>(); mOverlay = std::make_shared<OverlayEffect>(mProgramFactory, mXSize, mYSize, mXSize, mYSize, SamplerState::MIN_P_MAG_P_MIP_P, SamplerState::CLAMP, SamplerState::CLAMP, true); mOverlay->SetTexture(mScreenTexture); UnindexedSimplePolygon(); }