То, что вы ищете, называется мультитекстурирование . Современные видеокарты имеют несколько текстурных блоков, каждый из которых может выбирать различные текстуры. Когда вы визуализируете свой камень, вы указываете вершины, которые имеют UV-координаты для каждой текстуры, которую вы хотите визуализировать.
В OpenGL вы можете использовать glActiveTexture
до , выбрать вашу активную текстурную единицу, чтобы вы могли привязать текстуру к ней и использовать ее в последующем рендеринге. Вашим вершинам понадобятся дополнительные пары координат текстуры; одна пара на текстуру, которую вы намереваетесь визуализировать.
Современный способ создания мультитекстурирования - использование шейдеров (обычно GLSL в OpenGL). Загрузите и свяжите каждую текстуру с различным модулем текстуры, установите унифицированную форму шейдера на значение используемых вами блоков текстуры (0 для блока текстуры 0 и т. Д.), Сэмплируйте каждую текстуру и смешайте, используя желаемую функцию смешивания, чтобы получить выходные данные. цвет.