Некая прелюдия. Занялся тут volume ray casting'ом, написал простые и более-менее шустрые демки для рендеринга ландшафтов по карте высот с билинейной фильтрацией, статическим освешением и прочей фигнёй.
Руководствовался этим:
http://www.flipcode.com/archives/Realtime_Voxel_Landscape_Engines-Part_2_Rend...
Вся эта фигня у меня тут (миры 512x512):
http://shamazvoxels.blogspot.com/
Решил таки заняться рендерингом полностью 3d мира. Вот пример, где рисуются конусы (мир 32x32x32) http://pastebin.com/yvaqqW9p
Технология там та же самая, но есть отличия:
В мире с ландшафтом я отрисовываю сцену «передом назад» (начиная с точки, близкой к камере, и заканчивая дальней), при этом задние объекты, если они хоть частично перекрываются передними, рисую так же частично. Рисую я столбиком от низа экрана до некоей точки. В этом мне помогает массив по экранной координате x, элементами которого являются координаты y самых высоких уже нарисованных объектов.
Чтобы узнать, загораживается ли рисуемый объект уже нарисованными впереди я сравниваю верхнюю координату столбика с координатой из массива и рисую разность, вот наглядная картинка:
http://img696.imageshack.us/img696/4358/ybuffer.gif
В случае полноценного 3d мира, я рисую не столбиками от начала экрана, а отрезками, что усложняет нахождение перекрытий. Хочу от тебя, умный ЛОРовец, узнать, как найти разность отрезка, который предстоит нарисовать, с множеством тех, которые уже нарисованы без особых затрат (так чтобы это было быстрее отрисовки back-to-front, как я делаю сейчас).
Вот поясняющая картинка того, как происходит отрисовка:
http://img822.imageshack.us/img822/5153/explanation.jpg
Статьи по несложному volume ray casting'у тоже приветствуются
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Zorn
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Zorn
Ответ на:
комментарий
от anonymous
Ответ на:
комментарий
от Zorn
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум BASH: разность разделить на разность (2006)
- Форум Разность двух дат (2011)
- Форум Найти нужные строки во множестве документов (2020)
- Форум Множества (2005)
- Форум [bash] разность двух файлов (2009)
- Форум Множество time_WAIT (2022)
- Форум [математика, множества] (2010)
- Форум Разбиение множества (2010)
- Форум Пересечение множеств (2008)
- Форум Утилита получения бинарной разности файлов (2005)