![]() |
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]() ![]() ![]() |
|
Mastkir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 11.5.2006 Репутация: нет Всего: нет |
Подскажите, как можно нарисовать штрих - линию средствами DirectX ? Чтобы она была такой: прозрачный штрих, черный штрих, прозрачный, черный, ...и т.д. Я пытался сделать так: линия(кривая), которую следует отобразаить в виде штрих - линии, мне задана в виде набора точек. По этому набору я заполнял массив VertexDif, содержащий D3DXVECTOR4 и D3DCOLOR. Затем вызывал device->DrawPrimitiveUP(D3DPT_LINESTRIP, count - 1, buf, sizeof(VertexDif)); Однако, правильное заполнение массива оказалось очень трудоемкой задачей (т.к. расстояния между первоначальным набором точек могут значительно отличаться друг от друга). Как можно нарисовать штрих - линию более простым способом? Спасибо ![]() |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
||||
|
||||
Mastkir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 11.5.2006 Репутация: нет Всего: нет |
ID3DXLine позволяет рисовать только сплошные линии - или я не прав?
![]() А мне нужна штрих - линия. |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
DirectX SDK Doc
HRESULT SetPattern(DWORD dwPattern); Parameters: dwPattern Describes the stipple pattern: 1 is opaque, 0 is transparent. |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
|
|||
|
||||
Mastkir |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 11.5.2006 Репутация: нет Всего: нет |
Попробовал способ, предложенный NOT, однако он оказался крайне тормозной - просто очень-очень. Кроме того, отображаемая линия в результате оказалась не черно - прозрачной, а бело прозрачной, причем слишком толстой, а сами штрихи почему-то идут через неравные промежутки и они слишком короткие. Короче, она не похожа на штрих линию. Может, я что-то не так сделал ? И есть ли еще варианты рисования штрих-линий? |
|||
|
||||
NOT |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 18.6.2005 Где: UA::CK Репутация: нет Всего: нет |
Ты все не так сделал, ты не читал документацию, ты не знаешь, как поменять цвет, ты хочешь выучить DirectX задавая вопросы на форуме вместо того, чтоб искать и читать инфу. DX SDK Documnetation в руки и читать, читать, читать.
|
|||
|
||||
Mastkir |
|
||||||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 11.5.2006 Репутация: нет Всего: нет |
Для NOT:
Безусловно, вы знаете, что я читал, а что - нет.
Я не очень понимаю, к чему это вы написали - я просто хотел сказать, что у меня даже после сильного редактирования вашего примера, не получилось сделать нормальную штрих-линию. А вообще цвет менять - это просто изменить D3DCOLOR_XRGB(255,255,255)) на какой-то другой. Возможно, существуют другие способы изменения цвета, не знакомые мне, но которые вы знаете? Тогда вы оказались правы - я не знаю, как менять цвет.
Действительно, у меня уже два(три?) сообщения на этом форуме, конечно, я хочу выучить DirectX задавая вопросы на форуме.
Безусловно! Спасибо, что открыли мне глаза на это. ![]() Я исправлю свою ошибку, и данным форумом пользоваться больше не буду (а то еще выучу DirectX, задавая вопросы на этом форуме).
Именно этим я и займусь - конечно, там обязательно будет написано, какие методы рисования штрих-линий быстрее, и почему. И как избавится от тормозов, если использовать ID3DXLine. P.S. Мне кажется, вы потратили слишком много времени и усилий, отвечая на мои ламерские вопросы. Прошу меня извинить за это. Я бы добавил вам бал, чтобы поднять ваш рейтинг и хоть как-то отблагодарить вас - но к сожалению, у меня слишком мало сообщений для этого. |
||||||||||
|
|||||||||||
![]() ![]() ![]() |
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |