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

Вниз

DirectX - 2D   Найти похожие ветки 

 
maxProg ©   (2007-01-24 19:29) [0]

Допустим у меня на экране картинка (два треугольника, а на них текстура), и эта картинка бегает по экрану. Это значит, мне придётся каждый раз заполнять буфер по новой, или есть другой способ перемещать эту картинку?


 
DevilDevil ©   (2007-01-24 19:43) [1]

Меня тоже бесит донельзя, что в DirectX нет простых функций типа НарисоватьПрямоугольник();

P.S. сорри, что не ответил на вопрос
P.P.S. мне кстати тоде интересно
P.P.P.S.
 Как вариант:

1)создать один большой буффер вершин для всех твоих прямоугольников

2) OnProcess:
   LockVertexBuffer()
   изменить все координать нужных тебе прямоугольников
   UnLockVertexBuffer()

   LockIndexBuffer()
   установить индексы тех прямоугольников, которые ты рисуешь
   UnLockIndexBuffer()

3) Render()


 
@!!ex ©   (2007-01-24 20:01) [2]

Заполнение буффера не проигрывает по скорости сильно использованию glBegin(GL_TRIANGLES); glEnd();
Поэтому можешь спокойно писать свою функцию рисования квада через заполнение буфера.


 
Sapersky   (2007-01-25 13:36) [3]

Меня тоже бесит донельзя, что в DirectX нет простых функций типа НарисоватьПрямоугольник

НарисоватьТреугольник(и) - DrawPrimitiveUP.
В DX9 есть и прямоугольник - StretchRect, кажется.


 
Cash ©   (2007-01-26 10:53) [4]

(о DrawPrimitiveUP)
DPUP - никогда не юзайте это для большой перерисовки, такая нагрузка
на камень идет, просто офигеть, с буфером быстрее. Но если надо вывести
один или два полигона, то тогда быстрее будет DPUP чем буфер.


 
A22 ©   (2007-01-26 18:41) [5]

вообще можно матрицами двигать, чистое 2D удобно разве что при необходимости пиксель-в-пиксель рисовать.

хотя, если правильно настроить матрицы вида и проекции, тоже не должно быть проблем


 
Мистер Т   (2007-01-27 14:45) [6]

A22 ©
Одно "но", матрицы будут работать только если в FVF флагах не стоит RHW.


 
Cash ©   (2007-01-27 20:56) [7]

Мистер Т   (27.01.07 14:45) [6]:
угу, эт точно, ортогональ тогда ставить и дескриптор XYZ в вершины.
Тогда SetTransform и MultiplyTransform рулить будут :)



Страницы: 1 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.019 c
15-1206401988
Поп Гапон
2008-03-25 02:39
2008.05.11
Перегнать строку в Unicode, зная ее LangID


2-1207910646
webpauk
2008-04-11 14:44
2008.05.11
Pointer & array


2-1208267267
assassin8899
2008-04-15 17:47
2008.05.11
AdoQuery и AdoTable


15-1206471007
Informer
2008-03-25 21:50
2008.05.11
А в чем смысл?


3-1196078709
Тимур
2007-11-26 15:05
2008.05.11
SQL.ADD выдает ошибку