Форум: "Media";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
ВнизСамопальный рендер на канве Найти похожие ветки
← →
Pa5ha (2004-07-03 01:23) [0]Хочу написать 3д движок для своих нужд, общего развития и вообще просто организм требует. Пока есть такие проблеммы:
1. Как накласть текстуру?
2. Как сделать отсечение (одной передней плоскости думаю хватит)?
3. Как сделать ZBuffer?
Просьба на примеры не посылать и ф1 не предлагать. Меня интересует не реализация, а принципы и желательно словами (кому лень писать, но у кого есть, что сказать можно оч. коротко).
Спасибо всем заранее.
← →
pavia (2004-07-03 20:42) [1]Где-то видел все что тебе нужно.Но не нашел.
X,Y координаты экранный. Z уходит в глубь монитора.
3. ZBuffer-это легко.Что из себя представляет ZBuffer?Ответ мосив размером с облость вывода.Каждое значение элемента это координата Z для данного пикселя. Если пиксель, который мы выводим лежит ближе. тое его координата Z меньше чем та которая лежит в Zбуфере то мы заносем его в Zbuffer, а пиксель ресуем.Иначе нет.
2.Как сделать осечение?Есть разные методы.Несовсем понял коментария.Не выводить пиксели у которых Z меньше 0.
Фракталы(Один из методов отсечения).Отсечение завис от задачи.
1.Текстуирование тоже есть разные методы.Сейчас ни один не помню.
Алгоритм художника.
Позволяет быстро не используя Zбуфера.Вывести фигуры.Но он работает не для всех фигур.
← →
pavia (2004-07-03 21:07) [2]Ошибся не Фракталы ,а порталы.Еще про отсечение. Выодим только правельные триугольники.(Правельным считается триугольник с вершинами расположеными против часовой стрелке).Это делаеться для того чтобы не рисовать то ,что мы не видем.Пример задняя стенка кубика.
← →
pavia (2004-07-03 21:09) [3]Ищи demo.design 3D programming FAQ там есть все.
← →
Pa5ha (2004-07-04 13:57) [4]pavia, спасибо. Пошукаю. нЕкоторые пояснения:
1. допустим у меня есть три точки (X,Y) - проекции (X,Y,Z) на экран и для каждой (U,V). Как лучше нарисовать треугольник (ну не полигоны же юзать) и как для каждой точки треугольника найти соотв точку текстуры?
2. в ДХ и в ГЛ есть передняя и задняя отсекающая плоскости, чтоб сократить количество рисуемых объектов и соотв. объем вычислений.
Так вот, я при проецировании использую правило подобия треугольников и когда точка в пространстве находиться за плокостью глаза наблюдателя, её проекция считается неправильно (и вообще такую точку отображать нельзя). Я рисую только треугольниками. Когда две вершины из трех за этой плоскостью, то все в порядке, после отсечения получается треугольник. А если одна вершина, то получается четырехугольник, что не есть гуд.
Или как тогда считать Z каждой точки треугольника?
3. про Z-Buffer я все знаю. Вопрос: известно три точки,(X,Y,Z)-координаты каждой точки в 3д. Как лучше нарисовать этот треугольник и для каждого пиксела на холсте посчитать Z координату?
← →
Pa5ha (2004-07-04 15:08) [5]pavia, спасибо, что послал на фак. Там стоко всего полезного... Я в диком восторге. Уже почти все, что хотел нашел.
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.09.26;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.03 c