Наверное, многие хоть раз в жизни писали эмулятор игры «жизнь».
Я вот не писал, но частота появления на Хабре топиков про жизнь так и подмывает когда-нибудь, наконец, это сделать. Подозреваю и не только меня.
да, чуть не запустил уже Eclipse, тока лень стало, позже, может, замучу.
А в универе я делал на c++ такую штуку. Не вспомнил, правда, каким способом, но когда читал условие, сразу мысль про двумерный массив двумерных массивов пришла, — видимо, этим.
достаточно одного трёхмерного — точнее двух двухмерных: первый слой = ситуация, второй слой = счётчик соседей. затем со счётчика соседей обновляем слой ситуации.
Шейдеры компилятся драйвером видеокарты, нужны только библиотеки для работы с OpenGL,SDL, ну и видеокарта, поддерживающая шейдеры, с установленными драйверами
Действительно замечательное упражнение для изучения языка. Хотя сам алгоритм игры жизнь вы сделали не оптимально. Любые ветвления в коде шейдера — потеря производительности. Можно заменить все ветвления хеш-таблицей. Всего существует 16 вариантов состояния клетки и её окружения. Это совсем немного. Это ещё и неплохое упражнение и в новом языке, и вообще в программинге.
Эмулятор игры «жизнь» на языке GLSL