|
Модераторы: Rickert, Alexeis, BorisVorontsov |
|
glDevAleksey001 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 7.8.2014 Репутация: нет Всего: нет |
Всем Здравствуйте !
Подскажите кто знает. Задать цвет вершине понятно, вот так ->glColorPointer А как задать толщину линии не всему буферу, а только отдельным вершинам. Есть vertex buffer допустим от 0 -100 вершин и надо задать толщину линии от 20 до 30 = 3.0f не выдергивая их в отдельный рендеринг остальные = 1.0f. вершины ВОДНОМ БУФФЕРЕ. рендеринг буфера GL.DrawElements(BeginMode.Lines, ibo.IndicesCount, DrawElementsType.UnsignedInt, new IntPtr(0)); |
|||
|
||||
tzirechnoy |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 1173 Регистрация: 30.1.2009 Репутация: 1 Всего: 16 |
Описать всё в DisplayList.
|
|||
|
||||
glDevAleksey001 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 7.8.2014 Репутация: нет Всего: нет |
Спасибо за ответ.
Не пойдёт . Я, делаю редактирование точек vertex buffer в реальном времени. Если Display list тогда нужна перекомпиляция и вот в этот момент фпс падает на пол испытано уже. И пожалуйста , поконкретнее отвечайте на мой вопрос. Меня интересует vertex buffer. |
|||
|
||||
Amp |
|
|||
Опытный Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
Рисуй линии полигонами, сглаживай шейдером. Это естественно сложнее, чем GL_LINES, но по понятным причинам в OpenGL рендеринг линий сделан "чтобы было", а не "как надо". К тому же glLineWidth помечена как deprecated в поздних стандартах.
|
|||
|
||||
glDevAleksey001 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 7.8.2014 Репутация: нет Всего: нет |
Если сделать как вы предложили то тогда
GL.DrawElements(BeginMode.Lines, ibo.IndicesCount, DrawElementsType.UnsignedInt, new IntPtr(0)); А, потом отдельным буфером GL.DrawElements(BeginMode.Triangles, ibo.IndicesCount, DrawElementsType.UnsignedInt, new IntPtr(0)); тогда придётся делать триангуляцию линии в виде billboard - а с охранением масштаба для эквивалента 1 =1.0 да кое что нашёл https://forum.libcinder.org/topic/smooth-th...geometry-shader Если кто подкинет решение буду при много благодарен. Лучше на с#, Заранее спасибо. Вдруг кто хочет присоединится к проекту. icq 678007497 http://www.youtube.com/watch?v=39wWGEXlL9g программа учитывает ФЗ РФ. Это сообщение отредактировал(а) glDevAleksey001 - 30.4.2015, 15:39 |
|||
|
||||
Amp |
|
|||
Опытный Профиль Группа: Участник Сообщений: 886 Регистрация: 17.2.2009 Репутация: 2 Всего: 17 |
По поводу рендеринга линий посмотри здесь статью https://www.mapbox.com/blog/drawing-antialiased-lines (там карты рисуются с помощью OpenGL/WEbGL) и в GPU Gems http://http.developer.nvidia.com/GPUGems2/..._chapter22.html
Но, посмотрев видео, я не понимаю зачем для такой задачи выводить линии именно с помощью OpenGL. Там линий кот наплакал или планируется, что их будет тысячи? |
|||
|
||||
glDevAleksey001 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 7.8.2014 Репутация: нет Всего: нет |
Да, вы правильно понимаете, нужно отображать множество объектов при этом с возможностью редактировать и задавать различные свойства. Такие как цвет,толщина линии, пунктир и так ...
|
|||
|
||||
Вы можете найти полезным что... | |
|
|
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |