Форум: "Media";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизDirect3D Найти похожие ветки
← →
pavia (2003-12-04 18:44) [0]Недавно начал изучать.Есть вопрос ,как создать объекты где вектора используются несколько раз.Тоесть если я создаю куб то мне нужно только 8 векторов ,но приходиться на кождом face задавать по 4 векторо и того получаем 4*6=24.Вопрос в следующим как задать грани куба используя только 8 векторов.Необезательно куб ,любой другого объекта.
PS Не подскажете хороший учебник(статью) в электронном виде.
← →
Sapersky © (2003-12-05 11:03) [1]Использовать индексированные примитивы. Т.е. имеется буфер вершин (векторов), вершины в произвольном порядке; и к нему буфер индексов, в котором описываются треугольники по номерам вершин - например, для квадрата из двух треугольников (спрайта или ещё чего):
вершины: (0,0,0); (1,0,0); (1,1,0); (0,1,0);
индексы: (0,1,2); (0,2,3);
Пример не совсем удачный (но простой), в данном случае экономии никакой нет. На кубе, если считать размер вершины 32 байта и выводить одним вызовом:
просто список треугольников - 6*6*32 = 1152
индексами - 8*32+6*6*2 = 328 (индекс - это Word, 2 байта)
Модели в играх только индексами и задаются - иначе никакого GeForce"а не хватит.
Рисуются они DrawIndexedPrimitive.
Подробнее некогда объяснять - поищи по "DrawIndexedPrimitive", "index buffer"... можно на GameDev.ru посмотреть.
← →
pavia (2003-12-05 19:55) [2]To Sapersky
Спасибо.
← →
pavia (2003-12-06 17:55) [3]Как в DelphiX ,в примерах убрать прозрачность?
← →
pavia (2003-12-07 14:48) [4]Как убрать полупрозрачность у сетки(mesh)?
← →
Sapersky © (2003-12-08 11:45) [5]А, так это про DelphiX (т.е. Direct3D RM) было... Предупреждать надо.
Тогда DrawIndexedPrimitive отменяется. Наверное, что-то есть и в RM, AddFaces, AddTriangles можно посмотреть... но самое простое - создать текстовый X-файл (для куба можно вручную, в блокноте) и загрузить его. Посмотри примеры, которые имеются в комплекте. Пишется в общем так, как я описал - т.е. список вершин и список граней (задаваемых номерами вершин).
Относительно прозрачности - присвоить meshbuilder"у непрозрачный цвет или материал (не помню что конкретно в RM задаётся). Цвет - это вроде запись ARGB - поставить A=1.
← →
pavia (2003-12-08 18:54) [6]С AddFaces, AddTriangles. Я уже разобрался.А вот прозрачность до конца убить не удается.
А кто нибудь может привесть пример иницилизации DirectDraw c Direct3D для заголовочных фаилов DirectX8(Не DelpiX).
← →
Sapersky © (2003-12-09 12:10) [7]В DX8 DirectDraw как такового нет (в заголовках DirectDraw.pas идёт от 7-го). Можно инициализировать либо Direct3D8, либо DirectDraw и Direct3D7. Примеры того и другого вроде везде валяются, хоть на DelphiGFX (вверху ссылка), хоть ещё где. По DirectDraw можно посмотреть прямо в DelphiX :)
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c