http://en.wikipedia.org/wiki/Marching_cubes
http://www.unifycommunity.com/wiki/inde ... ingSquares
Syberex писал(а):Повезло тебе, что патент на этот алгоритм уже кончился
bwolf88 писал(а):Плюс в традиционном алгоритме есть набор EdgeTables - ребер куба, но я сколько голову ломал, так и не понял нафига нужны эти лишние 12 вычислений (по битовой маске), если в наборе треугольников и так прописаны какие ребра нужно использовать. Один раз прописал где находится каждое ребро и вычисляй. И у меня все же по логике больше похоже именно на тайлинг, поскольку я выбираю нужный вариант исходя из наличия соседних кубов, а не какого то непонятного ISOLevel.
Единственное, сейчас остался косяк, что остаются незаполненные участки на углах +/-2 по каждой из координат, при редактировании, но это опять же больше правильный алгоритм тайлинга (получается что у меня идет просчет только непоредственных соседей и нужно еще добавить на 1 ряд дальше). Если заранее их выставить, то все правильно рисуется.
bwolf88 писал(а):Тоже самое, только в 3Д. Если взять к примеру стандартный тайлинг земли текстурой - получим 16 различных вариантов тайлов - 14 со скошенными углами и 2 полный/пустой. (пример как в MapEditor что я пилил). Тут та же схема только в объеме, то есть идет отрисовка куба со скошенными углами. У куба может отсутствовать 1, 2 или 3 угла, и вариантов 254 - скошенных и 2 полный/пустой (оба не отрисовываются). Единственное отличие MC от простого 3Д тайлинга - минимально-полная фигура (ромб в объеме, не куб) рисуется не одной ячейкой, а составляется из 4-х, в каждой из которых рисуется одна сторона, но суть та же - зато уже сразу продумана схема отсечения невидимых граней .
Что мне пока остается непонятно как такие треугольники текстурить. Допустим с Marching Squares все легко - отрисовываем нужный куб в единичном масштабе и присваиваем те же координаты UV развертке. В 3Д я пока не понял как перенести это на текстуру, чтобы получилось красиво, хотя если честно я пока вообще без развертки делал, может все окажется просто .
bwolf88 писал(а):Тайлинг куба - это копирование кубов по всему пространству. Майнкрафт по сути - некрасивый вид ручного тайлинга - ставим куб - рисуем воксель (пиксель в 2Д). Алгоримт MC - это красивый автотайлинг пространства.
Если делать автотайлинг земли в 2Д - то придется использовать 16 вариантов (минимум) тайлов.
Пример подробного объяснения http://www.gamedev.ru/code/articles/?id=4208
Тут тоже самое только 256 вариантов для пространства.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4