про индекс буфер
От: Keysalg1  
Дата: 23.02.02 19:26
Оценка:
у меня в вертекс буфере 3 фигуры вот далее будет строка которая выводит их все три
но вот вывести по отдельности не получается

lpD3DD->DrawIndexedPrimitive( D3DPT_TRIANGLELIST,0, 588+49+127,0,960+72+216);

может кто знает ?
Re: про индекс буфер
От: Snax Россия  
Дата: 25.02.02 04:52
Оценка:
Здравствуйте Keysalg1, Вы писали:

K>но вот вывести по отдельности не получается

lpD3DD->>DrawIndexedPrimitive( D3DPT_TRIANGLELIST,0, 588+49+127,0,960+72+216);

Напиши сюда, как ты пытаешься вывести их по-отделности. То, что ты запостил
сюда код, который работает, конечно хорошо, но ты бы еще добивил то, про что
и спрашиваешь.
Re[2]: про индекс буфер
От: Keysalg1  
Дата: 25.02.02 09:39
Оценка:
Здравствуйте Snax, Вы писали:

S>Здравствуйте Keysalg1, Вы писали:


K>>но вот вывести по отдельности не получается

lpD3DD->>>DrawIndexedPrimitive( D3DPT_TRIANGLELIST,0, 588+49+127,0,960+72+216);

S>Напиши сюда, как ты пытаешься вывести их по-отделности. То, что ты запостил

S>сюда код, который работает, конечно хорошо, но ты бы еще добивил то, про что
S>и спрашиваешь.

ну вот например:

вершины для трех фигур 588,49,127
индексы для трех фигур 960,72,216
DrawIndexedPrimitive( D3DPT_TRIANGLELIST,588, 49+127,0,72+216);
ну или
DrawIndexedPrimitive( D3DPT_TRIANGLELIST,0, 588+49+127,960,72+216);

короче в первом случае вообще reboot
а во втором выводит ту жу первую фигуру , частично
как я понял из SDK так и сделал
если знаешь напиши как ты бы сделал а не как у меня не получается !
Re[3]: про индекс буфер
От: Snax Россия  
Дата: 25.02.02 11:02
Оценка:
Здравствуйте Keysalg1, Вы писали:
K>вершины для трех фигур 588,49,127
K>индексы для трех фигур 960,72,216

Хм... Т.е. у тебя первая фирура 588 вершин и 960 инвексов?

K>DrawIndexedPrimitive( D3DPT_TRIANGLELIST,0, 588+49+127,960,72+216);


Ну почти так. Только на 3 подели последний параметр и должен увидеть 2 и 3 фигуру.
Последний параметр это не количество индексов, а количество примитивов (треугольников)
и в случае с D3DPT_TRIANGLELIST просто следует делить на 3.
Re[4]: про индекс буфер
От: Keysalg1  
Дата: 25.02.02 11:20
Оценка:
Здравствуйте Snax, Вы писали:

S>Здравствуйте Keysalg1, Вы писали:

K>>вершины для трех фигур 588,49,127
K>>индексы для трех фигур 960,72,216

S>Хм... Т.е. у тебя первая фирура 588 вершин и 960 инвексов?


K>>DrawIndexedPrimitive( D3DPT_TRIANGLELIST,0, 588+49+127,960,72+216);


S>Ну почти так. Только на 3 подели последний параметр и должен увидеть 2 и 3 фигуру.

S>Последний параметр это не количество индексов, а количество примитивов (треугольников)
S>и в случае с D3DPT_TRIANGLELIST просто следует делить на 3.


Я тоже думал , что по логике вещей так и должно быть но только 960,72,216
это уже количество примитивов (во первых) а во вторых именно так и неработает ...
Re[5]: про индекс буфер
От: Snax Россия  
Дата: 25.02.02 11:26
Оценка:
Здравствуйте Keysalg1, Вы писали:

K>это уже количество примитивов (во первых) а во вторых именно так и неработает ...

Ну тогда у тебя неправильно задан предпоследний параметр. Его, стало быть,
нужно на 3 умножить. Он в индексах а не примитивах.
Re[6]: про индекс буфер
От: Keysalg1  
Дата: 25.02.02 11:45
Оценка:
Здравствуйте Snax, Вы писали:

S>Здравствуйте Keysalg1, Вы писали:


K>>это уже количество примитивов (во первых) а во вторых именно так и неработает ...

S>Ну тогда у тебя неправильно задан предпоследний параметр. Его, стало быть,
S>нужно на 3 умножить. Он в индексах а не примитивах.


для внесения ясности ...

у меня есть vertex buffer в котором по очереди записано 588,49,127
вершин соответственно для первой , второй , третей фигуры ....

и есть index buffer, в котором по очереди записаны индексы 960,72,216

960 это количество примитивов (когда создавал индекс буфер то (960+72+216)*3*sizeof(WORD)
так вот эта строка выводит сцену из трех фигур :
lpD3DD->DrawIndexedPrimitive( D3DPT_TRIANGLELIST,
0, 588+49+127,0,960+72+216);

если написать так :
lpD3DD->DrawIndexedPrimitive( D3DPT_TRIANGLELIST,
0, 588+49+127,960,72+216);
то выводится опять таки первая фигура но только не полностью т.е.
предпоследний параметр почемуто не играет роли т.е. если в последнюю строку подставить
в предпоследний параметр 0 или 960 ничего не меняется ...



если ты знаешь как делать напиши ....
Re[6]: про индекс буфер
От: Keysalg1  
Дата: 25.02.02 12:20
Оценка:
Здравствуйте Snax, Вы писали:

S>Здравствуйте Keysalg1, Вы писали:


K>>это уже количество примитивов (во первых) а во вторых именно так и неработает ...

S>Ну тогда у тебя неправильно задан предпоследний параметр. Его, стало быть,
S>нужно на 3 умножить. Он в индексах а не примитивах.


Можно не продолжать , спасибо ... сам догадался , просто опять торможу

....P.S. просто на самом деле была разница ... вернее ошибка в том , что
предпоследний параметр в индексах а последний в примитивах
спасибо , ведь читал же , переводил этот хренов Dx Help ,,???

удачи ...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.