Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

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 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.083 c
3-1079064110
Виктор
2004-03-12 07:01
2004.04.11
как просуммировать по столбцам в DBGrid,


14-1079055644
Soft
2004-03-12 04:40
2004.04.11
Способы тихого и болезненного умервщления Свидетелей Иеговых.


1-1082454748
avgur
2004-04-20 13:52
2004.04.11
Ввод пароля для основной программы


3-1081444607
YurikGl
2004-04-08 21:16
2004.04.11
Проблемы с распространением DbExpress


3-1081937354
Hazg
2004-04-14 14:09
2004.04.11
Создание просмотров (Create View .. As Select ...)